是否有一个命令行方法可以将巨大的单页 PDF 文件拆分为一个有多页的文件?

是否有一个命令行方法可以将巨大的单页 PDF 文件拆分为一个有多页的文件?

我如何将一个巨大的 PDF 分割(平铺)到多个页面上?结果应该是一个包含多个 A4 页面的 PDF 或多个 A4 PDF。

我并不是在寻找针对此生成问题的方法的特定解决方案:输入 PDF 已由 Graphviz 生成dot,例如。dot -Tpdf sample.dot > sample.pdf当我没有将 添加size="8,11"; ratio="fill";到图形中时,输出 PDF 非常大。如果我添加 size/fill-hints,dot只会缩小我的尺寸。

举个例子,如果我的原始 PDF 像这样很大:

+-------------------+
|                   |
|  O                |
|  :                |
|  :..........C     |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        G       |
|  :        :       |
|  :        :       |
|  :        :       |
|  :        :       |
|  U        :       |
|           B       |
|                   |
+-------------------+

这应该通过如下命令进行拆分

pdftile sample.pdf -x 2 -y 3 > sample-2x3.pdf

进入

+---------+---------+
|         |         |
|  O      |         |
|  :      |         |
|  :......|...C     |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  :      | G       |
|  :      | :       |
|  :      | :       |
+---------+---------+
|  :      | :       |
|  :      | :       |
|  U      | :       |
|         | B       |
|         |         |
+---------+---------+

答案1

看起来像pdf海报可以做到这一点。

答案2

实际上mutool具有与您建议的语法几乎相同的语法(您是它的作者吗?):

mutool -x 2 -y 3 sample.pdf sample-2x3.pdf

要安装mutool,只需安装mupdf,它可能与大多数 GNU/Linux 发行版一起打包。

答案3

除了已经提到的工具外,我还编写了一个工具,因为我对 pdfposter 不满意(页面之间没有重叠,无法粘贴),并且希望对输出有更多控制。该工具的主要界面是 GUI,但它也有一个 CLI 界面,可让您从命令行执行相同的操作。您可以在此处获取它:

https://pypi.org/project/plakativ/

如果你使用的是 Linux,你可以使用 pip 安装它。Windows 可执行文件也经常在AppVeyor 持续集成或者在每个版本中可用:https://gitlab.mister-muffin.de/josch/plakativ/releases

普拉卡蒂夫

答案4

我想到了一些 Linux 实用程序:

(摘自其手册页)

pdf单独 [选项] 输入.PDF 输出%d.PDF

读取 INPUT.PDF,提取一页或多页,并将每页的一个 PDF 文件写入 OUTPUT%d.PDF(%d 是页码的占位符)(来自“poppler-utils”包)

pdftk 输入.PDF 爆发

读取 INPUT.PDF,生成一个或多个包含单独页面的 PDF 文件,名为“pg-XXXX.pdf”(除非指定输出文件名)(来自“pdftk”包)

相关内容