Поэтому я хотел бы добавить «нижний колонтитул» (атрибуция) к нижней части каждой страницы pdf-файла, который я генерирую через постскриптум с помощью groff в linux. Я конвертирую файл из ps в pdf самостоятельно, с помощью ps2pdf-инструмента, поэтому у меня есть доступ к обоим форматам.Как добавить нижний колонтитул к нижней части каждой страницы постскриптума или файла pdf в Linux?
Эти две должности были несколько полезны:
How to add page numbers to Postscript/PDF
How can I make a program overlay text on a postscript file?
Я не против использования первого метода, но у меня нет доступа к pdflatex
полезности упомянутых в первый сценарий, и у меня нет возможности установить его на машине, которая должна выполнять эту работу.
Похоже, что второй способ может работать, но у меня установлена версия 8.15 ghostscript, и я не видел много флагов, перечисленных на странице руководства (http://unix.browserdebug.com/man/gs/). Я думаю, что у меня есть доступ к флагу «-c», чтобы вставить код postscript, даже если он не указан. Во всяком случае, вот две команды, которые я безуспешно:
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
Так, очевидно, -о флаг имеет проблему, и поэтому я сделал некоторые исследования и попробовал этот синтаксис:
gs -sOUTPUTFILE=output.pdf -sDEVICE=pdfwrite -g5030x5320 \ -c "/Helvetica-Italic findfont 15 scalefont setfont 453 482 moveto (test-string) show" \ -f input.ps
, который выводит это и заставляет меня ударил возврат товара в 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
, чтобы просто вставить что-то в файле пс, но она оказывается довольно сложным ...
Я использую систему, в которой ESP установлен без привилегий для установки обновленной версии. Интересно, есть ли способ, которым я могу заставить его работать с ESP ... – cwd
ESP Ghostscript больше не поддерживается .... Единственный способ заставить это работать как непривилегированный пользователь - это дополнительно установить более новую версию Ghostscript в ваш домашний каталог (или любое другое место, которое можно записать в свою учетную запись). –