Estrai gli allegati dal PDF tramite Python

Come estrarre allegati da PDF a livello di codice con Python

Come estrarre gli allegati utilizzando la libreria Python for .NET

Per estrarre gli allegati nel file PDF, useremo Aspose.PDF for .NET API che è un’API di manipolazione dei documenti ricca di funzionalità, potente e facile da usare per la piattaforma python-net. Apri il gestore di pacchetti NuGet, cerca Aspose.pdf e installa. È inoltre possibile utilizzare il seguente comando dalla console di Package Manager.

Python Package Manager Console

pip install aspose-pdf

Estrai allegati dal PDF Python


È necessario Aspose.PDF for .NET per provare il codice nel proprio ambiente.

  1. Ottieni la raccolta di file incorporati.
  2. Ottieni il conteggio dei file incorporati.
  3. Scorri la raccolta per ottenere tutti gli allegati.
  4. Verificare se l’oggetto parametro contiene i parametri.
  5. Ottieni l’allegato e scrivi su file o stream.

Estrai allegato dal documento 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