Дайте сгенерированному PDF произвольный заголовок - PullRequest
0 голосов
/ 04 июля 2018

Я объединил два PDF с помощью команды

$cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName ";
Это работает для меня. Но проблема в том, что название нового сгенерированного PDF не установлено в соответствии с тем, что я установил в header('Content-Disposition: inline; filename="Test.pdf"'); Я ожидаю, что заголовок будет Test.pdf, но заголовок остается заголовком последнего PDF-файла в объединенных PDF-файлах.

1 Ответ

0 голосов
/ 04 июля 2018

Звучит так, будто вам нужно установить заголовок в словаре документа / информации файла PDF. Вы можете сделать это, отправив DOCINFO pdfmark.

Справочное руководство по pdfmark можно найти, покинув его. Это на веб-сайте Adobe, но они так часто перемещают мебель, что нет смысла цитировать сегодняшние URL.

Вы можете найти pdf-марку DOCINFO, описанную на странице 28 ссылки Acrobat 9 (я не знаю, есть ли более новая), вам понадобится что-то вроде:

[ /Title (My Title goes here) /DOCINFO pdfmark

Это PostScript, поэтому вам нужно предоставить его в Ghostscript как PostScript, что означает, что вам нужны переключатели -c и -f. Так что-то вроде:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName -c "[ /Title (My Title goes here) /DOCINFO pdfmark" -f

Тебе повезло, что я это заметил, поскольку ты не пометил это Ghostscript.

...