PDF 格式支持向 PDF 文件添加附件,類似於電子郵件附件。 PDF 附件可以是 TXT、DOCX、XLSX 或任何其他文檔格式。在本文中,您將了解如何在 .NET 應用程序中實現一些基本的 PDF 附件操作功能。到本文結束時,您將能夠使用 C# 以編程方式提取、添加或刪除 PDF 中的附件。
PDF 附件操作 API - 免費下載
Aspose.PDF for .NET 是一個著名的 PDF 操作 API,可讓您無縫處理 PDF 文件。您可以閱讀、創建、編輯和轉換 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.
- 刪除(字符串文件名) - Deletes attachment by name.
- DeleteByKey(字符串鍵) - Deletes attachment by key in the collection.
以下是從 PDF 中刪除附件的步驟。
- 創建 Document 類的實例以加載 PDF 文件。
- 使用 Document.EmbeddedFiles.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 的更多信息。