Как установить пользовательские метатеги с помощью библиотеки pdflib?

Я использую библиотеку pdflib для создания pdf в php. Я могу создать PDF-файл с помощью этой библиотеки, но пока не могу создавать пользовательские метатеги для PDF.

может ли кто-нибудь помочь мне в этом, чтобы я мог генерировать метатеги для своего pdf.

Спасибо!


person Smit    schedule 17.01.2012    source источник


Ответы (2)


Стандартные информационные теги документа: 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, вы можете автоматически заполнить свою пользовательскую информацию в xmp, используя опцию autoxmp=true при вызове PDF_begin_document():

if (PDF_begin_document($p, $pdf_output_file, "autoxmp=true") == 0) {
  die("Error: " . PDF_get_errmsg($p));
}

Я проверил это в реальном коде и могу подтвердить, что это работает.

Альтернативный (и немного более сложный) способ: это.

В этом примере используется utf8, что предпочтительнее в настоящее время из-за глобализации. Поэтому преобразуйте ваш php-файл для использования utf8 в качестве mime-кодировки с помощью редактора файлов (UltraEdit, Textmate и т. д.) или с помощью инструмента командной строки icon.

person Timo Kähkönen    schedule 12.03.2013
comment
Подождите, неужели нет способа переопределить Producer? Это коммерческая библиотека, которую разработчикам необходимо купить для коммерческого использования, и по-прежнему у них нет возможности скрыть факт ее использования путем настройки или, что еще лучше, полностью удалить тег производителя? Какое жалкое оправдание библиотеки PDF. - person Dexter; 03.04.2018

Попробуйте использовать PDFlib. PLOP можно найти на

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

С помощью этого вы можете установить свои метатеги для вашего PDF.

Спасибо!

person Smit    schedule 17.01.2012
comment
Похоже, это то, что я ищу - person Smit; 17.01.2012
comment
попробуйте для этого и дайте мне знать, если у вас есть какие-либо трудности в этом. - person Smit; 17.01.2012