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