Extrahieren Sie Anhänge aus PDF über Python

Wie man mit Python Dateianhänge programmgesteuert aus PDF extrahiert

So extrahieren Sie Anlagen mithilfe der Python for .NET Bibliothek

Um Anlagen in eine PDF-Datei zu extrahieren, verwenden wir die API Aspose.PDF for .NET, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung für die python-net Plattform. Öffnen Sie den NuGet -Paketmanager, suchen Sie nach Aspose.pdf und installieren Sie es. Sie können auch den folgenden Befehl von der Package Manager Console aus verwenden.

Console

pip install aspose-pdf

Extrahiere Anlagen aus PDF Python


Sie benötigen Aspose.PDF for .NET, um den Code in Ihrer Umgebung auszuprobieren.

  1. Holen Sie sich eingebettete Dateisammlung.
  2. Ruft die Anzahl der eingebetteten Dateien ab.
  3. Blättern Sie durch die Sammlung, um alle Anhänge zu erhalten.
  4. Prüfen Sie, ob das Parameterobjekt die Parameter enthält.
  5. Holen Sie sich den Anhang und schreiben Sie in eine Datei oder einen Stream.

Anhang aus PDF-Dokument extrahieren

import aspose.pdf as apdf

from os import path

path_infile = path.join(self.data_dir, infile)
# Open document
document = apdf.Document(path_infile)

# Get count of the embedded files
print(f"Total files : {len(document.embedded_files)}")

# Loop through the collection to get all the attachments
for file_specification in document.embedded_files:
    print(f"Name: {file_specification.name}")
    print(f"Description: {file_specification.description}")
    print(f"Mime Type: {file_specification.mime_type}")

    # Check if parameter object contains the parameters
    if file_specification.params is not None:
        print(f"CheckSum: {file_specification.params.check_sum}")
        print(f"Creation Date: {file_specification.params.creation_date}")
        print(f"Modification Date: {file_specification.params.mod_date}")
        print(f"Size: {file_specification.params.size}")

    # Get the attachment and write to file
    with open(
        path.join(self.data_dir, "export_" + file_specification.name), "wb"
    ) as f:
        f.write(file_specification.contents.readall())