C# Konversi File PDF Byte Array

Byte Array berguna untuk menyimpan atau mengirimkan data. Demikian pula, format file PDF populer karena fitur dan kompatibilitasnya. Anda dapat mengonversi File PDF ke Byte Array serta Byte Array ke File PDF menggunakan bahasa C#. Ini dapat membantu Anda menyimpan dan mengarsipkan file PDF dalam database, lebih efisien. Anda juga dapat membuat serial data dengan menggunakan Byte Array. Mari kita jelajahi antar-konvertibilitas format ini.

Konversi File PDF ke Byte Array dan Byte Array ke PDF – Instalasi API

Aspose.PDF for .NET API menawarkan banyak fitur untuk bekerja dengan dokumen PDF. Anda dapat membuat, mengedit, memanipulasi, atau mengonversi file PDF dengan panggilan API yang sederhana dan mudah. Untuk mengonversi file PDF ke Byte Array atau sebaliknya, Anda perlu menginstal API baik dengan mengunduhnya dari situs web resmi, atau dari galeri NuGet menggunakan perintah instalasi di bawah ini di Visual Studio IDE.

PM> Install-Package Aspose.Pdf

Konversi File PDF ke Byte Array menggunakan C#

Anda dapat mengonversi PDF ke Byte Array untuk mengirim atau menyimpannya untuk diproses lebih lanjut. Misalnya, Anda mungkin perlu membuat serial dokumen PDF kemudian mengonversinya menjadi array byte dapat membantu. Anda harus mengikuti langkah-langkah di bawah ini untuk mengonversi PDF ke array byte:

  1. Muat File PDF masukan
  2. Inisialisasi Array Byte
  3. Inisialisasi objek FileStream.
  4. Muat konten file dalam array byte

Setelah mengikuti semua langkah tersebut, kini Anda sudah bisa mengolah file PDF dalam bentuk array byte. Misalnya, Anda dapat meneruskannya ke fungsi lain seperti contoh di bawah ini.

Kode berikut menunjukkan cara mengonversi File PDF ke Byte Array menggunakan C# di mana ByteArray yang dihasilkan diteruskan ke metode untuk mengonversi file input menjadi gambar:

dataDir = @"D:\Test\";

// Muat file PDF masukan
string inputFile = dataDir + @"testpdf.pdf";

// Inisialisasi array byte
byte[] buff = null;

// Inisialisasi objek FileStream
FileStream fs = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(inputFile).Length;

// Muat konten file dalam array byte
buff = br.ReadBytes((int) numBytes);
fs.Close();

// Bekerja dengan file PDF dalam array byte
ConvertPDFToJPEG(buff, 300, dataDir);


public static void ConvertPDFToJPEG(Byte[] PDFBlob, int resolution, string dataDir)
{
    // Buka dokumen
    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))
            {
                // Buat perangkat JPEG dengan atribut tertentu
                // Lebar, Tinggi, Resolusi, Kualitas
                // Kualitas [0-100], 100 adalah Maksimum
                // Buat objek Resolusi

                Aspose.Pdf.Devices.Resolution res = new Aspose.Pdf.Devices.Resolution(resolution);
                // JpegDevice jpegDevice = new JpegDevice(500, 700, resolusi, 100);

                // menambahkan yang berikut untuk menentukan apakah lanskap atau tidak
                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 baru (Aspose.Pdf.PageSize.A4, res, 100);
                new Aspose.Pdf.Devices.JpegDevice(width, height, res, 100);
                // Konversi halaman tertentu dan simpan gambar untuk streaming

                //Aspose.Pdf.PageSize.A4.IsLandscape = true;
                jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
                // Tutup aliran
                imageStream.Close();
            }
        }
    }
}

Konversi Byte Array ke File PDF menggunakan C#

Mari kita lanjutkan selangkah lebih jauh, Array Byte dapat dikonversi ke File PDF. Mari kita pelajari ini dengan contoh mengonversi gambar sebagai Byte Array ke file PDF. Anda harus mengikuti langkah-langkah berikut untuk mengonversi Array Byte ke file PDF.

  1. Muat file masukan
  2. Inisialisasi array byte
  3. Muat gambar input ke dalam Byte Array
  4. Inisialisasi instance dari kelas Document.
  5. Tambahkan gambar pada halaman PDF
  6. Simpan File PDF keluaran

Kode berikut menjelaskan cara mengonversi Array Byte ke File PDF secara terprogram menggunakan C#:

// Muat file masukan
string inputFile = dataDir + @"Test.PNG";

// Inisialisasi array byte
byte[] buff = null;
FileStream fs = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(inputFile).Length;

// Muat gambar input ke dalam Byte Array
buff = br.ReadBytes((int)numBytes);


Document doc = new Document();
// Menambahkan halaman ke kumpulan halaman dokumen
Page page = doc.Pages.Add();
// Muat file gambar sumber ke objek Stream
MemoryStream outstream = new MemoryStream();
MemoryStream mystream = new MemoryStream(buff);
// Instansiasi objek BitMap dengan aliran gambar yang dimuat
Bitmap b = new Bitmap(mystream);

// Tetapkan margin agar gambar pas, dll.
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);
// Membuat objek gambar
Aspose.Pdf.Image image1 = new Aspose.Pdf.Image();
// Tambahkan gambar ke dalam koleksi paragraf bagian
page.Paragraphs.Add(image1);
// Atur aliran file gambar
image1.ImageStream = mystream;

// Simpan file PDF yang dihasilkan
doc.Save(outstream, SaveFormat.Pdf);
//doc.Save(dataDir + "outstream.pdf", SaveFormat.Pdf);

// Tutup objek memoryStream
mystream.Close();

Kesimpulan

Pada artikel ini, kami telah mengeksplorasi cara mengonversi File PDF ke Byte Array serta Byte Array ke File PDF menggunakan bahasa pemrograman C#. Jika Anda tertarik untuk bekerja lebih lanjut dengan file PDF, silakan bagikan kebutuhan Anda kepada kami melalui Forum Dukungan Gratis. Selain itu, Anda juga dapat menjelajahi Dokumentasi API dan Referensi API untuk analisis mendalam tentang fitur yang ditawarkan oleh API. Kami berharap dapat menghubungi Anda!

Lihat juga