我们的一个供应商开始在我们从他们那里获得的 PDF 的最后一页添加一个不必要的巨大图像。我需要修剪掉这个。但是,我们有数百个,因此手动输入是禁止的。自动提取然后删除(最好是第一个,然后是另一个;我仍然需要通过文件大小确认我不会删除没有图像的)PDF 的最后一页的最佳方法是什么?操作系统是Linux。
我可以使用 ghostscript 提取它,其中的内容类似于gs -dFirstPage=5 -dLastPage=5,但我需要自动执行此操作,我无法通过手动找出最后一页的编号。
有任何想法吗?
编辑:为了澄清,我只想拆分/删除最后一页。不是其中的图像,请删除最后一页。
小智 16
为了进一步改进@eldering 的答案,pdftk 1.45 版及更高版本可以通过在页码前加上小写字母 r 来以相反的顺序引用页面。PDF 中的最后一页是 r1,倒数第二页是 r2,依此类推。
例如,单个 pdftk 调用:
pdftk input.pdf cat 1-r2 output output.pdf
Run Code Online (Sandbox Code Playgroud)
将从 input.pdf 中删除最后一页——输入应该至少有两页长。
要仅提取 PDF 的最后一页以测试其文件大小,请运行:
pdftk input.pdf cat r1 output final_page.pdf
Run Code Online (Sandbox Code Playgroud)
pdftk 在 Linux 上可用。许多发行版都有可以安装的二进制文件。不过,您应该确保它是 1.45 或更高版本。如果没有,您可以从源代码构建 pdftk。
正如@Daniel Andersson 已经评论的那样,这可以轻松地通过以下方式完成pdftk:
pdftk input.pdf cat end-1 output temp.pdf
pdftk temp.pdf cat end-2 output output.pdf
rm temp.pdf
Run Code Online (Sandbox Code Playgroud)
我不知道是否可以通过一次调用 pdftk 来完成......
编辑:你可以将它与thanosk的答案结合起来并使用(在bash中):
pdftk input.pdf cat 1-$((last-1)) output output.pdf
Run Code Online (Sandbox Code Playgroud)
当您已经将最后一页提取到变量时$last。
| 归档时间: |
|
| 查看次数: |
8187 次 |
| 最近记录: |