How to add page numbers to Postscript/PDF

前端 未结 14 1924
臣服心动
臣服心动 2020-12-07 12:06

If you\'ve got a large document (500 pages+) in Postscript and want to add page numbers, does anyone know how to do this?

14条回答
  •  猫巷女王i
    2020-12-07 12:10

    I liked the idea of using pspdftool (man page) but what I was after was page x out of y format and the font style to match the rest of the page.

    To find out about the font names used in the document:

    $ strings input.pdf | grep Font
    

    To get the number of pages:

    $ pdfinfo input.pdf | grep "Pages:" | tr -s ' ' | cut -d" " -f2
    

    Glue it together with a few pspdftool commands:

    $ in=input.pdf; \
    out=output.pdf; \
    indent=30; \
    pageNumberIndent=49; \
    pageCountIndent=56; \
    font=LiberationSerif-Italic; \
    fontSize=9; \
    bottomMargin=40; \
    pageCount=`pdfinfo $in | grep "Pages:" | tr -s ' ' | cut -d" " -f2`; \
    pspdftool "number(x=$pageNumberIndent pt, y=$bottomMargin pt, start=1, size=$fontSize, font=\"$font\")" $in tmp.pdf; \
    pspdftool "text(x=$indent pt, y=$bottomMargin pt, size=$fontSize, font=\"$font\", text=\"page \")" tmp.pdf tmp.pdf; \
    pspdftool "text(x=$pageCountIndent pt, y=$bottomMargin pt, size=$fontSize, font=\"$font\", text=\"out of $pageCount\")" tmp.pdf $out; \
    rm tmp.pdf;
    

    Here is the result:

提交回复
热议问题