1.21
- 修正了 pdfiumreport.app 中的 DPI 感知错误:当系统 DPI 非 96(DPI 缩放 > 100%)且应用程序 DPI 为 96(应用程序具有 DPI 感知)时,使用 GdipMeasureString 测量的文本范围不正确。
1.20
- 提高了报表渲染的性能:将报表对象模型保存在临时 Cursor 中比保存在对象数组中更快
1.19
- 修正错误:字体字符子集计算可能会跳过字符
1.17 - 1.18
- 删除了 libHaru 依赖关系。不再需要 libhpdf.dll 和 libhpdf64.dll 文件。
- 通过 PDFium API 实现 VFP 报表的 PDF 渲染
- 添加了以严格的 OOXML 格式将 VFP 报表渲染为 docx 的实现。该功能可通过 PdfiumReport.app 的预览窗口使用
- 从 pdfium-vfp.vcx 的发布版中删除了所有与 VFP 报表渲染相关的类,因此发布的 pdfium-vfp.vcx 只包含 PDF 查看器实现。
1.16
- 修复 1.15 中的错误: PdfiumReport 在输出 pdf 对象的垂直位置上添加了打印机的顶部物理偏移,因此在打印报告时可能会切断报告的底线
1.15
-
移除 GDIPlusX 的依赖
-
从 Pdfium_env 类中移除 System 和 system_app_path 属性
-
移除公共变量 _PdfiumReportEnv,使用 Application.PdfiumReportEnv 予以替代
-
移除公共变量 _PdfiumReportEnv,使用 Application.PdfiumReport 予以替代
-
PdfiumReport: 标签行间距和对齐方式的渲染(早期的标签为单倍行间距和左对齐方式渲染)
-
PdfiumReport: 修正标签控件渲染bug--标签文本在某些情况下可能被裁剪(取决于字体大小)
-
PdfiumReport: 修正了字体样式动态属性渲染错误--如果字体样式设置为Normal(动态属性的FStyle属性值为0),渲染器会忽略该字体样式。
-
PdfiumReport: 重构报告渲染以实现桥接设计模式,将来需要实现ODT渲染。
-
PdfiumViewer: 增加 “Ctrl + A ”快捷键(选择所有文本),仅当 PdfiumViewer 控件有输入焦点时有效。
1.14
-
删除了多余的图像压缩:
- PdfiumViewer: 移除了包含 png 格式页面图片的渲染缓存。渲染变得更快,在缩小时也不那么模糊了。
- PdfiumReport: 当原始图片大小大于图片控件大小时,移除了图片缩放。现在,图片以原始大小存储在输出的 pdf 中,从而在查看 pdf 时获得更好的图片渲染质量。
-
PdfiumReport: 提高将文本渲染为图片的质量(符号字体文本、旋转文本)。
-
PdfiumReport: 检索嵌入在应用程序可执行文件中的图片。
增加属性
PdfiumReport.Ext_Func_GetFileData
* 基本用法
**********************************************************************************************
_REPORTOUTPUT = "pdfiumreport.app"
DO (_REPORTOUTPUT)
...
* 检索嵌入在应用程序可执行文件中的图片的示例函数
SET PROCEDURE TO sample_getfiledata.prg ADDITIVE
_PdfiumReport.Ext_Func_GetFileData = "sample_getfiledata"
**********************************************************************************************
* sample_getfiledata.prg
**********************************************************************************************
LPARAMETERS lcFileName
RETURN FILETOSTR(m.lcFileName)
**********************************************************************************************
- 增加测试覆盖面
1.13
- 重新组织文件夹
- 所有二进制文件都移到了 Release 文件夹中
- Thor 的文件从 ...\Thor\Tools\Components\pdfium-vfp\source移到了 ...\Thor\Tools\Components\pdfium-vfp\
- 添加单元测试
1.12
-
为依赖性 API 调用(Pdfium、LibHaru、WinApi)添加了封装程序,以避免 DECLARE-DLL 与其他组件发生冲突
-
修复已知问题
依赖关系声明与 FoxBarcode 库中使用的 gpimage2.prg 冲突(要解决此问题,只需删除 gpimage2.prg 中的 clear dlls )
-
源代码中变量添加 m. 前缀
1.11
- 修正了已知问题 “PdfiumViewer 不支持非 ASCII 字符范围的大小写不敏感搜索”。 这是 pdfium bug https://issues.chromium.org/issues/42270374 ,所以除了避免使用 pdfium 搜索 API 和实现自己的文本搜索外,别无他法。
1.10
- SET CONSOLE OFF 已在报表渲染前添加到 PdfiumReport 中,并在报告渲染后恢复。
1.9
-
PdfiumViewer.OpenPDF 接受 PDF 密码作为第二个参数
-
加密 PDF 的密码输入表单。当参数中未传递密码或密码不完整时,该表单就会出现。
-
报告渲染完成后,PdfiumReport.app 不再销毁 _PdfiumReport 变量。_PdiumReport 会一直存在,直到执行 DO PdfiumReport.app WITH .F. 。
-
PdfiumReport 类扩展了 SaveAs_PdfMeta 属性,引用了 Pdfium_PdfMeta 对象,该对象具有
- PDF 元数据(Author<作者>, Creator<创作者>, Title<标题>, Subject<主题>, Keyword<关键词>, Publisher<出版商>), - PDF 内容加密的用户密码, - 读者权限(复制、打印、编辑内容、编辑注释和填写表单) - 所有者密码,保护读者的权限。
在将报表保存到 pdf 文件时,应用了 PdfiumReport.SaveAs_PdfMeta。
在 README_CN.md中添加了一个使用指南
-
简体中文的 UI 本地化。作者:Xinjie
-
PdfiumReport 不再在输出的 PDF 中嵌入打印机的偏移量(页边距)。
-
PdfiumReport 按照原生 VFP 报表渲染方式渲染线条和形状位置,1.9 之前的渲染方式不够精确
-
更改了 PdfiumReport 对 REPORT FORM ... TO PRINTER 子句的处理方式:
-
在 1.9 之前,PdfiumReport在 REPORT 命令包含 TO PRINTER 时没有任何操作,原生 VFP 打印完成所有工作。
-
自 1.9 版起,PdfiumReport 可像报表预览一样生成 PDF,并将 PDF 发送至打印机。
要切换回来,请使用 PdfiumReport.ToPrinterNative 属性:
.T. - 报表由 VFP 打印(PdfiumReport 与 1.9 之前一样不做任何操作); F. (默认)- 报表由 PdfiumReport 打印(将报表渲染为 PDF 并打印 PDF)
-
-
在 PdfiumReport.Render_FrxPicture 中调用 System.Drawing.Bitmap.FromVarBinary 时发现可能的 GDIPlusX 错误
在 xfcMemoryStream.capacity_assign 中出错("MemoryStream 不可扩展) 在 capacity_assign 方法中访问 xfcMemoryStream.Handle 时发生错误
在修复 bug 之前,FromVarbinary 调用被 FromFile 方法取代
1.8
- 修正了 issue #3 “顶层表单中的 pdfiumviewer”(当 Thisform.ShowWindow = 2 时,pdfiumviewer 窗口不可见)
1.7
- 为使用 FoxGet 发布做准备
- 将 pdfium-vfp.vcx 中的图片路径重写为表达式,以避免在编译用户项目时出现 “未找到文件 ”错误
- PdfiumReport.app: GDIPluxX System.Drawing.Graphics.DrawString 调用被 gdiplus plain api 函数调用取代(GDIPluxX DrawString 对输入文本执行 STRCONV(...,5),而 VFP ReportListener 以 Unicode 渲染文本)
1.6:
- 在 PdfiumReport.app 中支持动态和旋转属性
1.5:
- 支持 VFPA x64(添加了 pdfuim64.dll、pdfium-vfp64.dll 和 libhpdf64.dll)。
- pdfium.dll、libhpdf.dll 已更新至最新版本
- 修正了垂直滚动条尺寸计算(单页 pdf 上的滚动条不可见)
1.4:
- 带变音符号的文件名
1.3:
- 在 PdfiumReport.app 中支持专用字体
- 首次在 Linux 上进行测试
1.2.9:
- 为 PdfiumReport 类添加了 SaveAs_Filename 属性。它用来存储报表预览“另存为”对话框的建议文件名
1.2.8:
- 在 pdfiumreport.app 预览表单中添加了比例选择
- 在 frx 报表中使用的字体未安装在系统中(或自 1.3 版起未安装在 GDIPlus 私有字体集合中)时,为 system.app Font.FontFamily 抛出错误
(迄今为止原因不明)的情况下添加了后备字体家族上升值和下降值。
1.2.7: VFPX Deployment