由于cpdf有一个奇怪的商业用途许可证,我试图找到一个替代方案。这是一个(您需要安装enscript,ps2pdf和(pdftk或qpdf))。这个想法只是用来从文本enscript创建 a .ps,然后将其转换.ps为.pdfusing ps2pdf,然后将其堆叠在原始 pdf 的顶部,使用pdftkor qpdf...)。
pdf 版本:
echo "I will be stamped on top of the page" | enscript -B -f Courier-Bold16 -o- | ps2pdf - | pdftk input.pdf stamp - output output.pdf
qpdf版本:
如果您希望文本在所有页面上重复:
tmpfile=$(mktemp) && echo "I will be stamped on top of the page" | enscript -B -f Courier-Bold16 -o- | ps2pdf - "$tmpfile" && qpdf out_merge.pdf --overlay "$tmpfile" --repeat=1-z -- out_oneline.pdf
如果你只想把它放在第一页:
tmpfile=$(mktemp) && echo "I will be stamped on top of the page" | enscript -B -f Courier-Bold16 -o- | ps2pdf - "$tmpfile" && qpdf out_merge.pdf --overlay "$tmpfile" -- out_oneline.pdf
有关更多选项,请参阅文档。
注意:mktemp仅用于创建临时文件以提供单线解决方案,因为qpdf不接受来自stdin