Wyodrębnij załączniki z pliku PDF przez Python

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

Jak wyodrębnić załączniki za pomocą biblioteki Python for .NET

Aby wyodrębnić załączniki w pliku PDF, użyjemy interfejsu API Aspose.PDF for .NET, który jest bogatym w funkcje, wydajnym i łatwym w użyciu interfejsem API do manipulacji dokumentami dla platformy python-net. Otwórz menedżera pakietów NuGet, wyszukaj Aspose.pdf i zainstaluj. Można również użyć następującego polecenia z konsoli Menedżera pakietów.

Python Package Manager Console

pip install aspose-pdf

Wyodrębnij załączniki z pliku PDF Python


Potrzebujesz Aspose.PDF for .NET, 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

 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