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()
处理逻辑,修复了签验后结果数据丢失和异常的问题。 - 通过优化布局识别引擎,解决了引擎识别表格准确率倒退的问题。