如何通过 pdftk 管道生成 pdf 生成输出以删除注释?

问题描述

我想通过 pdftk 传输 pdf 生成输出删除注释。

我如何组合 AppleScript 行的现有部分:

do shell script "/usr/local/bin/$pdf-gene@R_404_4880@-app --page-size=A4 --page-margin=5mm " & (quoted form of POSIX path of filename) & " -o " & (quoted form of POSIX path of outputFilename)

根据 this scriptFarid Cheraghi 是否通过 pdftk 删除注释?

sh pdftk in.pdf output - uncompress | sed '/^\/Annots/d' | pdftk - output out.pdf compress

解决方法

这是最终版本,主要由 Zilog80 编译,对我有用:

do shell script "/usr/local/bin/$pdf-generating-app --page-size=A4 --page-margin=5mm " & (quoted form of POSIX path of filename) & " -o - | /usr/local/bin/pdftk - output - uncompress | sed '/^\\/Annots/d' | /usr/local/bin/pdftk - output " & (quoted form of POSIX path of outputFilename) & " compress"

,

如果是 YeLogic 王子,您可以使用连字符 (-) 使其输出到 stdout,从而将其通过管道传输到 pdftk :

/usr/local/bin/prince --page-size=A4 --page-margin=5mm <your filename> -o - | \
pdftk - output - uncompress | sed '/^\/Annots/d' | pdftk - output out.pdf compress

使用 AppleScript,应该是:

do shell script "/usr/local/bin/prince --page-size=A4 --page-margin=5mm " & (quoted form of POSIX path of filename) & " -o - | pdftk - output - uncompress | sed '/^\/Annots/d' | pdftk - output " & (quoted form of POSIX path of outputFilename) & " compress"

反正我建议你直接用prince去除水印,应该可以通过CSS属性实现。