C# を使用して PDF から添付ファイルを抽出します

C# を使用してPDFから添付ファイルをプログラムで抽出する方法

.NET ライブラリを使用して添付ファイルを抽出する方法

添付ファイルをPDFファイルに抽出するために、net プラットフォーム用の機能豊富で強力で使いやすいドキュメント操作APIである Aspose.PDF for .NET APIを使用します。NuGet パッケージマネージャーを開き、aspose.pdf を検索してインストールします。パッケージマネージャーコンソールから次のコマンドを使用することもできます。

Package Manager Console

PM > Install-Package Aspose.PDF

PDF C# から添付ファイルを抽出


ご使用の環境でコードを試すには Aspose.PDF for .NET が必要です。

  1. 埋め込みファイルコレクションを取得します。
  2. 埋め込みファイルの数を取得します。
  3. コレクションをループして、すべての添付ファイルを取得します。
  4. パラメーターオブジェクトにパラメーターが含まれているかどうかを確認します。
  5. 添付ファイルを取得し、ファイルまたはストリームに書き込みます。

PDF ドキュメントから添付ファイルを抽出

static void PrintFileDetails(Aspose.Pdf.FileSpecification fileSpecification)
{
    Console.WriteLine($"Name: {fileSpecification.Name}");
    Console.WriteLine($"Description: {fileSpecification.Description}");
    Console.WriteLine($"Mime Type: {fileSpecification.MIMEType}");

    if (fileSpecification.Params != null)
    {
        Console.WriteLine($"CheckSum: {fileSpecification.Params.CheckSum}");
        Console.WriteLine($"Creation Date: {fileSpecification.Params.CreationDate}");
        Console.WriteLine($"Modification Date: {fileSpecification.Params.ModDate}");
        Console.WriteLine($"Size: {fileSpecification.Params.Size}");
    }
}

var inputFile = Path.Combine(dataDir, "GetAlltheAttachments.pdf");
var pdfDocument = new Aspose.Pdf.Document(inputFile);
var embeddedFiles = pdfDocument.EmbeddedFiles;
Console.WriteLine($"Total files: {embeddedFiles.Count}");

foreach (var fileSpecification in embeddedFiles)
{
    PrintFileDetails(fileSpecification);

    var outputFilePath = Path.Combine(dataDir, fileSpecification.Name);
    using var fileStream = File.OpenWrite(outputFilePath);
    fileSpecification.Contents.CopyTo(fileStream);
}