Foxit PDF SDK for Web 9.0.0
发布日期: 2023年3月7日
TIP
从此版本开始,不再支持 Microsoft Internet Explorer。
新功能和更新
高级页面编辑器 此版本提供强大的 PDF 页面编辑功能,允许您轻松操作文本块,包括字体样式、对齐和合并/拆分功能,执行文本搜索和替换操作,并创建和自定义具有预设路径、阴影和其他属性的形状对象。
图像差异比较
- 相关 API:
OverlayComparisonService::compareImageData()
,PDFViewer::getOverlayComparisonService()
,PDFViewer::getOverlayComparisonOptionsService()
此功能逐像素比较两个文档之间的图像差异,然后生成输出图像。您可以使用相关 API 为您的应用程序实现叠加比较功能。
- 相关 API:
支持 TypeScript 声明 新增
d.ts
文件已包含在 SDK 包中,包括:lib/index.d.ts
,lib/UIExtension.d.ts
,lib/UIExtension.full.d.ts
,lib/PDFViewCtrl.d.ts
和lib/PDFViewCtrl.full.d.ts
。自定义动态印章
- 相关 API:
PDFUI::callAddonAPI()
,setDynamicStamp
,getDynamicStamp
,removeDynamicStamp
此功能允许创建带有任何自定义图像、文本或徽标的动态印章,并可在整个文档或多个文档中重复使用。
- 相关 API:
多行平铺水印
- 相关 API:
PDFDoc::addWatermark()
此功能允许在添加水印时通过使用 "pageStart" 和 "pageEnd" 指定页面范围。它还提供了使用 "isMultiline" 选项设置多行平铺的能力,以及使用 "rowSpace" 和 "columnSpace" 选项调整平铺之间的距离。
- 相关 API:
以编程方式将批注粘贴到目标页面
- 相关 API:
PDFPage::pasteAnnot(srcAnnot, position)
- 相关 API:
设置自由文本批注的默认字体属性 自由文本的默认字体,包括打字机、标注和文本框,可以使用
PDFViewer::setDefaultAnnotConfig()
方法设置,或通过访问 UI 批注属性菜单并选择 "将当前属性设置为默认"。获取鼠标悬停印章的数据
- 相关 API:
PDFViewCtrl:Stamp class PDFUI::getStampService()
通过此新功能,开发人员不仅可以检索鼠标悬停印章信息,还可以监控印章状态处理程序的切换。这在处理印章时提供了更大的灵活性和控制。例如,开发人员可以在将印章放置到页面之前调整所选印章的大小。
- 相关 API:
使用手动工具复制和粘贴文本时保持格式 此功能旨在保留从 Word、WordPad 或网页等来源粘贴文本时的格式。粘贴的文本将作为自由文本批注添加,支持的富文本格式包括字体颜色、大小、粗体、斜体、下划线和删除线。在 Web 查看器中粘贴时,复制内容中包含的任何链接 URL 和图像将被忽略。如果 Web 查看器中不可用复制内容中使用的字体,将使用默认字体 Helvetica。
显示周长和面积测量的标签和值
- 相关 API:
Polygon::enableCaption
,PolyLine::enableCaption
- 相关 API:
PDFDoc.sign 支持旋转 此功能允许用户在将签名字段添加到文档之前,将其旋转到所需的角度(0|90|180|270)。
访问已签名签名的详细信息
- 相关 API:
PDFSignature::getSignInfo()
- 相关 API:
手动状态处理程序支持文本选择
- 相关 API:
PDFViewCtrl::stateHandlerManager
此版本引入了一个选项,可以打开或关闭手动工具的文本选择功能。当启用手动文本选择时,光标悬停在一串文本上时会变为文本选择形状,表示可以通过鼠标拖动选择文本。
- 相关 API:
自定义快照交互
- 相关 API 和类:
PDFUI::setSnapshotInteractionClass()
,UIExtension::Snapshot
,UIExtension::SnapshotInteraction
通过此版本支持的新功能,您可以重写快照交互并根据需要实现它。
- 相关 API 和类:
UI 组件状态管理
- 相关 API:
Component::keepState()
,Component::revokeKeepState()
,Component::isStateKept()
UI 组件的可见性可以通过调用Component::show()
/Component::hide()
来控制。然而,这种显示/隐藏操作总是被 SDK 的默认行为覆盖。为了保持这些用户更改,提供了状态管理 API 来保持状态并防止 SDK 更改状态。下面是一个示例,显示如何隐藏红action的应用菜单并调用keepState()
来保持当前状态。
- 相关 API:
UI 红action 组件的改进 红action 组件 "Mark for Redaction" 包含 3 个下拉选项:"Mark Text & Image"、"Mark Area" 和 "Mark Page" 。这些选项在以前的版本中被包装在一个组件中,无法分开。通过此改进,这些选项被分成组件中的 3 个元素,使其更容易自定义。
协作插件 此插件提供了一系列内置的客户端和服务器功能,使开发人员能够实现协作,提高组织的生产力,并简化 PDF 文档工作流程。
API 变更
PDFDoc::sign(signInfo, DigestSignHandler)
的第二个参数已更新:
- 旧版:
DigestSignHandler(signInfo, buffer)
,其中 buffer 数据类型为ArrayBuffer
。 - 新版:
DigestSignHandler(signInfo, plainContent)
,其中 plainContent 数据类型为Blob
。
演示
图像差异比较演示 此演示渲染三个同步实例,其中中间实例显示两个文档之间的像素差异。
多实例演示 显示如何在多个实例中运行 PDFViewer。
Bug 修复
- 如果输入的文本超过分配的区域,打字机批注可能无法正确渲染。
- 屏幕图像批注的渲染顺序与 Foxit PDF Editor 不一致。
- 在验证 PDF 文档中的多个签名时,仅最后一个签名被视为有效。
- 当存在多个同名签名时,其中一个签名可能不会显示在页面上。
- 在全屏模式下,批注的右键菜单未显示。
- 更改 PDF 文件的背景颜色时,灰色文本可能显示为黑色。
- 在大文件上签名和验证会导致浏览器崩溃。
- 如果批注形状的边框设置为 0,则填充颜色不会应用。
- 通过表单字段属性修改后,字体名称未显示在字体列表中。
- 即使鼠标光标不在其上方,链接批注操作也会执行。
- 输入到图像表单字段中的某些特定旋转图像显示不正确。
- 调用
page.addAnnot
设置文件附件的图标无效。 - 通过
setJRFontMap()
映射的字体渲染不正确。 - [移动端] 长按批注或页面在移动设备上未正确触发。
- [iPad] 修复了某些版本 iPad 上的触控笔兼容性问题。