Scripting app 提供了 PDFDocument 和 PDFPage 两个类,封装了 PDFKit 功能,支持加载、修改、提取、保存 PDF 文件,并支持同步或异步的操作方式。
PDFPage 类表示 PDF 文档中的单个页面。提供访问页面文本、数据和相关信息的能力。
PDFPage.fromImage(image: UIImage): PDFPage | null从图像创建一个新的 PDF 页面。
参数:
image:要转换为 PDF 页的图像。返回:PDFPage 实例,若失败返回 null。
document: PDFDocument | null所属的 PDF 文档实例。若该页面尚未添加至文档,则为 null。
label: string | null页面的标签(如页码、用户可定义标题等)。
numberOfCharacters: number页面中提取到的字符数量。
string: Promise<string | null>异步获取页面的文本内容。
null。data: Promise<Data | null>异步获取页面的原始二进制数据。
PDFDocument 类表示完整的 PDF 文档。可读取、修改页面,提取元信息,并进行保存(支持异步和同步写入)。
PDFDocument.fromData(data: Data): PDFDocument | null从二进制数据创建文档实例。
参数:
data:有效的 PDF 数据。返回:PDFDocument 实例,若无效则为 null。
PDFDocument.fromFilePath(filePath: string): PDFDocument | null从文件路径加载 PDF 文件。
参数:
filePath:PDF 文件的本地路径。返回:成功返回 PDFDocument,否则为 null。
pageCount: number文档总页数。
filePath: string | null文档源文件路径。若是通过内存创建则为 null。
isLocked: boolean文档是否被加锁(需要密码解锁)。
isEncrypted: boolean文档是否加密。
documentAttributes: object | nullPDF 的元数据(如作者、标题、创建时间等)。
data: Promise<Data | null>异步获取整个文档的二进制数据。
string: Promise<string | null>异步获取整个文档的文本内容。若为图片型 PDF,可能返回 null。
pageAt(index: number): PDFPage | null获取指定索引的页面。
参数:
index:页面索引(从 0 开始)。返回:PDFPage 实例,索引无效时返回 null。
indexOf(page: PDFPage): number获取指定页面在文档中的索引。
参数:
page:页面实例。返回:索引值,若找不到则为 -1。
removePageAt(index: number): void移除指定索引的页面。
insertPageAt(page: PDFPage, atIndex: number): void在指定索引插入一个页面。
exchangePage(atIndex: number, withPageIndex: number): void交换两个页面的位置。
writeSync(toFilePath: string, options?): boolean将 PDF 同步写入指定路径,支持设置密码和其他选项。
参数:
toFilePath:输出文件路径。
options(可选):
返回:保存成功返回 true,否则为 false。
write(toFilePath: string, options?): Promise<boolean>异步方式写入 PDF 文件。
writeSync 相同。Promise<boolean> 表示保存是否成功。unlock(password: string): boolean尝试使用密码解锁文档。
参数:
password:密码字符串。返回:若解锁成功,返回 true,否则返回 false。