SuperAPI AI 工具集

pdfkit

办公与效率

查看项目

更新于 10-15 21:12

技能介绍

用途:在 iOS、iPadOS、tvOS、Mac Catalyst、macOS、visionOS 上显示、导航、搜索、标注和操作 PDF 文档,核心类为 PDFView、PDFDocument、PDFPage、PDFAnnotation、PDFSelection。无需额外权限或 Info.plist 配置,导入 PDFKit 即可。

主要能力:PDFView 负责渲染并处理缩放、滚动、文本选择与翻页,支持 singlePage、singlePageContinuous、twoUp、twoUpContinuous 等显示模式;PDFDocument 可从 URL、Data 加载或创建空文档,支持密码解锁(isLocked、unlock(withPassword:))、写入保存(write(to:)、write(to:withOptions:))及插入、删除、交换页面。搜索支持同步 findString 与基于 PDFDocumentDelegate 的异步搜索,可高亮结果并跳转。标注支持 highlight、underline、strikeOut、text、freeText、ink、link 等类型,可添加、移除。PDFThumbnailView 提供缩略图条,也可用 page.thumbnail(of:for:) 生成。SwiftUI 中通过 UIViewRepresentable 包装 PDFView。

使用方式:加载文档用 guard let document = PDFDocument(url: url) else { return };显示前设置 pdfView.autoScales = true;翻页用 go(to:)、goToNextPage(nil) 等;监听 .PDFViewPageChanged 通知跟踪页码。

限制与注意:PDFDocument 初始化是可失败构造器,不要强制解包;页面索引从 0 开始,越界会抛异常;标注坐标原点在左下、Y 向上,与 UIKit 相反;PDFKit 类非线程安全,修改须在主线程;SwiftUI 包装中比较文档应使用 !== 身份判断;大文档搜索建议用异步方式。扩展模式(表单、水印、合并、打印、大纲、自定义绘制)见 references/pdfkit-patterns.md。