تحويل مصفوفة بايت إلى pdf في c#


أعزائي،

أحتاج إلى بعض المساعدة في تحويل مصفوفة بايت “التي جاءت من قاعدة البيانات” إلى pdf. هل يمكن لأحد أن يعطيني مثالاً على كيفية استخدام C#؟ وهنا ما لدي حتى الآن،

using System.IO;

string sFile = "c:\testpdf.pdf"; //Path
FileStream fs = File.Create(sFile);
BinaryWriter bw = new BinaryWriter(fs); 

ولقد استخدمت هذا لتحويل ملف Pdf إلى صفيف بايت:

FileUpload1.SaveAs(filePathName);
byte[] picArray= System.IO.File.ReadAllBytes(filePathName);

شكرا لك مقدما،

الحل 1

يبدو أنك تحاول كتابة مجموعة بايت من قاعدة بيانات إلى ملف: لماذا يسبب لك هذا مشاكل؟ إذا كان لديك البايتات، فقط اكتبها:

File.WriteAllBytes(@"C:\testpdf.pdf", myArrayOfBytes);

(يجب أن تدرك أن هذا من المحتمل أن يفشل – غالبًا ما تمنع مشكلات الأذونات الكتابة إلى الدليل الجذر لمحرك الأقراص الثابتة – حاول استخدام دليل فرعي بدلاً من ذلك)

الحل 2

Response.Clear(); 
MemoryStream ms = new MemoryStream(pdfBytearray); 
Response.ContentType = "application/pdf"; 
Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf"); 
Response.Buffer = true; 
ms.WriteTo(Response.OutputStream); 
Response.End(); 

الحل 3

إذا كان مصفوفة بايت، فيمكنك كتابتها على القرص بحيث يتم حفظها كملف *pdf.
أو
إما، يمكنك كتابة البايتات إلى دفق إخراج الاستجابة وسيُطلب من المستخدم تنزيل الملف وحفظه.

Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "inline;filename=data.pdf");
Response.BufferOutput = true;
byte[] pdf;
Response.AddHeader("Content-Length", response.Length.ToString());
Response.BinaryWrite(pdf);
Response.End();

هل يمكنك من فضلك إلقاء نظرة على هذا الرمز. لقد حصلت عليه من الرابط أدناه.

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/6810a67f-66d9-4ce4-87e5-06dbbb754730/[^]

ارجوا ان يساعدك هذا.

コメント

タイトルとURLをコピーしました