Geo*_*ard 7 pdf text file ghostscript addition
我正在尝试向 pdf 文件添加文本注释(不是注释)。我创建一个date.ps文件,其中包含文本注释:
%!
/Arial findfont
30 scalefont
setfont
newpath
10 720 moveto
(PAID on 5.1.2013) show
showpage
Run Code Online (Sandbox Code Playgroud)
我启动 shell 命令来$i=name标记 pdf 文件:
%!
/Arial findfont
30 scalefont
setfont
newpath
10 720 moveto
(PAID on 5.1.2013) show
showpage
Run Code Online (Sandbox Code Playgroud)
这可行,但它会创建一个新的第一页 - 空 - 仅包含文本“PAID on 5.1.2013”。
我没有找到将文本覆盖在原始 pdf 第一页上的技巧。
小智 8
您可以使用免费的cpdf 命令行工具直接对 PDF 执行此操作:
例如,
cpdf \
-add-text "PAID on 5.1.2013" \
-topleft 100 \
-font "Helvetica" \
-font-size 30 \
in.pdf \
-o out.pdf
Run Code Online (Sandbox Code Playgroud)
由于cpdf有一个奇怪的商业用途许可证,我试图寻找替代方案。这是一个(您需要安装enscript,ps2pdf和(pdftk或qpdf))。这个想法只是使用从文本enscript创建 a ,然后将其转换为using ,然后将其堆叠在原始 pdf 之上,使用或...)。.ps.ps.pdfps2pdfpdftkqpdf
pdfk版本:
echo "I will be stamped on top of the page" | \
enscript -B -f Courier-Bold16 -o- | \
ps2pdf - | \
pdftk input.pdf stamp - output output.pdf
Run Code Online (Sandbox Code Playgroud)
qpdf版本:
如果您希望文本在所有页面上重复:
tmpfile=$(mktemp) && echo "I will be stamped on top of the page" | \
enscript -B -f Courier-Bold16 -o- | \
ps2pdf - "$tmpfile" && qpdf input.pdf --overlay "$tmpfile" --repeat=1-z -- output.pdf
Run Code Online (Sandbox Code Playgroud)
如果您只想将其放在第一页上:
tmpfile=$(mktemp) && echo "I will be stamped on top of the page" | \
enscript -B -f Courier-Bold16 -o- | \
ps2pdf - "$tmpfile" && qpdf input.pdf --overlay "$tmpfile" -- output.pdf
Run Code Online (Sandbox Code Playgroud)
有关如何设置文本格式的更多选项,请参阅enscript 文档。
注意:mktemp仅用于创建临时文件以提供单行解决方案,因为qpdf不接受来自stdin. rm "$tmpfile"命令完成后删除 tmpfile 。
因为您的 PostScript 执行了显示页面,所以它在标记后会弹出第一页,因此剩余内容位于第二页和后续页面上。如果您不执行 showpage,那么您所做的标记将位于第一页上,并且第一个 PDF 页面将绘制在其“顶部”。
更复杂的代码可以使用 BeginPage 和 EndPage 在页面内容的上方和下方绘制,并在指定的页面上执行此操作等。
[稍后添加]
尝试这个:
%!
<<
/EndPage
{
0 eq
{
0 eq
{
/Arialabold findfont 22 scalefont setfont newpath 250 820 moveto 1 0 0 setrgbcolor (PAYE PAR CCP LE $DATEPMT) show
} if
true
}
{
pop false
} ifelse
} >> setpagedevice
Run Code Online (Sandbox Code Playgroud)
对我有用。
| 归档时间: |
|
| 查看次数: |
8799 次 |
| 最近记录: |