Ekstrak Lampiran dari dokumen 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;
    }