PDF形式は、電子メールの添付ファイルと同様に、PDFファイルへの添付ファイルの追加をサポートしています。 PDF添付ファイルは、TXT、DOCX、XLSX、またはその他のドキュメント形式にすることができます。この記事では、.NETアプリケーションにいくつかの基本的なPDF添付ファイル操作機能を実装する方法を学習します。この記事の終わりまでに、C#を使用してプログラムでPDFの添付ファイルを抽出、追加、または削除できるようになります。
PDF添付ファイル操作API-無料ダウンロード
Aspose.PDF for .NETは、PDFファイルをシームレスに処理できる有名なPDF操作APIです。数ステップで、PDFファイルの読み取り、作成、編集、変換、およびPDF添付ファイルの操作を行うことができます。 APIは、DLLまたはMSIとしてダウンロードすることも、NuGetを使用してインストールすることもできます。
Install-Package Aspose.Pdf
C#を使用してPDFに添付ファイルを追加する
Aspose.PDF for .NETでは、添付ファイルをPDFファイルに追加することもできます。このためには、FileSpecificationクラスを使用して、ファイルをDocument.EmbeddedFilesコレクションに追加するだけです。 PDFドキュメントに添付ファイルを追加する手順は次のとおりです。
- Documentクラスを使用して新しいPDFドキュメントを作成します。
- FileSpecificationクラスのインスタンスを作成して、添付ファイルをロードします。
- Document.EmbeddedFiles.Add(FileSpecification)メソッドを使用して、添付ファイルを追加します。
- Document.Save(String)メソッドを使用してドキュメントを保存します。
次のコードサンプルは、C#を使用してPDFドキュメントに添付ファイルを追加する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NETにアクセスしてください。
// ドキュメントを開く
Document pdfDocument = new Document("document.pdf");
// 添付ファイルとして追加する新しいファイルを設定します
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");
// ドキュメントの添付ファイルコレクションに添付ファイルを追加する
pdfDocument.EmbeddedFiles.Add(fileSpecification);
// 新しい出力を保存する
pdfDocument.Save("output.pdf");
C#を使用してPDF添付ファイルを抽出する
まず、PDFドキュメントから添付ファイルを取得する方法を確認しましょう。これを行うには、次の手順に従います。
- Documentクラスのインスタンスを作成します。
- Document.EmbeddedFilesプロパティを使用して、添付ファイルをEmbeddedFileCollectionオブジェクトに取得します。
- FileSpecificationオブジェクトを使用して、EmbeddedFileCollectionの添付ファイルをループします。
- FileSpecificationオブジェクトを使用して、各添付ファイルのプロパティにアクセスします。
- 添付ファイルをファイルとして保存します(必要な場合)。
次のコードサンプルは、C#を使用してPDF添付ファイルを抽出する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NETにアクセスしてください。
// ドキュメントを開く
Document pdfDocument = new Document("document.pdf");
// 特定の埋め込みファイルを取得する
foreach(FileSpecification fileSpecification in pdfDocument.EmbeddedFiles)
{
// ファイルのプロパティを取得する
Console.WriteLine("Name: {0}", fileSpecification.Name);
Console.WriteLine("Description: {0}", fileSpecification.Description);
Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);
// パラメータオブジェクトにパラメータが含まれているかどうかを確認してください
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);
}
// 添付ファイルを取得して、ファイルまたはストリームに書き込みます
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
FileStream fileStream = new FileStream(fileSpecification.Name, FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();
}
C#を使用してPDFから添付ファイルを削除する
PDFファイルからすべてまたは特定の添付ファイルを削除できます。このため、Aspose.PDF for .NETは次のメソッドを提供します。
- 消去() - Deletes all the attachments.
- Delete(String fileName) - Deletes attachment by name.
- DeleteByKey(文字列キー) - Deletes attachment by key in the collection.
PDFから添付ファイルを削除する手順は次のとおりです。
- Documentクラスのインスタンスを作成して、PDFファイルをロードします。
- Document.EmbeddedFiles.Delete()(または他のdeleteメソッド)を使用して、添付ファイルを削除します。
- Document.Save(String)メソッドを使用してファイルを保存します。
次のコードサンプルは、C#でPDFファイルから添付ファイルを削除する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NETにアクセスしてください。
// ドキュメントを開く
Document pdfDocument = new Document("document.pdf");
// すべての添付ファイルを削除します
pdfDocument.EmbeddedFiles.Delete();
// 更新したファイルを保存する
pdfDocument.Save("output.pdf");
結論
この記事では、PDFドキュメントの添付ファイルをプログラムで操作する方法を見てきました。ステップバイステップガイド、APIリファレンス、およびコードサンプルは、C#を使用してPDFファイルの添付ファイルを取得、追加、および削除する方法を示しています。 Aspose.PDF for .NETの詳細については、ドキュメントを使用してください。