如何在 TypeScript 中处理 PDF 附件

如何在 TypeScript 中处理 PDF 附件

本指南展示了如何使用 Aspose.PDF FOSS for TypeScript 在 PDF 文档中处理文件附件。Document.AddAttachment() 在文档级别嵌入文件;Page.AddFileAttachment() 在页面上放置可点击的回形针样式注释,以打开嵌入的文件。它需要 Node.js 22 或更高版本。

分步指南

步骤 1:安装软件包

git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run build

通过在新的 TypeScript 文件中导入 Document 类来验证安装——一旦软件包安装完成,此行应能无错误解析:

import { Document } from '@asposefoss/pdf';

步骤 2:导入所需类

导入 Document 以打开文件并访问以下使用的两种附件入口点:

import { Document } from '@asposefoss/pdf';

步骤 3:打开目标文档

两种附件方法都在打开的 Document 上调用 —— Page 级别的附件还需要目标 Page:

const doc = Document.OpenFile('input.pdf');
const page = doc.Pages[0];

步骤 4:嵌入文档级别的附件

Document.AddAttachment(name, bytes, opts) -> Attachment 将文件嵌入文档的嵌入文件集合中,以 name 为键。Document.GetAttachments() -> Attachment[] 列出当前所有已嵌入的文件,Document.RemoveAttachment(name) -> boolean 则按名称删除其中一个。


步骤 5:添加页面级文件附件注释

Page.AddFileAttachment(opts) -> FileAttachmentAnnotation 在页面上放置一个可点击的图标 —— 类似于 sticky-note 和 free-text 注释,正如 Annotations 指南中所描述的 —— 当查看器打开以保存或预览嵌入文件时。不同于 Document.AddAttachment(),它锚定在特定页面位置,而不是仅列在文档的 embedded-files 集合中。

常见问题及解决方案

使用 Document.AddAttachment() 添加的附件在任何页面上都没有可见的图标。 这是预期的——文档级附件位于 embedded-files 集合中,而不在页面上。使用 Page.AddFileAttachment() 此外,如果需要在特定页面放置可点击的图标。

Document.RemoveAttachment() returns false. 它返回 false 当在给定的条件下未注册任何附件时 name — 使用以下方式列出当前集合 Document.GetAttachments() 首先确认正在使用的确切名称。

两个附件被嵌入在相同的 name. name in Document.AddAttachment() 是用于检索附件的键 RemoveAttachment() — 对第二次调用重复使用名称可能会遮蔽或与第一次冲突,具体取决于查看器如何处理重复。请为每个嵌入文件使用不同的名称。

常见问题

文档级附件和页面级附件有什么区别?

文档级附件(Document.AddAttachment())位于 PDF 的 embedded-files 集合中,未绑定到任何页面。页面级附件(Page.AddFileAttachment())是一种锚定在特定页面位置的注释,类似于便利贴。

我如何查看文档中当前嵌入了哪些内容?

调用 Document.GetAttachments(),它返回所有当前嵌入的 Attachment。

添加后可以删除附件吗?

是的 — Document.RemoveAttachment(name) 通过其添加时使用的名称删除文档级附件,如果找到并删除了一个,则返回 true。

另请参阅

 中文