property Producer: WString; // read only
Producer 返回 Info 字典中的 /Producer 条目(PDF 1.7 spec section 14.3.3)。该字符串标识了 写出 PDF 字节的软件组件,通常是 PDF 渲染 / 转换引擎,例如 “Adobe PDF Library 17.0”、“Microsoft: Print To PDF”、“Skia/PDF m126”、“GPL Ghostscript 10.02” 或 “iText 8.0.2”。可将其与 Creator 对比,后者描述的是原始创作应用(Word、InDesign 等)
该值会被解码为 UTF-16,当 Info 字典缺失或 Active 为 False 时可能为空。规范中 /Producer 和 /Creator 都是可选项,但几乎每个现代 PDF 都会声明 /Producer,因为 PDF 生成器通常会自动写入它
Producer 对路由决策是很强的信号:先扫描再 OCR 的 PDF 通常会显示 TWAIN 扫描驱动,屏幕捕获生成的 PDF 会显示 “Microsoft: Print To PDF”,而来自创作工具的导出则会标出已知转换库。较新的 PDF 也可能在 XMP 元数据中以 pdf:Producer 镜像这个值;两者应当一致,但在增量更新后历史上常会出现漂移
FPDF_SetMetaText PDFium APIPdfVersion 配合,用于取证识别那些报告的 producer / spec 版本不一致的异常或可疑 PDF
Pdf1.LoadFromFile('invoice.pdf');
if Pos('Ghostscript', Pdf1.Producer) > 0 then
Log.Add('Re-converted by Ghostscript - validate signatures');