Extraer adjuntos del documento PDF a través de Python

Cómo extraer archivos adjuntos de un PDF mediante programación con Python

Cómo extraer archivos adjuntos mediante la biblioteca Python for .NET

Para extraer archivos adjuntos en un archivo PDF, utilizaremos la API Aspose.PDF for .NET, que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma python-net. Abra el administrador de paquetes NuGet, busque Aspose.pdf e instálelo. También puede usar el siguiente comando desde la consola de Package Manager.

Python Package Manager Console

pip install aspose-pdf

Extraer archivos adjuntos del PDF Python


Necesita Aspose.PDF para .NET para probar el código en su entorno.

  1. Obtenga una colección de archivos incrustados.
  2. Obtenga el recuento de los archivos incrustados.
  3. Recorre la colección para obtener todos los archivos adjuntos.
  4. Compruebe si el objeto parámetro contiene los parámetros.
  5. Obtenga el archivo adjunto y escriba en un archivo o transmisión.

Extraer el archivo adjunto de un 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