如何使用pdflib库设置自定义元标记?

时间:2012-01-17 15:50:28

标签: php pdflib

我正在使用pdflib库在php中生成pdf。我能够使用此库创建pdf,但却无法为pdf生成自定义元标记。

任何人都可以帮助我解决这个问题,这样我就可以为我的pdf生成元标记。

谢谢!

2 个答案:

答案 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)

尝试使用PDFlib PLOP可以在

上找到

http://www.pdflib.com/products/plop/

借助此功能,您可以为pdf设置元标记。

谢谢!