Native Linux HTML, Editing, OCR and Archival Workflows
原生 Linux 回调 ABI 接受 schemaVersion 1 的 html.import、text.draw、ocr 和 pdfa.convert,沿用既有的输出、结果、工作字节和像素预算
HTML 导入
{"schemaVersion":1,"type":"html.import","html":"<h1>Invoice</h1><p>Searchable Unicode</p>","createAcroForms":true}
HTML 导入作用于空句柄,使用共享 HTML5/CSS 布局引擎,配原生绘制画布、Fontconfig 匹配、嵌入 Unicode TrueType 字体、HarfBuzz/FriBidi shaping、PNG/JPEG/BMP/GIF 资源、alpha 掩模、超链接、分页和 AcroForm 控件
ABI 接受内联数据资源;不安装网络或文件资源回调,而 Pascal 调用方可以提供既有导入器回调来显式供给字体、图像和样式表资源
可选 pageWidth 和 pageHeight 使用点;maxPages 和 maxLayoutOperations 必须为正,DOM、CSS、资源和图像分配同样遵循操作预算
页面文本编辑
{"schemaVersion":1,"type":"text.draw","page":0,"text":"Searchable Unicode","left":36,"bottom":36,"right":559,"top":108,"fontFamily":"DejaVu Sans","fontSize":12,"invisible":true}
插入保留原始页面流,包括间接引用的内容数组,并以私有资源名追加嵌入 Unicode 表单外观;不可见文本使用渲染模式 3,仍可搜索
坐标是未旋转的 PDF 用户空间点;characterSpacing 与 wordSpacing 用点,已认证 AES-256 的替换保留加密、密码和权限
Pascal 的 AppendPageText API 还接受四分之一圈外观旋转和显式矩形适配
实际 OCR
{"schemaVersion":1,"type":"ocr","pages":[0],"language":"eng","dpi":216,"searchLayer":true,"maxMilliseconds":120000}
OCR 渲染真实页面像素,以参数向量直接调用已安装的 Tesseract 可执行文件,读取有界 TSV 单词,校验 UTF-8、置信度和页面坐标,并把旋转/裁剪后的页面几何映射回 PDF 坐标
结果包含每页单词的 text、confidence、left、bottom、right 和 top;searchLayer 为 false 时只返回识别数据,为 true 时还输出一个带适配的不可见嵌入字体文本的 PDF
可选 tesseractPath 指定显式可执行文件;maxWords、minimumConfidence 和 maxMilliseconds 约束识别,取消或超时终止并回收运行中的进程
原生 PDF/A-4 栅格输出
{"schemaVersion":1,"type":"pdfa.convert","profile":"PDF/A-4","dpi":144}
原生栅格转换写出全新的未加密 PDF 2.0 页面,烘焙页面旋转、PDF/A-4 XMP、文档标识符和生成的嵌入 sRGB output intent;当前验收包括独立 veraPDF 验证零失败规则和检查
输出把原始文本和矢量栅格化、拼合可见外观、替换源元数据,并丢弃交互字段、动作、附件和签名;结果报告 rasterized、removedFormFields 和 removedSignatures
已签名输入要求显式 allowSignatureInvalidation true;可见注释在拼合前需要可用的 normal 外观,而 native text/vector preservation 提供带真实验证的可搜索转换模式
Explicit archival font repair 通过有界 Ghostscript 规范化嵌入可用替代字体,保留可搜索文本和矢量,并在发布前验证 PDF/A-4
发布与运行时
全部二进制输出在回调前准备完毕;生成或编辑的文档只在输出与 JSON 回调成功后替换句柄,失败保留先前上下文
原生 HTML 需要 FCL 图像读取器、Fontconfig、已安装的 Unicode TrueType 字体、HarfBuzz 和 FriBidi;OCR 另需 Tesseract 与已训练语言数据,归档档案生成需要 Little CMS 2
Callback ABI · Native drawing canvas · Pascal OCR API · Pascal archival API
Append selected pages and validate text/vector-preserving PDF/A-4 output