C# แปลงไฟล์ PDF อาร์เรย์ไบต์

Byte Array มีประโยชน์สำหรับการจัดเก็บหรือส่งข้อมูล ในทำนองเดียวกัน รูปแบบไฟล์ PDF ก็เป็นที่นิยมเนื่องจากคุณสมบัติและความเข้ากันได้ คุณสามารถแปลงไฟล์ PDF เป็น Byte Array และ Byte Array เป็นไฟล์ PDF โดยใช้ภาษา C# ซึ่งจะช่วยให้คุณจัดเก็บและเก็บถาวรไฟล์ PDF ในฐานข้อมูลได้อย่างมีประสิทธิภาพมากขึ้น คุณยังสามารถทำให้ข้อมูลเป็นอนุกรมได้โดยทำงานกับ Byte Array ให้เราสำรวจการแปลงระหว่างรูปแบบเหล่านี้

ไฟล์ PDF เป็น Byte Array และ Byte Array เป็นการแปลงไฟล์ PDF – การติดตั้ง API

Aspose.PDF for .NET API มีคุณสมบัติมากมายสำหรับการทำงานกับเอกสาร PDF คุณสามารถสร้าง แก้ไข จัดการ หรือแปลงไฟล์ PDF ด้วยการเรียก API ที่ง่ายและสะดวก สำหรับการแปลงไฟล์ PDF เป็น Byte Array หรือกลับกัน คุณต้องติดตั้ง API โดยดาวน์โหลดจาก เว็บไซต์อย่างเป็นทางการ หรือจากแกลเลอรี NuGet โดยใช้คำสั่งการติดตั้งด้านล่างใน Visual Studio IDE

PM> Install-Package Aspose.Pdf

แปลงไฟล์ PDF เป็น Byte Array โดยใช้ C#

คุณสามารถแปลง PDF เป็น Byte Array เพื่อส่งหรือจัดเก็บสำหรับการประมวลผลเพิ่มเติม ตัวอย่างเช่น คุณอาจต้องทำให้เอกสาร PDF เป็นอนุกรม จากนั้นแปลงเป็นอาร์เรย์แบบไบต์สามารถช่วยได้ คุณต้องทำตามขั้นตอนด้านล่างเพื่อแปลง PDF เป็นอาร์เรย์ไบต์:

  1. โหลดไฟล์ PDF อินพุต
  2. เริ่มต้น Byte Array
  3. เริ่มต้นวัตถุ FileStream
  4. โหลดเนื้อหาไฟล์ในอาร์เรย์ไบต์

หลังจากทำตามขั้นตอนทั้งหมดนี้แล้ว ตอนนี้คุณสามารถประมวลผลไฟล์ PDF ในรูปแบบของอาร์เรย์ไบต์ได้แล้ว ตัวอย่างเช่น คุณสามารถส่งต่อไปยังฟังก์ชันอื่นได้ ดังตัวอย่างด้านล่าง

รหัสต่อไปนี้แสดงวิธีการแปลงไฟล์ PDF เป็น Byte Array โดยใช้ 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, ความละเอียด, 100);
                new Aspose.Pdf.Devices.JpegDevice(width, height, res, 100);
                // แปลงหน้าใดหน้าหนึ่งและบันทึกภาพเพื่อสตรีม

                //Aspose.Pdf.PageSize.A4.IsLandscape = จริง;
                jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
                // ปิดสตรีม
                imageStream.Close();
            }
        }
    }
}

แปลง Byte Array เป็นไฟล์ PDF โดยใช้ C#

ให้เราดำเนินการต่อไปอีกขั้น Byte Array สามารถแปลงเป็นไฟล์ PDF ให้เราเรียนรู้สิ่งนี้ด้วยตัวอย่างการแปลงรูปภาพเป็น Byte Array เป็นไฟล์ PDF คุณต้องทำตามขั้นตอนต่อไปนี้เพื่อแปลง Byte Array เป็นไฟล์ PDF

  1. โหลดไฟล์อินพุต
  2. เริ่มต้นอาร์เรย์ไบต์
  3. โหลดภาพอินพุตลงใน Byte Array
  4. เริ่มต้นอินสแตนซ์ของคลาส Document
  5. เพิ่มรูปภาพในหน้า PDF
  6. บันทึกไฟล์ PDF เอาต์พุต

รหัสต่อไปนี้อธิบายวิธีการแปลง Byte Array เป็นไฟล์ PDF โดยทางโปรแกรมโดยใช้ 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;

// โหลดภาพอินพุตลงใน Byte Array
buff = br.ReadBytes((int)numBytes);


Document doc = new Document();
// เพิ่มหน้าไปยังหน้าคอลเลกชันของเอกสาร
Page page = doc.Pages.Add();
// โหลดไฟล์รูปภาพต้นฉบับไปที่ Stream object
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 เป็น Byte Array และ Byte Array เป็นไฟล์ PDF โดยใช้ภาษาโปรแกรม C# หากคุณสนใจที่จะทำงานต่อไปกับไฟล์ PDF โปรดแบ่งปันความต้องการของคุณกับเราผ่านทาง ฟอรัมสนับสนุนฟรี นอกจากนี้ คุณยังสามารถสำรวจ เอกสาร API และ ข้อมูลอ้างอิง API เพื่อวิเคราะห์เชิงลึกเกี่ยวกับคุณสมบัติที่นำเสนอโดย API เราหวังว่าจะได้ติดต่อคุณ!

ดูสิ่งนี้ด้วย