Python aracılığıyla PDF belgesindeki ekleri ayıklayın

Python ile PDF’den Ekleri Programlı Olarak Çıkarma

Python for .NET Kütüphane Kullanarak Ekleri Çıkarma

Ekleri PDF dosyasında ayıklamak için python-net platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir belge işleme API’si olan .NET için Aspose.PDF API’sini kullanacağız. NuGet paket yöneticisini açın, Aspose.PDF öğesini arayın ve yükleyin. Paket Yöneticisi Konsolu’ndan aşağıdaki komutu da kullanabilirsiniz.

Python Package Manager Console

pip install aspose-pdf

PDF’den Ekleri Çıkarın Python


Ortamınızdaki kodu denemek için .NET için Aspose.PDF gerekir.

  1. Gömülü dosya koleksiyonunu alın.
  2. Gömülü dosyaların sayısını alın.
  3. Tüm ekleri almak için koleksiyon boyunca döngü yapın.
  4. Parametre nesnesinin parametreleri içerdiğini kontrol edin.
  5. Eki alın ve dosyaya veya akışa yazın.

PDF belgesinden eki ayıklayın

 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