Ekstrak Lampiran dari dokumen PDF melalui Java

Cara Mengekstrak Lampiran dari PDF secara terprogram dengan Java

Cara Mengekstrak Lampiran Menggunakan Java Library

Untuk mengekstrak Attachments, kita akan menggunakan Aspose.PDF for Java API yang merupakan API konversi yang kaya fitur, kuat dan mudah digunakan untuk platform Java. Anda dapat mengunduh versi terbarunya langsung dari Maven dan menginstalnya dalam proyek berbasis Maven Anda dengan menambahkan konfigurasi berikut kepom.xml.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Ekstrak Lampiran dari PDF Java


Anda memerlukan Aspose.PDF for Java untuk mencoba kode di lingkungan Anda.

  1. Dapatkan koleksi file tertanam.
  2. Dapatkan hitungan file yang disematkan.
  3. Loop melalui koleksi untuk mendapatkan semua lampiran.
  4. Periksa apakah objek parameter berisi parameter.
  5. Dapatkan Lampiran dan tulis ke file atau streaming.

Ekstrak Lampiran dari dokumen PDF


    // Open document
    Document pdfDocument = new Document(_dataDir+"input.pdf");
    // Get particular embedded file
    FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1);
    // Get the file properties
    System.out.printf("Name: - " + fileSpecification.getName());
    System.out.printf("\nDescription: - " + fileSpecification.getDescription());
    System.out.printf("\nMime Type: - " + fileSpecification.getMIMEType());
    // Get attachment form PDF file
    try {
    InputStream input = fileSpecification.getContents();
    File file = new File(fileSpecification.getName());
    // Create path for file from pdf
    file.getParentFile().mkdirs();
    // Create and extract file from pdf
    java.io.FileOutputStream output = new java.io.FileOutputStream(fileSpecification.getName(), true);
    byte[] buffer = new byte[4096];
    int n = 0;
    while (-1 != (n = input.read(buffer)))
        output.write(buffer, 0, n);
    // Close InputStream object
    input.close();
    output.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    // Close Document object
    pdfDocument.dispose();