Konversi PNG ke PDF menggunakan Java

Konversi PNG ke PDF menggunakan Java

PNG dan PDF adalah format file yang populer dan paling banyak digunakan saat ini. PNG adalah format file gambar sedangkan PDF (Portable Document Format) menawarkan representasi data yang andal dan efisien. Anda perlu mengonversi format file gambar ke PDF dalam beberapa skenario. Oleh karena itu, dalam postingan blog ini, kita akan mempelajari cara mengonversi PNG ke PDF menggunakan Java PDF API. Kami akan menulis cuplikan kode dan langkah-langkah untuk melakukan konversi ini di aplikasi Java. Kami akan membahas topik-topik berikut dalam artikel ini:

Pustaka PDF Jawa

[Perpustakaan PDF Java] ini 6 mudah dipasang dan menawarkan dokumentasi mengenai pemasangan. Ini adalah API tingkat perusahaan yang menawarkan fitur konversi dan manipulasi yang kuat. Namun, Anda dapat mengunduh JAR atau menginstalnya menggunakan konfigurasi Maven berikut:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Konversi PNG ke PDF menggunakan Java

Kita akan menggunakan kelas dan metode yang diekspos oleh library Java PDF ini. Ini memungkinkan Anda melakukan konversi PNG ke PDF dengan menulis beberapa baris kode sumber di Java. Anda dapat mengikuti langkah-langkah dan cuplikan kode yang disebutkan di bawah ini:

  1. Membuat instance dari kelas Document.
  2. Buat objek kelas DocumentBuilder untuk mempermudah menambahkan konten ke dokumen.
  3. Muat file gambar input dengan memanggil metode createImageInputStream dan tetapkan ke objek ImageInputStream.
  4. Aktifkan metode getImageReaders yang mengembalikan Iterator yang berisi semua ImageReaders yang terdaftar saat ini dan menugaskannya ke objek kelas ImageReader.
  5. Panggil metode setInput yang menyetel sumber input untuk digunakan ke ImageInputStream yang diberikan.
  6. Dapatkan jumlah bingkai pada gambar dengan memanggil metode getNumImages.
  7. Ulangi semua bingkai.
  8. Pilih frame aktif dan tetapkan ke objek kelas BufferedImage.
  9. Panggil metode getPageSetup untuk mengakses penyiapan halaman saat ini dan menetapkannya ke objek kelas PageSetup.
  10. Atur tinggi halaman dengan memanggil metode setPageWidth.
  11. Aktifkan metode setPageHeight untuk mengatur lebar halaman.
  12. Masukkan gambar ke dalam dokumen dan posisikan di pojok kiri atas halaman dengan memanggil metode insertImage.
  13. Simpan file sebagai format file PDF dengan memanggil metode save.
    public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {
    // Instantiate an instance of Document class
    Document doc = new Document();
    // Create an object of DocumentBuilder class to make it simple to add content to the document.
    DocumentBuilder builder = new DocumentBuilder(doc);
    // Load images from the disk using the appropriate reader.
    // The file formats that can be loaded depends on the image readers available on the machine.
    // Load the input image file by calling the createImageInputStream method and assign it to the object of ImageInputStream.
    ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
    // Invoke the getImageReaders method that returns an Iterator containing all currently registered ImageReaders and assigns it to the object of ImageReader class.
    ImageReader reader = ImageIO.getImageReaders(iis).next();
    // Call the setInput method that sets the input source to use to the given ImageInputStream or other Object.
    reader.setInput(iis, false);
    // Get the number of frames in the image by calling the getNumImages method
    int framesCount = reader.getNumImages(true);
    // Loop through all frames.
    for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
    // Insert a section break before each new page, in case of a multi-frame image.
    if (frameIdx != 0)
    builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
    // Select active frame and assign it to the object of BufferedImage class
    BufferedImage image = reader.read(frameIdx);
    // We want the size of the page to be the same as the size of the image.
    // Convert pixels to points to size the page to the actual image size.
    // Invoke the getPageSetup method to access current page setup and assign it to the object of the PageSetup class
    PageSetup ps = builder.getPageSetup();
    // Set the page height by calling the setPageWidth method
    ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
    // Invoke the setPageHeight method to set the width of the page
    ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
    // Insert the image into the document and position it at the top left corner of the page by calling the insertImage method.
    builder.insertImage(
    image,
    RelativeHorizontalPosition.PAGE,
    0,
    RelativeVerticalPosition.PAGE,
    0,
    ps.getPageWidth(),
    ps.getPageHeight(),
    WrapType.NONE);
    }
    if (iis != null) {
    iis.close();
    reader.dispose();
    }
    // Save the file as a PDF file format by calling the save method
    doc.save(outputFileName);
    }
    Anda dapat melihat output pada gambar di bawah ini:
    Konversi PNG ke PDF

    Konversi PNG ke PDF

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API di luar batasan evaluasi.

Menyimpulkan

Kami dapat mengakhiri posting blog ini di sini. Kami telah mendemonstrasikan implementasi Java PDF library untuk mengonversi PNG ke PDF menggunakan Java secara terprogram. Pustaka ini memungkinkan Anda membuat konverter PNG ke PDF menggunakan beberapa baris kode. Selain itu, Anda dapat mengunjungi dokumentasi API konversi PNG ke PDF ini. conholdate.com terus menulis tentang topik baru yang menarik. Oleh karena itu, harap tetap terhubung untuk pembaruan terkini.

Berikan pertanyaan

Anda dapat memberi tahu kami tentang pertanyaan atau pertanyaan Anda di forum kami.

FAQ

Bagaimana Anda mengonversi PNG ke PDF? Anda dapat menggunakan [perpustakaan] ini 3 untuk mengonversi PNG ke PDF di Java secara terprogram. Ini menawarkan dokumentasi yang komprehensif mengenai penggunaannya. Bagaimana cara menyimpan PNG sebagai PDF tanpa kehilangan kualitas? Buka bagian ini untuk mempelajari cara menyimpan file PNG sebagai PDF menggunakan library Java. Anda dapat menggunakan metode save untuk menyimpan file PNG sebagai file PDF.

Lihat juga