C# aracılığıyla PDF belgesindeki ekleri ayıklayın

C# ile PDF’den Ekleri Programlı Olarak Çıkarma

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

Ekleri PDF dosyasında ayıklamak için 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.

Package Manager Console

PM > Install-Package Aspose.PDF

PDF’den Ekleri Çıkarın C#


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


    // Open document
    Document pdfDocument = new Document(dataDir + "GetAlltheAttachments.pdf");

    // Get embedded files collection
    EmbeddedFileCollection embeddedFiles = pdfDocument.EmbeddedFiles;

    // Get count of the embedded files
    Console.WriteLine("Total files : {0}", embeddedFiles.Count);

    int count = 1;

    // Loop through the collection to get all the attachments
    foreach (FileSpecification fileSpecification in embeddedFiles)
    {
        Console.WriteLine("Name: {0}", fileSpecification.Name);
        Console.WriteLine("Description: {0}",
        fileSpecification.Description);
        Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);

        // Check if parameter object contains the parameters
        if (fileSpecification.Params != null)
        {
            Console.WriteLine("CheckSum: {0}",
            fileSpecification.Params.CheckSum);
            Console.WriteLine("Creation Date: {0}",
            fileSpecification.Params.CreationDate);
            Console.WriteLine("Modification Date: {0}",
            fileSpecification.Params.ModDate);
            Console.WriteLine("Size: {0}", fileSpecification.Params.Size);
        }

        // Get the attachment and write to file or stream
        byte[] fileContent = new byte[fileSpecification.Contents.Length];
        fileSpecification.Contents.Read(fileContent, 0,
        fileContent.Length);
        FileStream fileStream = new FileStream(dataDir + count + "_out" + ".txt",
        FileMode.Create);
        fileStream.Write(fileContent, 0, fileContent.Length);
        fileStream.Close();
        count+=1;
    }