2

有人知道如何在 PDF 的页脚添加页码吗?下面是一个示例,展示如何使用 . 在页眉处添加页码enscript, ps2pdf pdftk。有用。

#!/bin/bash
input="$1"
output="${1%.pdf}-header.pdf"
pagenum=$(pdftk "$input" dump_data | grep "NumberOfPages" | cut -d":" -f2)
enscript -L1 --header='|Page $% of $=|' --output - < <(for i in $(seq "$pagenum"); do echo; done) | ps2pdf - | pdftk "$input" multistamp - output $output

根据enscript的手册,更改--header--footer将适用于页脚。但实际上,无论我如何设置 选项--footer,根本没有页脚。怎么了?--footer有用吗enscript

4

2 回答 2

4

有人在 askubuntu 上发布了一个很好的工作 .hdr 文件示例,以及调用新头文件的替代方法。 https://askubuntu.com/questions/544606/printing-footers-using-enscript

% -- code follows this line --
%Format: fmodstr    $D{%a %b %d %H:%M:%S %Y}
%Format: pagenumstr $V$%

%HeaderHeight: 38
%FooterHeight: 15

/do_header {   % print default simple header

% Footer
gsave
  d_footer_x d_footer_y HFpt_h 3 div add translate
  HF setfont

  user_footer_p {
    d_footer_x  d_footer_y moveto user_footer_left_str show

    d_footer_w user_footer_center_str stringwidth pop sub 2 div
    0 moveto user_footer_center_str show

    d_footer_x d_footer_w add user_footer_right_str stringwidth pop sub
    d_footer_y moveto user_footer_right_str show
  } if
grestore

% Header
gsave
  d_header_x d_header_y HFpt_h 3 div add translate
  HF setfont

  user_header_p {
    5 0 moveto user_header_left_str show

    d_header_w user_header_center_str stringwidth pop sub 2 div
    0 moveto user_header_center_str show

    d_header_w user_header_right_str stringwidth pop sub 5 sub
    0 moveto user_header_right_str show
  } {
    5 0 moveto fname show
    45 0 rmoveto fmodstr show
    45 0 rmoveto pagenumstr show
  } ifelse
grestore

} def
于 2015-02-26T17:57:59.303 回答
1

为了让它工作,我修改了一个现有的头文件(simple.hdr),然后在命令行上传递参数 --header-files=name-of-new 文件。然后删除命令行中的 --header 选项。

于 2013-07-24T13:53:02.243 回答