Ekstrak Lampiran dari PDF melalui C#

Cara Mengekstrak Lampiran dari PDF secara terprogram dengan C#

Cara Mengekstrak Lampiran Menggunakan .NET Library

Untuk mengekstrak Lampiran dalam file PDF, kita akan menggunakan Aspose.PDF for .NET API yang merupakan API manipulasi dokumen yang kaya fitur, kuat dan mudah digunakan untuk platform net. Buka manajer paket nuget, cari Aspose.pdf dan instal. Anda juga dapat menggunakan perintah berikut dari Konsol Manajer Paket.

Package Manager Console

PM > Install-Package Aspose.PDF

Ekstrak Lampiran dari PDF C#


Anda perlu Aspose.PDF untuk .NET untuk mencoba kode di lingkungan Anda.

  1. Dapatkan koleksi file tertanam.
  2. Dapatkan hitungan file yang disematkan.
  3. Loop melalui koleksi untuk mendapatkan semua lampiran.
  4. Periksa apakah objek parameter berisi parameter.
  5. Dapatkan Lampiran dan tulis ke file atau streaming.

Ekstrak Lampiran dari dokumen PDF


// 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;
}