Skip to content

福昕 PDF SDK v12.0(预览版)

发布日期:2026 年 6 月 30 日

本版本为 预览版,API 与开发者文档可能在正式发布前调整。从 v11.x 升级时请重点核对下文「不兼容变更」。

不兼容变更

以下变更在从 v11.x 升级时需要修改代码。未做调整的项目将无法编译或可能出现异常行为。PDF/OFD 互转迁移说明另请参阅 PDF 与 OFD 互转

OFD 模块命名空间迁移

OFD 引擎由 Add-on 架构演进为 SDK 内置能力,命名空间与包路径整体迁移

语言旧架构新架构
C++foxit::addon::ofdfoxit::ofd
Javacom.foxit.sdk.addon.ofdcom.foxit.sdk.ofd

所需操作: 更新 #include、命名空间与 Java import 语句;头文件位于 include/ofd/(如 ofd/fs_ofdpackage.hofd/fs_ofddoc.h)。

Library::InitializeOFDEngine / ReleaseOFDEngine — 已移除

OFD 引擎随 SDK 一体化交付,不再需要单独初始化或释放 OFD 运行时:

cpp
// v11.x
Library::InitializeOFDEngine(engine_path);
// ... 使用 OFD API ...
Library::ReleaseOFDEngine();

// v12.0
// 无需调用 InitializeOFDEngine / ReleaseOFDEngine
// 在 Library::Initialize 成功后直接使用 foxit::ofd 模块 API

所需操作: 删除所有 InitializeOFDEngineReleaseOFDEngine 调用及相关部署步骤(独立 OFD 运行库路径配置等)。

OFD 文档打开模型 — OFDDoc 不再按文件路径直接构造

OFD 文档模型对齐标准 Package → Document 结构:

项目v11.x(旧)v12.0(新)
打开方式OFDDoc(ofd_file_path)OFDPackage 打开文件包 → LoadDocumentOFDDoc
文档含义简化模型包内文档内容对象
cpp
// v11.x
foxit::addon::ofd::OFDDoc doc(ofd_path);

// v12.0
foxit::ofd::OFDPackage package(ofd_path);
foxit::ofd::OFDDoc doc = package.LoadDocument(0, password);

所需操作: 改用 OFDPackage 打开 OFD 文件并加载文档;包级保存、加密检查等操作在 OFDPackage 上完成。详见 OFD 功能概述OFD 文档包

OFDRenderer — 重命名为 OFDRender

渲染类更名并归入 foxit::common

项目v11.x(旧)v12.0(新)
类名OFDRendererOFDRender
头文件addon/ofd/fs_ofdrenderer.hcommon/fs_render.h
渲染选项OFDRenderOption

所需操作: 替换类名与头文件引用;构造 OFDRender 并调用 StartRender 完成渐进式渲染。详见 OFD 渲染

OFDPage 页面区域 — GetWidth / GetHeight 改为 GetPageBox

页面尺寸与区域应通过 PageBox 读取:

cpp
// v11.x
float w = page.GetWidth();
float h = page.GetHeight();

// v12.0
RectF box = page.GetPageBox(OFDPage::e_PhysicalBox);
float w = box.right - box.left;
float h = box.bottom - box.top;

所需操作: 使用 GetPageBox(PageBoxType) 获取页面区域并按需计算宽高。

PDF 与 OFD 互转 — Convert 迁移为 OfdConvert

互转入口由 Convert::FromOFD / Convert::ToOFD 调整为专用类 OfdConvertOFDConvertParam 字段更丰富(如 document_indexdpijpg_qualityis_embed_font 等):

语言旧版接口新版接口
C++foxit::addon::conversion::Convert::FromOFD / ToOFDfoxit::addon::conversion::OfdConvert::ToPdf / FromPdf / ToImage
Javacom.foxit.sdk.addon.conversion.Convert.fromOFD / toOFDcom.foxit.sdk.addon.conversion.OfdConvert.toPdf / fromPdf / toImage
cpp
// v11.x
#include "include/common/fs_common.h"
#include "include/addon/conversion/fs_convert.h"

using namespace foxit::common;

Library::InitializeOFDEngine(engine_path);
foxit::addon::conversion::OFDConvertParam convert_param;
foxit::addon::conversion::Convert::FromOFD(src_ofd_path, L"", output_path + L"ofd2pdf.pdf", convert_param);
foxit::addon::conversion::Convert::ToOFD(src_pdf_path, L"", output_path + L"pdf2ofd.ofd", convert_param);
Library::ReleaseOFDEngine();

// v12.0
#include "include/addon/conversion/fs_convert.h"

using namespace foxit::addon::conversion;

OFDConvertParam param;
param.document_index = 0;
param.is_embed_font = true;
param.dpi = 150;
param.jpg_quality = 85;
param.password = "";

OfdConvert::ToPdf(src_ofd_path, "", output_path + L"ofd2pdf.pdf", param);
OfdConvert::FromPdf(src_pdf_path, "", output_path + L"pdf2ofd.ofd", param);
OfdConvert::ToImage(src_ofd_path, "", output_path + L"page0.jpg", param, 0);

所需操作: 移除 OFD 引擎初始化调用;改用 OfdConvert 静态方法;按业务需要配置 OFDConvertParam 新字段。

新增功能

本预览版新增 FLD 模块OFD 模块(内置引擎,替代 v11.x Add-on 架构)。

FLD(板式文档)

  • 新增 FLD 模块,支持 PDF/OFD 统一加载、类型识别、页面访问与渲染。

OFD

  • 新增 OFD 模块,支持 OFD 文档包打开、页面处理,以及渲染、文本、注释、书签、附件、签名、水印等 OFD 专属能力。
  • OFD 文档模型调整为 OFDPackageOFDDocOFDPage;迁移说明见上文「不兼容变更」。