Так что я бы хотел добавить «нижний колонтитул» (атрибуция) внизу каждой страницы PDF-файла, который я генерирую с помощью postscript с groff в linux. Я сам конвертирую файл из ps в pdf с помощью инструмента ps2pdf, поэтому у меня есть доступ к обоим форматам.
Эти два поста были несколько полезны:
Как добавить номера страниц в Postscript / PDF
Как сделать, чтобы программа наложила текст на файл postscript?
Я не против использования первого метода, но у меня нет доступа к утилите pdflatex
, упомянутой в первом сценарии, и при этом у меня нет возможности установить ее на компьютер, который должен выполнять работу .
Похоже, что второй метод мог бы сработать, но у меня установлена версия 8.15 ghostscript, и я не видел много флагов, перечисленных на странице руководства (http://unix.browserdebug.com/man/gs/). Я думаю, что у меня есть доступ к флагу "-c" для вставки некоторого постскрипт-кода, хотя он не указан в списке. Во всяком случае, вот две команды, которые я попытался неудачно:
gs -o output.pdf -sDEVICE=pdfwrite -g5030x5320 \
-c "/Helvetica-Italic findfont 15 scalefont setfont 453 482 moveto (test-string) show" \
-f input.ps
, что дает мне это:
Unknown switch -o - ignoring
ESP Ghostscript 815.02 (2006-04-19)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
ERROR: /undefinedfilename in (output.pdf)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:1117/1686(ro)(G)-- --dict:0/20(G)-- --dict:102/200(L)--
Current allocation mode is local
Last OS error: 2
ESP Ghostscript 815.02: Unrecoverable error, exit code 1
Очевидно, что флаг -o имеет проблему, поэтому я провел небольшое исследование и попробовал этот синтаксис:
gs -sOUTPUTFILE=output.pdf -sDEVICE=pdfwrite -g5030x5320 \
-c "/Helvetica-Italic findfont 15 scalefont setfont 453 482 moveto (test-string) show" \
-f input.ps
, который выводит это и заставляет меня нажимать return 4 раза (возможно, есть 4 страницы в input.ps)
ESP Ghostscript 815.02 (2006-04-19)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Can't find (or can't open) font file /usr/share/ghostscript/8.15/Resource/Font/Helvetica-Italic.
Can't find (or can't open) font file Helvetica-Italic.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Helvetica-Oblique for Helvetica-Italic.
Loading NimbusSanL-ReguItal font from /usr/share/fonts/default/Type1/n019023l.pfb... 3742416 2168114 2083056 759694 1 done.
Loading NimbusRomNo9L-ReguItal font from /usr/share/fonts/default/Type1/n021023l.pfb... 3781760 2362033 2365632 1015713 1 done.
Loading NimbusRomNo9L-Medi font from /usr/share/fonts/default/Type1/n021004l.pfb... 3865136 2547267 2365632 1029818 1 done.
Loading NimbusRomNo9L-Regu font from /usr/share/fonts/default/Type1/n021003l.pfb... 4089592 2759001 2365632 1032885 1 done.
Using NimbusRomanNo9L-Regu font for NimbusRomNo9L-Regu.
>>showpage, press <return> to continue<<
>>showpage, press <return> to continue<<
>>showpage, press <return> to continue<<
>>showpage, press <return> to continue<<
Так что, кажется, было бы достаточно просто использовать gs
, чтобы просто вставить что-то в файл ps, но это оказывается довольно сложным ...