PDF Library for Delphi:CJK 与 Emoji 文本的自动字体回退
使用 PDF Library for Delphi 在 Delphi PDF 中解决缺失的 CJK、符号和 emoji 字形:自动字体回退、感知簇的文本整形与 JSON 缺字形报告
losLab 软件开发博客
Software Development Blog
使用 PDF Library for Delphi 在 Delphi PDF 中解决缺失的 CJK、符号和 emoji 字形:自动字体回退、感知簇的文本整形与 JSON 缺字形报告
PDF Library for Delphi 的 SetAutoTagMode 在绘图过程中自动把文本、标题、页眉页脚、插图与表格写入结构树,Delphi 与 C++Builder 应用无需逐次手工包裹 BeginTag 与 EndTag 即可产出无障碍 PDF,并自动声明文档为 tagged 让辅助技术识别
PDF Library for Delphi 在 PDF 中嵌入 AVIF、HEIF 和 JPEG XL 图像,保留位图转换会丢失的 alpha 通道、ICC 色彩配置文件和 16 位通道
矢量条码在任何尺寸下都能保持清晰打印,了解 PDF Library for Delphi 如何在 Delphi 中绘制 QR、PDF417、DataMatrix 和 Code128 条码,并控制纠错等级与尺寸缩放
PDFlibPas 如何加固内置 Delphi TIFF 解码器:按名称拒绝 BigTIFF 魔数 43,在标签解析阶段拒绝分块 TIFF,并把每次解码限制在 256 MiB 以内
在Delphi中用PDF Library for Delphi写入PDF Catalog SpiderInfo Web Capture命令元数据:间接命令字典、URL、爬取层级与标记位白名单
PDF Library for Delphi 通过 Windows CDO 从 Delphi 发送 PDF 邮件,正确处理 CoInitializeEx 套间初始化,可避免多线程批量发送时出现失败,适用于 Delphi 和 C++Builder 项目
PDF Library for Delphi 的 CollateDocumentsEx 每轮从各源文档取 GroupSize 页交错合并,用 3-1 这类降序范围把背面扫描件倒着排回去,页面只导入一次,共享字体也不会被复制两份
使用 PDF Library for Delphi 在 Delphi 中把 PDF/A 预检、PAdES 签名和 ByteRange 审计串成一个工作台,确保验证的修订版本正是最终签署的那一版,适用于 Delphi 和 C++Builder 项目
在 Delphi 中使用 PDF Library for Delphi 重放 PDF 内容流,逐个操作符跟踪 CTM、文本矩阵、裁剪边界以及 q/Q 图形状态栈的变化,适用于 Delphi 和 C++Builder 项目
ConvertToPDFA 在一次调用里移除所选子集禁用的内容、补齐必需内容、声明 PDF/A 子集并检查结果,RepairDocumentMetadata 让 Info 与 XMP 在 Delphi 进程内对齐,GetPDFAConversionReport 列出仍挡在路上的具体障碍
PDFlibPas CopyForeignObject 如何跨文档深拷贝整个 PDF 对象闭包,以及 /Parent 等循环反向引用为何曾引发崩溃,直到引入显式的进行中状态守卫才得以解决
使用 losLab PDF Library 在 Delphi 中将 TDataSet、FastReport、QuickReport 或 ReportBuilder 报表导出为 PDF,支持分页表格与无头输出
通过确定性的 trailer ID 让 Delphi PDF 输出逐字节一致:种子如何推导、为何加密文件保持原值不变、还有哪些细节需要固定 只要调用 ,losLab PDF Library 就能对相同输入产出逐字节一致的 PDF 输出。默认情况下,trailer 的 数组是墙钟时间的 MD5
PDF Library for Delphi 把同一套扁平 PDF API 做成 Stdcall DLL、Safecall ActiveX 对象与 Cdecl dylib,本文讲清每种绑定背后的字符串编码与句柄归属陷阱
PDF Library for Delphi 在 Delphi 中把 WillClose、WillPrint 等文档动作附加到 Catalog /AA,并把页面动作附加到 Page /AA,同时遵守 PDF/A 的限制
PDFlibPas 如何在不依赖任何外部加密库的前提下实现 RFC 8032 Ed448 与 RFC 5639 的三条 Brainpool 曲线,并完整复盘开发过程中定位出的六个错误根因、修复思路与可复用的工程方法
PDF/A 兼容性不等于发票兼容性,了解 PDF Library for Delphi 生成的电子发票如何在 Delphi 中同时通过 veraPDF 容器检查与 Mustang 业务规则校验,适用于 Delphi 和 C++Builder 项目
在 Delphi 中修复 PDF/A 预检错误 00030:losLab PDF Library 的 EmbedMissingFonts 能把字体程序追加到现有 PDF,无需重建字体字典
6500 行的 EMF 转 PDF 转换器为何只需要改一条条件编译而不是推倒重写,以及指针宽度的 ULONG_PTR hatch 字段如何在 Win64 上悄悄造成图元文件记录读取错位
PDF Library for Delphi 在 Delphi 中通过每次重新创建 TPDFDocument 来重试错误的 PDF 密码,而非原地重置,并在十六次尝试后自动停止,适用于 Delphi 和 C++Builder 项目
用 PDF Library for Delphi 像审计员一样读懂 PDF 的 /Encrypt 字典:算法、密钥长度、AES-256 的 R5 与 R6 之别、权限位,以及 Identity 过滤器陷阱
电子发票本质是内部嵌入发票 XML 的 PDF/A-3 文件,了解 PDF Library for Delphi 如何在 Delphi 中跨配置文件构建 Factur-X 和 ZUGFeRD 混合发票,适用于 Delphi 和 C++Builder 项目
了解 PDF Library for Delphi 如何在 Delphi 中通过重用源字节并逐个对象移位间接引用来快速合并 PDF,从而跳过解析与重新序列化的往返过程,适用于 Delphi 和 C++Builder 项目
使用 losLab PDF Library 在 Delphi 中的 AcroForm 与业务系统之间转移 PDF 表单数据,支持 FDF、XFDF 值、分层字段、富文本以及 XFA XDP
了解 losLab PDF Library 的 AuditDocumentSpace 如何在 Delphi 中把 PDF 文件体积拆解为 12 个对象类别,方便你先测量膨胀来源再压缩
PDF Library for Delphi 的 EnumPageContentStatesEx 在 Delphi 中递归处理 PDF Form XObject,按调用链检测循环并正确限定重复资源名称的作用域
Win32 上的 Free Pascal 内部链接器只认 COFF,而 Delphi 构建链接的是 OMF 对象。PDFlibPas 为此单独维护一套 FPC 对象,转换后重写段名与段定义符号,并放弃依赖 Delphi 私有 64 位整数辅助例程的 OpenJPEG 对象
PDF 也能携带地图坐标系,了解 PDF Library for Delphi 如何在 Delphi 中读取 GeoPDF 视口、measure 字典,以及 WKT 或 EPSG 地理坐标框架,适用于 Delphi 和 C++Builder 项目
在 Delphi 中使用 PDF Library for Delphi 构建 GoToR、GoToE 和 Launch 动作,实现远程页面跳转、嵌入式 PDF 目标定位与外部程序启动,并规避零基页码陷阱,适用于 Delphi 和 C++Builder 项目
PDF Library for Delphi 在 PDF 页面内布局带 display flex 和 grid 的 HTML,并跨列跨页对脚注分页,编号保持连续
使用 PDF Library for Delphi 的 DrawTextFlowColumns 和 SetTextFlowHyphenation,在 Delphi 中让 PDF 文本流经带语言感知连字符断行的均衡分栏
在 Delphi 中使用 losLab PDF Library 的 AppendToStream 写入 ISO 32000-1 增量更新,保留数字签名并避免对大型 PDF 进行完整重写
PDF Library for Delphi 的 TPDFlibViewer 通过 OnExit 事件提交就地表单字段编辑,先将 FInplaceEditor 置为 nil,否则失焦会重入提交逻辑并损坏数据
PDF 表单动作能把静态页面变成应用,了解 PDF Library for Delphi 如何在 Delphi 中把 Hide、ImportData、Named 和 JavaScript 动作连接到字段与链接
在 Delphi VCL 中使用 TPDFlibViewer 构建交互式 PDF 查看器,内建五种鼠标工具、现成的 Action、搜索命中高亮、批注点击响应与打印功能,适用于 Delphi 和 C++Builder 项目
PDFlibPas 同时提供原生 Pascal JBIG2 编码器与可选的外部编码器,而把外部后端移植到 Free Pascal 的过程最终需要的是一个 DLL,而不是可直接链接进程序的目标文件
PDFlibPas 将 jbig2enc 后端静态链接进 Free Pascal 可执行文件,解析 ObjConv 如何清除 pick-any COMDAT 以及 FPC 内部错误 200603061
用 PDF Library for Delphi 的直接访问在毫秒内打开 GB 级 PDF:页面句柄、流式合并列表、页码区间提取与交叉引用表修复
在Delphi中,LZW编码器字典总是比解码器领先一个条目,两侧需要不同的码字宽度阈值,任何共享阈值都会让位读取器永久失步,末尾码字处领先才归零。PDFlibPas如何把EarlyChange做对
为什么删除 PDF 页面不会让文件变小?了解 Delphi 中的标记-清除垃圾回收如何借助 trailer 根集合,丢弃孤立对象来真正瘦身,适用于 Delphi 和 C++Builder 项目
PDFlibPas 通过一个滑动只读窗口读取 GB 级 PDF,让 LoadFromMappedFile 以绝对偏移提供 Delphi 对象切片,无需频繁 Seek 或额外缓冲区
合并两份 AcroForm 文档时同名字段怎么办?PDF Library for Delphi 的 MergeDocumentEx 给出 dfsReject、dfsMerge、dfsAutoNumber 三种策略,冲突检测发生在对象重编号之前,被拒绝的合并不会弄坏任何一方
PDFlibPas 用纯 Object Pascal 为 Delphi 和 FPC 实现 FIPS 204 ML-DSA 44、65 与 87,本文讲清三套参数共享一个引擎的设计,以及曾让已知答案测试失配的采样缺陷
PDFlibPas 将当前文档与更早的修订版本逐对象比较,并按白名单把每处差异归入存档更新、表单填写、批注或未分类等修改级别,DocMDP 策略的执行因此简化成一次修改级别的数值比较
在 Delphi 中使用 PDF Library for Delphi 将 PDF 页面渲染为 1 位单色位图并裁剪子区域,通过 GDI 半色调向下转换实现,无需触碰渲染器本身,适用于 Delphi 和 C++Builder 项目
在 PDF Library for Delphi 中按文件切换内置、Cairo 与 PDFium 渲染器:引擎探测、DPI 缩放陷阱,以及一条会自己交代原因的回退链
了解 losLab PDF Library 如何在 Delphi 中写出 PDF 1.5 对象流与 xref 流:ObjStm 布局、type-2 条目、W 字段宽度与加密规则,适用于 Delphi 和 C++Builder 项目
PDF 图层可用于地图、CAD 图纸和多语言版本,了解 PDF Library for Delphi 如何在 Delphi 中创建和读取 Optional Content Groups 及其配置,适用于 Delphi 和 C++Builder 项目
PDF 库大多只能写入书签和注释动作,却读不回来。PDF Library for Delphi 能读出 GoTo、URI、Launch 与 JavaScript 动作,解析目标页、适配类型和坐标,并绕开 SelectPage 那个坑
用 PDF Library for Delphi 生成 PAdES B-B、B-T 与 B-LT 签名:时间戳预留空间、DSS 装配,以及在信任一份文件之前先审计 ByteRange
PDFlibPas 通过 ISO 32000-2 第 14.13 节定义的 /AF 数组把内嵌文件绑定到单个页面,文件本体仍登记在文档级 EmbeddedFiles 名称树里,两种引用共存互不冲突
用 losLab PDF Library 的 Form XObject 页面捕获与可组合水印模板,在 Delphi 中把 PDF 页面并排拼接,或以矢量保真度叠加到另一页上
用 losLab PDF Library 在 Delphi 中并行渲染 PDF 页面:为什么 TPDFlib 需要每个工作线程一个实例、GDI+ 为何要 CoInitialize,以及怎样安全地记日志
在 Delphi 中使用 losLab PDF Library 缩减 PDF 文件大小:子集化嵌入字体、下采样超大图像,并一次性把遗留 LZW 流转换为 Flate,适用于 Delphi 和 C++Builder 项目
使用 PDF Library for Delphi 在 Delphi 中把 PDF 页面导出为语义化 Markdown 或可编辑 DOCX:推断标题、列表、表格,无需 Office 即可流式写出
用 PDF Library for Delphi 在 Delphi 中跑 PDF/A 与 PDF/UA 预检:结构化的检查项、可比对的报告、保存期修正,以及与 veraPDF 的交叉核验
若 Factur-X 发票的 XMP 属性未声明就会无法通过 veraPDF 校验,了解 PDF Library for Delphi 如何在 Delphi 中为 fx 元数据添加 PDF/A-3 扩展 schema
PDF/E-1 拥有独立的 XMP 命名空间,要求完整的生命周期元数据,并封死 BX 兼容性逃逸通道,PDFlibPas 为此在 128 层嵌套、百万对象与 64 MiB 的有界预算内对内容做 preflight
PDFlibPas 如何在 Delphi 中审计 PDF/UA 字体层:经 cmap 与 CIDToGIDMap 解析字形宽度,CharSet 与 CIDSet 采用保守上报规则,并正确拼接扫描页面内容流
PDFlibPas 把 PDF/VCR-1 替换模板建成 StructTreeRoot 的一个分支:模板根声明字段集、占位符绑定数据字段,所以保存关卡和 manifest 会遍历每一个顶层分支,而不是只查第一个
PDF Library for Delphi 使用感知哈希结合三项误差阈值和一次预演模式,合并仅编码方式不同但视觉上完全一致的 PDF 图片
让 Delphi 的打印预览与真正印出来的页面一致:用 PDF Library for Delphi 做设备上下文渲染、虚拟打印机、缩放策略与 DevMode 持久化
剖析 PDF Library for Delphi 在 Delphi 中的 PDF 渲染性能:用哈希索引替代线性字典扫描、用查找表替代逐像素伽马计算,并用构建器消除 O(n²) 字符串拼接,适用于 Delphi 和 C++Builder 项目
PDFlibPas 如何在 Delphi 中从 HTTP 范围服务器与对象存储打开数 GB 级 PDF 而不下载整个文件:读取回调、按块对齐的缓存、请求合并、可用性探测与迭代式预取调度
PDF Library for Delphi 直接使用十六进制文件加密密钥打开 AES-128 和 AES-256 PDF,按 /U 或 /Perms 校验密钥并保持句柄只读
了解 PDF Library for Delphi Delphi PDF Library 如何用单遍 token 扫描器重建损坏的 xref 表,并在扫描时正确忽略字符串、注释与流字节,适用于 Delphi 和 C++Builder 项目
RecolorDocument 与 RecolorPage 在 Delphi 与 C++Builder 中把整份或单页 PDF 转入灰度、RGB 或 CMYK 色彩空间,一次性转换颜色算子、位图图像、索引调色板与渐变色标,几何形状、文本与图像位置保持不变仅改变颜色,是送印前归一化色彩空间的合适步骤
用 PDF Library for Delphi 在 Delphi 中原地替换 PDF 页面,只保留目标页面对象并只搬运视觉相关键,让书签、链接和表单控件都能完整保留,适用于 Delphi 和 C++Builder 项目
非 ASCII 的 AES-256 PDF 密码若不做 SASLprep 处理,在其他阅读器中会打不开,了解 PDF Library for Delphi 如何在 Delphi 中按 ISO 32000-2 和 RFC 4013 准备密码
PLCreateSelfSignedCertificate 只靠 Win32 CryptoAPI 就能生成 RSA/SHA-256 自签名证书,连私钥一起导出成带密码的 PFX;文中讲清 CryptGenKey 的密钥长度标志、CRYPT_EXPORTABLE 和 ProvType 匹配
PDFlibPas在同一个Keccak-f[1600]核心上跑SHA-3和SHAKE256,两者只靠pad10*1域字节和rate规则区分,另外提供一个面向Delphi的流式XOF
Pascal PDF 库的空替代实现有三种失败形态:抛异常的最好查,返回空数据的代价高,而报告成功的那种最难发现,因为返回码、错误码与异常全部干净;诊断它要靠检查输出产物的字节而不是返回码
PDF Library for Delphi 编写 alpha 和亮度软遮罩,设置图像的 Matte 条目,并把透明度扁平化为一份可打印的 PDF 1.3 文件
用 PDF Library for Delphi 从 Delphi 生成带标签的 PDF:边绘制边建结构树、表头语义、artifact 标记,以及保存前的 PDF/UA 诊断
PDF Library for Delphi 将每个提取字符映射回生成它的内容流指令和源字节,让 Delphi 代码可以原地编辑单个字形而不改写整段文本
用 PDF Library for Delphi 从 PDF 中提取带位置的文本、原始图像流和字体元数据,并讲清面向搜索与审计作业的各档提取选项
在 Delphi 中使用 PDF Library for Delphi 按页面范围搜索 PDF 文字,每个命中结果都会返回所在页面与边界矩形,并可枚举页面上的每个文字块与图片,适用于 Delphi 和 C++Builder 项目
使用 losLab PDF Library 在 Delphi 中实现真实的 PDF 内容擦除:RedactRegion 删除内容流字节,SanitizeDocument 清理元数据、脚本与动作
PDF Library for Delphi 按规范等价匹配文本,让 NFC 查询能找到 NFD 内容,并让每处命中都落在完整字位簇的边界上
PDF 解析器本身就是攻击面,了解字体和图像解码器中真实存在的整数溢出、越界写入和无限递归缺陷,以及在 Delphi 中的具体修复方式,适用于 Delphi 和 C++Builder 项目
PDF 是一块完整的二维矢量画布,了解 PDF Library for Delphi 如何在 Delphi 中绘制路径、Bezier 曲线和轴向渐变,以及 even-odd 与 nonzero 填充规则的差异
PDF Library for Delphi 的 SetVerticalWritingMode 通过竖排模式下的 Type0 字体让日文与中文沿页面自上而下排布,采用字形自带的竖排形态,DrawVerticalText 可在不切换全局书写模式时绘制单段竖排,GetVerticalTextHeight 度量实际形态
在 Delphi PDF 查看器中使用跨会话磁盘页面缓存与每显示器 DPI 加速:losLab PDF Library 的 FNV-1a 指纹、LRU 修剪与 WM_DPICHANGED 处理
PDF Library for Delphi 导入 WOFF2 网页字体,并将 TrueType 和 CFF2 可变轴实例化为静态字体,使其能正常内嵌、子集化和提取
在 Delphi 中使用 losLab PDF Library 里的 XFA 3.3 SOM 路径表达式,填充动态 XFA 表单中的重复行,涵盖 $record 根、[*] 出现次数与谓词