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.

Python Package Manager 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

 def attachment_extract(self, infile):

        path_infile = self.dataDir + infile

        # Open document
        pdfDocument = Document(path_infile)

        # Get embedded files collection
        embeddedFiles = pdfDocument.EmbeddedFiles

        # Get count of the embedded files
        print ( "Total files : %d " % (embeddedFiles.Count))

        count = 1

        # Loop through the collection to get all the attachments

        for fileSpecification in embeddedFiles:
            print("Name: " + fileSpecification.Name)
            print("Description: " + fileSpecification.Description)
            print("Mime Type: " + fileSpecification.MIMEType)

            # Check if parameter object contains the parameters
            if (fileSpecification.Params != None):
                print("CheckSum: " + fileSpecification.Params.CheckSum)
                print("Creation Date: " + fileSpecification.Params.CreationDate)
                print("Modification Date " + fileSpecification.Params.ModDate)
                print("Size: " + fileSpecification.Params.Size)

                # Get the attachment and write to file or stream
                File.WriteAllBytes(self.dataDir + count + "_out" + ".txt", fileSpecification.Contents)

                count+=1