sda*_*aau 31 linux pdf command-line
我想使用 Linux 中的命令行将 PDF 文档中的页面范围提取到一个新的 PDF 文档中。注意:
$ pdftk input.pdf cat 1 详细输出 output.pdf 错误:无法打开 PDF 文件: 输入.pdf 遇到错误。没有创建输出。 完毕。输入错误,因此没有创建输出。
结果是“你(应该)知道 Pdftk 只不过是一个非常旧的 iText 版本......上面语句中的关键字是“非常旧”。 ”(来自pdftk 无法打开 pdf 文件)
$ java -classpath /path/to/Multivalent20091027.jar tool.pdf.Split -page 1 input.pdf
线程“main”中的异常 java.lang.NoClassDefFoundError: tool/pdf/Split
引起:java.lang.ClassNotFoundException:tool.pdf.Split
在 java.net.URLClassLoader$1.run(URLClassLoader.java:202)
在 java.security.AccessController.doPrivileged(Native Method)
在 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:306)
在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
找不到主类:tool.pdf.Split。程序将会退出。
事实证明,这是一个有点棘手的软件:即使它在 SourceForge 上,并在此处说“实用思想慷慨地提供这些工具可在命令行上免费使用” -但是,此处则说:“浏览器已打开源。文档工具是免费的,而不是开源的。 ” ...最终澄清了来自转换的评论- 胶合(拼版)PDF 文档 - 堆栈内存溢出:
从官方 sourceforge 站点链接的 Multivalent 的所有版本都缺少工具包。
(编辑:似乎有一个包含工具的旧 Multivalent 版本,请参阅 SO 链接;但由于它看起来有点像废弃软件,我宁愿不使用它)
那么,在Linux下有没有这样的pdf分割命令行工具的选择?
小智 42
我发现 pdfseparate 非常方便地将范围拆分为单个页面。此命令会将第 1 - 5 页提取input.pdf到名为output-page1.pdf, output-page2.pdf, 的文件中...
pdfseparate -f 1 -l 5 input.pdf output-page%d.pdf
Run Code Online (Sandbox Code Playgroud)
如果您想将它们重新组合成页面范围,例如一个文档中的第 1-3 页和另一个文档中的第 4-5 页,您可以使用配套程序 pdfunite,如下所示:
pdfunite output-page1.pdf output-page2.pdf output-page3.pdf final-pages1-3.pdf
pdfunite output-page4.pdf output-page5.pdf final-pages4-5.pdf
Run Code Online (Sandbox Code Playgroud)
我相信这些工具是 poppler 的一部分,可能已经安装在您的系统上。
小智 9
在 debian 上使用 pdftk 2.02 对我有用,但我认为它也应该对你有用。
pdftk input.pdf cat 2-4 output out1.pdf
Run Code Online (Sandbox Code Playgroud)
对于必须将单个 pdf 拆分为多个文件的一般情况,我找不到使用 pdftk 的方法,因此我使用的是 Bash 脚本。
您可以使用该pdfjam工具的语法
pdfjam <input-file> <page-ranges> -o <output-file>
Run Code Online (Sandbox Code Playgroud)
页面范围的一个例子是
3,67-70,80
Run Code Online (Sandbox Code Playgroud)
资料来源:https ://tex.stackexchange.com/questions/79623作者:Vincent Nivoliers
我将把这个作为答案,以免堵塞问题:这里是 unix.se 上的相关链接:
...并且接受的答案使用带有 PyPDF 的 Python 脚本(但该答案实现了将一页分成两部分 - 因此需要针对页面范围修改该脚本,以使其按照 OP 中的要求工作)。
编辑:我刚刚发现这个:Stapler - 基于 pypdf 的用于操作 PDF 文档的 python 实用程序(第 3 页)/社区贡献/Arch Linux 论坛;这显然是“一个利用 pypdf 库提供 pdftk 的(稍微)更轻的替代方案的小实用程序”(但是请注意,邮件列表指出了它的一些问题)...
| 归档时间: |
|
| 查看次数: |
35858 次 |
| 最近记录: |