Cairo 渲染

3.9.9 版在 Windows 上增加可选 Cairo 渲染。应用程序可以用 SetCairoFileName 传入 cairo.dll 的完整路径,然后调用 SelectRenderer(2) 使用 Cairo 渲染。SelectRenderer(1) 切回 GDI+,PDFium 支持可用时 SelectRenderer(3) 选择 PDFium

3.9.10 版修复 Cairo 图形状态恢复问题,避免在 PDF q/Q 保存和恢复操作之后,已裁剪的图像区域限制后续页面内容

3.9.11 版修复带 color-key /Mask 数组的 PDF 图像 XObject 的 Cairo 渲染,包括徽标和具有透明背景色的图像

3.9.12 版通过启用平滑图像插值,并对缩放图像使用高质量双三次重采样,改进默认 GDI+ 图像质量。应用程序仍可调用 SetGDIPlusOptions(3, 0) 恢复此前更锐利的 nearest-neighbor 图像缩放行为

支持的渲染路径

- RenderPageToStream 和 RenderPageToFile 支持 Cairo bitmap、JPEG、PNG、GIF、TIFF 和 G4 TIFF 输出

- RenderDocumentToFile 支持相同图像格式的多页 Cairo 栅格输出

- RenderPageToDC 使用 Cairo 将所选页面渲染到 Windows device context

- 选择渲染器 2 时,PrintDocument 和 PrintPages 使用 Cairo

- Cairo 渲染器不支持 RenderPageToMemory

部署说明

Cairo DLL 必须与进程架构匹配。发行包把运行时文件放在 DLL\Cairo\Win32 和 DLL\Cairo\Win64 下。部署时可将 cairo.dll 与应用程序放在一起,或让应用程序把绝对 DLL 路径传给 SetCairoFileName

Delphi 语法

function TPDFlib.SetCairoFileName(const FileName: WideString): Integer;
function TPDFlib.SelectRenderer(RendererID: Integer): Integer;
function TPDFlib.SelectedRenderer: Integer;