Skip to content

Foxit PDF SDK for Web 9.0.0

发布日期: 2023年3月7日

TIP

从此版本开始,不再支持 Microsoft Internet Explorer。

新功能和更新

  • 高级页面编辑器 此版本提供强大的 PDF 页面编辑功能,允许您轻松操作文本块,包括字体样式、对齐和合并/拆分功能,执行文本搜索和替换操作,并创建和自定义具有预设路径、阴影和其他属性的形状对象。

  • 图像差异比较

    • 相关 API:OverlayComparisonService::compareImageData()PDFViewer::getOverlayComparisonService()PDFViewer::getOverlayComparisonOptionsService() 此功能逐像素比较两个文档之间的图像差异,然后生成输出图像。您可以使用相关 API 为您的应用程序实现叠加比较功能。
  • 支持 TypeScript 声明 新增 d.ts 文件已包含在 SDK 包中,包括:lib/index.d.tslib/UIExtension.d.tslib/UIExtension.full.d.tslib/PDFViewCtrl.d.tslib/PDFViewCtrl.full.d.ts

  • 自定义动态印章

    • 相关 API:PDFUI::callAddonAPI()setDynamicStampgetDynamicStampremoveDynamicStamp 此功能允许创建带有任何自定义图像、文本或徽标的动态印章,并可在整个文档或多个文档中重复使用。
  • 多行平铺水印

    • 相关 API:PDFDoc::addWatermark() 此功能允许在添加水印时通过使用 "pageStart" 和 "pageEnd" 指定页面范围。它还提供了使用 "isMultiline" 选项设置多行平铺的能力,以及使用 "rowSpace" 和 "columnSpace" 选项调整平铺之间的距离。
  • 以编程方式将批注粘贴到目标页面

    • 相关 API:PDFPage::pasteAnnot(srcAnnot, position)
  • 设置自由文本批注的默认字体属性 自由文本的默认字体,包括打字机、标注和文本框,可以使用 PDFViewer::setDefaultAnnotConfig() 方法设置,或通过访问 UI 批注属性菜单并选择 "将当前属性设置为默认"。

  • 获取鼠标悬停印章的数据

    • 相关 API:PDFViewCtrl:Stamp class PDFUI::getStampService() 通过此新功能,开发人员不仅可以检索鼠标悬停印章信息,还可以监控印章状态处理程序的切换。这在处理印章时提供了更大的灵活性和控制。例如,开发人员可以在将印章放置到页面之前调整所选印章的大小。
  • 使用手动工具复制和粘贴文本时保持格式 此功能旨在保留从 Word、WordPad 或网页等来源粘贴文本时的格式。粘贴的文本将作为自由文本批注添加,支持的富文本格式包括字体颜色、大小、粗体、斜体、下划线和删除线。在 Web 查看器中粘贴时,复制内容中包含的任何链接 URL 和图像将被忽略。如果 Web 查看器中不可用复制内容中使用的字体,将使用默认字体 Helvetica。

  • 显示周长和面积测量的标签和值

    • 相关 API:Polygon::enableCaptionPolyLine::enableCaption
  • PDFDoc.sign 支持旋转 此功能允许用户在将签名字段添加到文档之前,将其旋转到所需的角度(0|90|180|270)。

  • 访问已签名签名的详细信息

    • 相关 API:PDFSignature::getSignInfo()
  • 手动状态处理程序支持文本选择

    • 相关 API:PDFViewCtrl::stateHandlerManager 此版本引入了一个选项,可以打开或关闭手动工具的文本选择功能。当启用手动文本选择时,光标悬停在一串文本上时会变为文本选择形状,表示可以通过鼠标拖动选择文本。
  • 自定义快照交互

    • 相关 API 和类:PDFUI::setSnapshotInteractionClass()UIExtension::SnapshotUIExtension::SnapshotInteraction 通过此版本支持的新功能,您可以重写快照交互并根据需要实现它。
  • UI 组件状态管理

    • 相关 API:Component::keepState()Component::revokeKeepState()Component::isStateKept() UI 组件的可见性可以通过调用 Component::show()/Component::hide() 来控制。然而,这种显示/隐藏操作总是被 SDK 的默认行为覆盖。为了保持这些用户更改,提供了状态管理 API 来保持状态并防止 SDK 更改状态。下面是一个示例,显示如何隐藏红action的应用菜单并调用 keepState() 来保持当前状态。
  • 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 上的触控笔兼容性问题。