Linux enscript - footer不起作用(最终目的是在页脚处为PDF添加寻呼机号码)

时间:2013-07-11 15:01:19

标签: pdf footer enscript

有人知道如何在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

2 个答案:

答案 0 :(得分:3)

有人在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

答案 1 :(得分:1)

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