如何添加和删除 PDF 附件

Jordi related to 如何添加和删除 PDF 附件
乔尔迪·巴尔迪亚
2023年九月11日
更新 2024年十二月17日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF文档中的附件指的是嵌入在PDF文件本身内的文件或额外数据。 这与您查看PDF时包含的常规内容(可见文本、图像和格式)不同。 这些附件可以是各种文件类型,包括图像、文档、电子表格或其他格式。 通常,附件用于提供额外的参考材料或补充数据,用户在打开PDF时可以访问这些内容。

在 IronPDF 中处理附件时,过程简单明了,用户界面友好。


添加附件示例

要添加文件作为附件,首先在程序中将其加载为byte []。 最简单的方法是使用File.ReadAllBytes方法。 在将文件加载为字节数组后,您可以使用AddAttachment方法将对象作为附件添加到PDF中,如下所示:

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-add-attachment.cs
using IronPdf;
using System.IO;

// Import attachment file
byte[] fileData = File.ReadAllBytes(@"path/to/file");

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add attachment to the PDF
pdf.Attachments.AddAttachment("Example", fileData);

pdf.SaveAs("addAttachment.pdf");

AddAttachment 函数输出一个 PdfAttachment 对象,我们可以将其保留以供将来参考,或者在需要时删除它。

保存PDF后,您可以从PDF查看器的工具栏中打开附件。 我们在下面的图片中展示了如何在Google Chrome的PDF查看器中找到此功能:

附件预览

从那里,您可以点击它并将附件保存到您自己的存储中。


检索附件示例

可以通过访问PdfDocument对象的Attachments属性,将PDF中的附件作为二进制数据检索。 有了二进制数据,您就可以将 PDF 中的附件导出为各自的文件格式。

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-retrieve-attachment.cs
using IronPdf;
using System.IO;

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");

// Iterate through all attachments
foreach (var attachment in pdf.Attachments)
{
    if (attachment.Name.Contains("Example"))
    {
        // Save byte to file
        File.WriteAllBytes($"{attachment.Name}.doc", attachment.Data);
    }
}

移除附件示例

要删除附件,只需使用RemoveAttachment函数。 此方法需要参考附件,可以从Attachments属性中获取。 我们演示如何使用上面保存的文件来做到这一点。

:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-remove-attachment.cs
using IronPdf;
using System.Linq;

// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");

// Add attachment to the PDF
PdfAttachmentCollection retrieveAttachments = pdf.Attachments;

// Remove attachment from PDF
pdf.Attachments.RemoveAttachment(retrieveAttachments.First());

pdf.SaveAs("removeAttachment.pdf");

删除附件并在 PDF 阅读器中打开生成的文件后,可以看到附件不再出现:

附件预览

Jordi related to 移除附件示例
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。