我正在使用 pdflib 库在 php 中生成 pdf。我可以使用这个库创建 pdf,但无法为 pdf 生成自定义元标记。
任何人都可以帮助我解决这个问题,以便我能够为我的 pdf 生成元标记。
谢谢!
标准文档信息标签是Subject, Title, Creator, Author, Keywords, Trapped
.
您以这种方式使用它们(至少在 pdflib 7 中):
PDF_set_parameter($p, "超文本编码", "unicode"); PDF_set_parameter($p, "超文本格式", "utf8"); PDF_set_parameter($p, "usehypertextencoding", "false"); PDF_set_parameter($p, "textformat", "utf8"); PDF_set_info($p, "创作者", $创作者); PDF_set_info($p, "作者", $Author); PDF_set_info($p, "标题", $Title); PDF_set_info($p, "主题", $主题); PDF_set_info($p, "关键词", $Keywords);
要定义用户定义的标签,请使用:
PDF_set_info($p, "MyCustoMKey", $MyCustomValue);
用户定义的标签不能是:CreationDate, Producer, ModDate, GTS_PDFXVersion, GTS_PDFXConformance, ISO_PDFEVersion
。
这足以将自定义标签转换为 pdf。但是,如果您真的希望它们作为 xmp,您可以autoxmp=true
在调用时使用选项将自定义信息自动填充到 xmp PDF_begin_document()
:
if (PDF_begin_document($p, $pdf_output_file, "autoxmp=true") == 0) { die("错误:" . PDF_get_errmsg($p)); }
我已经在实际代码中测试了上述内容,并且可以确认它有效。
另一种(更复杂一点)的方式是this。
此示例使用 utf8,由于全球化,现在更可取。因此,使用文件编辑器(UltraEdit、Textmate 等)或使用命令行工具iconv将您的 php 文件转换为使用 utf8 作为 mime 编码。