Skip to content

Foxit PDF SDK v10.1.0

发布日期:2024年12月16日

新功能与改进

PDF3D

  • 支持获取和应用预设3D视图
  • 支持重置默认视图。
    新接口:
    • GetPresetViewList()
    • ApplyPresetView()
    • ResetDefaultView()

合规性

  • 支持预检功能及PDF/E和PDF/X标准。
    新类:
    • Preflight
    • PDFXCompliance
    • PDFECompliance

页面分析

  • 检测扫描页面。
    新接口:
    • PDFPage::IsScanned()

OCR

  • 增强了OCR配置选项,包括图片文本提取模式、倾斜校正、图像去噪和共享CPU内核使用模式。
    新类:
    • foxit::addon::ocr::OCRConfig 更新接口:
    • Initialize(...is_shared_cpu_cores_mode)

注释

  • 支持执行多个JavaScript类型的子动作。

  • 支持边框和填充色分开设置透明度。

  • 支持通过唯一ID获取注释。 更新接口:

    • ExecuteJavaScriptAction(JavaScriptAction)

    新接口:

    • SetBorderOpacity(), GetBorderOpacity()
    • SetFillOpacity(), GetFillOpacity()
    • GetAnnotsByIdArray()

图像

  • 获取图像方向。
  • 支持从Type3文本对象创建图像对象。
  • 支持克隆页面图像对象中的 1bpp 位图。
    新接口:
    • GetOrientation()
    • ImageObject::CreateFromType3TextObject()
    • ImageObject::CloneBitmap (PDFPage,Graphics_Objects)

字体

  • 支持根据字体家族名称匹配字体。
    新接口:
    • FontMapperCallback::MapFont()

渲染

  • 在Linux上支持将PDF渲染到PDF打印设备。
  • 支持将PDF页面渲染为1bpp位图。 新接口:
    • Renderer(PrintDeviceSettingData& print_param,dest_pdf_path)

搜索

  • 文本正则表达式文本搜索。
    更新接口:
    • TextSearch::SetPattern(key_words,is_regex_search)

文本

  • 支持在添加文本之前计算RichTextStyle 中字符串所需的 PDF Rect 大小。

  • RichTextStyle支持设置char_space和word_space为负值。
    新接口:

    • PDFPage::CalculateNewRectForText()

    更新接口

    • Page::AddText RichTextStyle

水印

  • 支持平铺水印打印和显示设置。
    更新接口:
    • TiledWatermarkSettings(flags)

打印管理器

  • 支持设置打印边距。
    新接口:
    • SetJobPrintUnitType(), GetJobPrintUnitType()
    • SetJobLeftMargin(), GetJobLeftMargin()
    • SetJobRightMargin(), GetJobRightMargin()
    • SetJobTopMargin(), GetJobTopMargin()
    • SetJobBottomMargin, GetJobBottomMargin()

DWG2PDF

  • 监控转换进度及转换进度日志输出控制。

  • 新增颜色转换策略功能。
    新类:

    • DWG2PDFProgressCallback

    更新接口:

    • DWG2PDFSettingData::is_output_progress
    • DWG2PDFSettingData::progress_callback
    • DWG2PDFSettingData::color_policy

Libre Office2pdf

  • 支持通过二进制引擎在Linux上进行多线程转换。
    更新接口:
    • Convert::From[Word][Excel][PowerPoint](...fx_binary_engine_path, LibreOffice_User_Profile)

Foxit PDF2Office

  • 支持通过二进制程序初始化库,增强转换灵活性。

  • 支持新的转换配置项,如插入分页符、删除尾部空格,图像输出,及指定转换超时时间。

  • 支持转换受权限保护的PDF文件。
    更新接口:

    • PDF2Office::Initialize(library_path,fx_binary_program_path)
    • PDF2WordSettingData(...enable_generate_page_rendered_break)
    • PDF2OfficeSettingData (...enable_trailing_space,include_images,)
    • PDF2OfficeSettingData (..timeout)

    新类和接口:

    • ConvertCheckCallback
    • SetConvertCheckCallback(convert_check_callback)

Foxit Office2PDF

  • 正式将Foxit Office2PDF作为组件集成到Foxit PDF SDK。

  • 新增对Word2PDF转换中的大纲转换支持。

  • 在Excel2PDF中新增了工作簿转换选项。

    新增类:

    • Word2PDFConfig
    • Excel2PDFConfig

接口性能增强

  • 显著优化了Optimizer处理含有大量path类型文档的效率 。
  • 显著增强了StartImportPagesFromFilePath() 导入含有表单的文件对象的效率。

已弃用功能

  • 已弃用接口 ImageObject::CloneBitmap (Graphics_Objects)

问题修复

表格相关

  • 修复了调用 AddTableToPage() 单元格合并错误的问题。
  • 解决了通过 insertTablePagesToDocument 插入表格时,填充色没有铺满整个单元格问题。

页面操作与导入

  • 修复了调用 StartImportPages() 拆分页面,结果页面内容错乱的问题。
  • 修复了由于错误判断XML文件格式,导致调用 ImportFromXML() 数据导入失败的问题。
  • 修复了 RemovePage() 删除AcroForm页面后仍然残留表单自动数据的问题。
  • 解决了插入新PDF页面时,由于 CropBox 处理不一致导致失败的问题。

文本处理

  • 修复了使用 GetPageText() 提取含中文字符的文本时出现错误的问题。
  • 修复了 GetPageText() 提取PDF文本顺序错误的问题,通过优化文本提取算法解决。
  • 修复了使用 AddText() 添加阿拉伯语文时显示错误的问题。
  • 修正了使用 SetText 设置阿拉伯语文本时,RTL显示顺序错误的问题。

表单处理

  • 修复了 PDFPage::Flatten() 无法将静态XFA表单字段数据平面化的问题。
  • 解决了动态XFA表单在平面化到PDF后无法正确保留控件状态的问题。
  • 修正了在触发某些回调事件后,动态XFA文档无法加载的问题。
  • 解决了因整型类型精度不足导致表单字段计算结果错误的问题。

搜索功能

  • 修复了由于获取搜索关键字顺序计算错误,导致搜索结果不正确的问题。
  • 修复了调用 ReplaceNext() 时出现异常的问题。

渲染与显示

  • 修复了印前预览中虚线显示错误的问题,通过正确处理填充和描边颜色解决。
  • 修复了由于注释渲染与页面渲染分离,导致印前预览显示异常问题。
  • 修复了带有软遮罩及图案填充路径的背景图像显示问题,通过优化了渲染过程解决。
  • 修复了使用 AddImage() 插入图像时,由于缺乏旋转处理导致图像被镜像的问题。
  • 修正了由于剪切路径被忽略,导致调用 SetMatrix() 后图形对象不可见的问题。

崩溃修复

  • 修复了打开包含3D元素的PDF文件时崩溃的问题。
  • 解决了使用 Renderer 类批量转换PDF到PostScript 导致的崩溃问题。
  • 修复了在Linux环境下并发访问 PDFDoc 对象时,创建新 PDFDoc 导致崩溃的问题。

注释与水印

  • 解决了当PDF文件的注释缺少目标信息(Dest)时,无法正确获取注释操作的问题。
  • 修复了调用 StartExtractPages() 后水印未写入提取页面的问题。

打印相关

  • [Demo] 修复了 pdfprint 示例中,打印包含软遮罩背景的PDF时导致内存不足的问题。
  • [PrintManager] 修正了使用示例中的打印功能时,GetJobStatus() 状态显示为“Unknown”的问题。
  • [PrintManager] 解决了由于打印机未正确调用 GetJob() 函数,导致打印任务等待或无法完成的问题。

优化与性能

  • 修复了优化保存期间由于字体流处理不当导致的数据丢失问题。
  • 通过补充缺失的字体资源,解决了DWG到PDF转换时的乱码问题,确保字体信息完整性。
  • 调整CMYK图像处理逻辑,解决因强制转换为RGB导致了TIFF图像颜色不一致问题。
  • 通过调整TIFF 数据写入方式,解决了TIFF转PDF 后内容丢失的问题。
  • 通过改进 LTVVerifier::Verify() 处理逻辑,修复了签验后结果数据丢失和异常的问题。
  • 通过优化布局识别引擎,解决了引擎识别表格准确率倒退的问题。