Wyodrębnij załączniki z dokumentu PDF za pośrednictwem Java

Jak programowo wyodrębnić załączniki z pliku PDF za pomocą Java

Jak wyodrębnić załączniki za pomocą biblioteki Java

Aby wyodrębnić Załączniki, użyjemy interfejsu API Aspose.PDF for Java, który jest bogatym w funkcje, wydajnym i łatwym w użyciu interfejsem API konwersji dla platformy Java. Możesz pobrać jego najnowszą wersję bezpośrednio z Maven i zainstalować ją w ramach projektu opartego na Maven, dodając następujące konfiguracje do pom.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>

Wyodrębnij załączniki z pliku PDF Java


Potrzebujesz Aspose.PDF for Java, aby wypróbować kod w swoim środowisku.

  1. Pobierz kolekcję osadzonych plików.
  2. Uzyskaj liczbę osadzonych plików.
  3. Pętla przez kolekcję, aby uzyskać wszystkie załączniki.
  4. Sprawdź, czy obiekt parametru zawiera parametry.
  5. Pobierz załącznik i zapisz do pliku lub strumienia.

Wyodrębnij załącznik z dokumentu 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();