C# تحويل صفيف بايت ملف PDF

صفيف البايت مفيد لتخزين أو نقل البيانات. وبالمثل ، فإن تنسيق ملف PDF شائع بسبب ميزاته وتوافقه. يمكنك تحويل ملف PDF إلى مصفوفة بايت بالإضافة إلى مصفوفة بايت إلى ملف PDF باستخدام لغة C#. يمكن أن يساعدك ذلك في تخزين ملفات PDF وأرشفتها في قاعدة البيانات بشكل أكثر كفاءة. يمكنك أيضًا إجراء تسلسل للبيانات من خلال العمل مع Byte Array. دعونا نستكشف قابلية التحويل البيني لهذه التنسيقات.

ملف PDF إلى صفيف بايت وصفيف البايت لتحويل ملف PDF - تثبيت API

Aspose.PDF for .NET تقدم API الكثير من الميزات للعمل مع مستندات PDF. يمكنك إنشاء ملفات PDF أو تحريرها أو معالجتها أو تحويلها باستخدام استدعاءات API بسيطة وسهلة. لتحويل ملفات PDF إلى Byte Array أو العكس ، تحتاج إلى تثبيت API إما عن طريق تنزيلها من الموقع الرسمي ، أو من معرض NuGet باستخدام أمر التثبيت أدناه في Visual Studio IDE.

PM> Install-Package Aspose.Pdf

تحويل ملف PDF إلى صفيف بايت باستخدام C#

يمكنك تحويل PDF إلى Byte Array لنقله أو تخزينه لمزيد من المعالجة. على سبيل المثال ، قد تحتاج إلى إجراء تسلسل لمستند PDF ثم تحويله إلى مصفوفة بايت يمكن أن يساعدك. تحتاج إلى اتباع الخطوات أدناه لتحويل PDF إلى مصفوفة بايت:

  1. قم بتحميل ملف PDF للإدخال
  2. تهيئة صفيف بايت
  3. تهيئة كائن FileStream
  4. قم بتحميل محتويات الملف في صفيف البايت

بعد اتباع كل هذه الخطوات ، يمكنك الآن معالجة ملف PDF في شكل مصفوفة بايت. على سبيل المثال ، يمكنك تمريره إلى وظيفة أخرى مثل المثال أدناه.

يوضح الكود التالي كيفية تحويل ملف PDF إلى مصفوفة بايت باستخدام C# حيث يتم تمرير ByteArray الناتج إلى طريقة لتحويل ملف الإدخال إلى صور:

dataDir = @"D:\Test\";

// قم بتحميل ملف PDF للإدخال
string inputFile = dataDir + @"testpdf.pdf";

// تهيئة مصفوفة بايت
byte[] buff = null;

// تهيئة كائن FileStream
FileStream fs = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(inputFile).Length;

// قم بتحميل محتويات الملف في صفيف البايت
buff = br.ReadBytes((int) numBytes);
fs.Close();

// العمل مع ملف PDF في صفيف بايت
ConvertPDFToJPEG(buff, 300, dataDir);


public static void ConvertPDFToJPEG(Byte[] PDFBlob, int resolution, string dataDir)
{
    // افتح المستند
    using (MemoryStream InputStream = new MemoryStream(PDFBlob))
    {
        Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(InputStream);

       for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
        {

            using (FileStream imageStream = new FileStream(dataDir + "image" + pageCount + "_out" + ".jpg", FileMode.Create))
            {
                // إنشاء جهاز JPEG بسمات محددة
                // العرض ، الارتفاع ، الدقة ، الجودة
                // الجودة [0-100] ، 100 هي الحد الأقصى
                // إنشاء كائن القرار

                Aspose.Pdf.Devices.Resolution res = new Aspose.Pdf.Devices.Resolution(resolution);
                // JpegDevice jpegDevice = جديد JpegDevice (500 ، 700 ، القرار ، 100) ؛

                // أضاف ما يلي لتحديد ما إذا كان المناظر الطبيعية أم لا
                Int32 height, width = 0;

                PdfFileInfo info = new PdfFileInfo(pdfDocument);
                width = Convert.ToInt32(info.GetPageWidth(pdfDocument.Pages[pageCount].Number));
                height = Convert.ToInt32(info.GetPageHeight(pdfDocument.Pages[pageCount].Number));


                Aspose.Pdf.Devices.JpegDevice jpegDevice =
                //جديد Aspose.Pdf.Devices.JpegDevice (Aspose.Pdf.PageSize.A4، res، 100) ؛
                new Aspose.Pdf.Devices.JpegDevice(width, height, res, 100);
                // قم بتحويل صفحة معينة وحفظ الصورة للدفق

                //Aspose.Pdf.PageSize.A4.IsLandscape = صحيح ؛
                jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
                // إغلاق الدفق
                imageStream.Close();
            }
        }
    }
}

تحويل مصفوفة بايت إلى ملف PDF باستخدام C#

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

  1. تحميل ملف الإدخال
  2. تهيئة مجموعة البايت
  3. تحميل صورة الإدخال في صفيف بايت
  4. تهيئة مثيل لفئة Document
  5. أضف صورة على صفحة PDF
  6. حفظ ملف PDF الناتج

يشرح الكود التالي كيفية تحويل Byte Array إلى PDF File برمجيًا باستخدام C#:

// تحميل ملف الإدخال
string inputFile = dataDir + @"Test.PNG";

// تهيئة مجموعة البايت
byte[] buff = null;
FileStream fs = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(inputFile).Length;

// تحميل صورة الإدخال في صفيف بايت
buff = br.ReadBytes((int)numBytes);


Document doc = new Document();
// إضافة صفحة إلى مجموعة الصفحات من الوثيقة
Page page = doc.Pages.Add();
// قم بتحميل ملف الصورة المصدر إلى كائن البث
MemoryStream outstream = new MemoryStream();
MemoryStream mystream = new MemoryStream(buff);
// إنشاء كائن BitMap مع دفق الصور المحمّل
Bitmap b = new Bitmap(mystream);

// قم بتعيين الهوامش بحيث تناسب الصورة ، وما إلى ذلك.
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;

page.CropBox = new Aspose.Pdf.Rectangle(0, 0, b.Width, b.Height);
// قم بإنشاء كائن صورة
Aspose.Pdf.Image image1 = new Aspose.Pdf.Image();
// أضف الصورة إلى مجموعة فقرات القسم
page.Paragraphs.Add(image1);
// تعيين دفق ملف الصورة
image1.ImageStream = mystream;

// حفظ ملف PDF الناتج
doc.Save(outstream, SaveFormat.Pdf);
//doc.Save (dataDir + "outstream.pdf"، SaveFormat.Pdf) ؛

// أغلق memoryStream الكائن
mystream.Close();

استنتاج

في هذه المقالة ، اكتشفنا كيفية تحويل PDF File إلى Byte Array وكذلك Byte Array إلى PDF File باستخدام لغة البرمجة C#. إذا كنت مهتمًا بمزيد من العمل مع ملف PDF ، فيرجى مشاركة متطلباتك معنا عبر منتدى الدعم المجاني. علاوة على ذلك ، يمكنك أيضًا استكشاف وثائق API و مراجع API لتحليل متعمق للميزات التي تقدمها API. نحن نتطلع إلى التواصل معك!

أنظر أيضا