ExportPageSVG

矢量图形、SVG、提取

描述

将一个 PDF 页面导出为独立的可缩放矢量图形,具有原生路径、可搜索文本、嵌入式光栅图像和可点击批注链接

语法

Delphi

Function TPDFlib.ExportPageSVG(Page, Options: Integer): WideString;

ActiveX

Function PDFlib::ExportPageSVG(Page As Long, Options As Long) As String

DLL

const wchar_t* DLExportPageSVG(int InstanceID, int Page, int Options);
const char* DLExportPageSVGA(int InstanceID, int Page, int Options);

参数

Page从 1 开始的页码
Options零选择 PDF_SVG_DEFAULT;否则组合 PDF_SVG_INCLUDE_PATHS (1)、PDF_SVG_INCLUDE_IMAGES (2)、PDF_SVG_INCLUDE_TEXT (4)、PDF_SVG_INCLUDE_LINKS (8) 和 PDF_SVG_TRANSPARENT_BACKGROUND (16)

返回值

返回独立的 UTF-16 SVG 文档,验证或提取失败时返回空字符串

备注

已绘制的页面路径会将变换、填充和描边颜色、不透明度、线宽、端点、连接、斜接、虚线、奇偶填充和有界裁剪保留为 SVG 路径属性

文本保持可搜索,图像作为每图像限制为 128 MiB 的 PNG 数据 URI 嵌入,因此成功输出没有外部图像依赖项

URI 注释会成为可点击的覆盖层,内部目标会成为 #page-N 链接,而具备脚本能力的 URI 方案会被省略

页面路径、文本与图像保留其原始绘制顺序,嵌套的 Form 调用会被展开,裁剪保留路径几何与相交顺序

调用返回前会还原所选页面,并且 DLL 返回指针在同一实例上的下一次字符串返回调用前保持有效

页面或选项无效时 LastErrorCode 为 119,导出失败时为 522

不受支持的图案、阴影、软掩码与合成操作会请求对先前绘制内容与受影响操作做有界的原生光栅快照,不包含之后的绘制;源文档保持不变

透明输出或已排除某些绘制类别时会拒绝不透明回退;在接受输出之前,请检查 GetLastSVGExportDiagnostics 了解被省略的像素与近似处理

浏览器字体替换与设备颜色转换可能只是近似渲染;页面内容之外的可见注释外观会作为像素丢失披露

另请参阅

ExportPageSVGToFile, DrawSVG, ExportPageHTML