将 PDF 文件的页面按书顺序排列的软件

软件推荐 linux 网络应用 pdf 印刷 桌面出版
2021-11-03 23:39:11

是否有 Linux 或基于 Web 的工具来对 PDF 文档的页面进行排序,以便我可以从中打印一本书?

在这种情况下,我有一个 A5 格式的 PDF,我想在 A4 页面上打印,如下所示:

 ___________              ___________
|           |            |           |
| 99     1  | other side |  2     98 |
|___________|            |___________|
then
 ___________
|           |
| 97     3  | ... and so on
|___________|
4个回答

我将支持 psbook 的建议,但将其添加为单独的答案,以注意一些复杂性以及您正在做的事情会丢失什么。这可能不是问题(我假设您正在尝试打印这本书,而不是用鼠标单击页面)但基本上这将您限制在 Postscript 中可用的 PDF 功能(无超链接等)并注意一种可能的替代方案(取决于您到底要做什么)。

一般来说,签名的打印有些复杂。您没有 1、99、2、98、3、97 等。相反,您有 1、2、99、98、3、4、97、96(或 1、99、2、3、98、97,如果从另一页开始),如果您只打印双面双面。此外,您还有一个问题,即假设您没有折叠和切割签名(仅折叠它们)。看起来 psbook 只处理折叠和绑定方法,而不是折叠、剪切和绑定方法(使用折叠/剪切/绑定,您可能会在 A0 纸上打印,32 张签名,然后剪切和折叠,所以一张纸将成为一个签名)。

没有任何专门用于此的工具,我直接以 pdf 格式知道。

要记住的一件事是,如果您自己从 LaTeX 生成 PDF,则以下内容可能更加灵活和有用:booklet.sty

这为您提供了更丰富的签名打印选项。

在命令行上

您可以使用Pdfjam这是PDFLaTeX的前端,因此您需要安装 LaTeX。这在 Linux 上安装并不难(只需让你的包管理器引入依赖项),但它会花费几百 MB 的存储空间。命令是:

pdfbook foo.pdf

输出转到foo-book.pdf,或者pdfbook --output book.pdf foo.pdf如果您想控制输出文件名。

对于旧版本的 Pdfjam(2.06 之前),您需要一个附加选项:

pdfbook --booklet true foo.pdf

带有图形用户界面

这似乎并不通常作为预配置的打印选项提供。Okular 中有一个愿望清单项目您可以在 KDE中创建打印过滤器。对于 Gnome,官方建议是手动列出页面顺序!

您可以安装PdfBooklet它在 Linux 上不受官方支持,我也没有尝试过;然而,它是一个 Python 脚本,所以它应该可以工作(通过你的包管理器安装pyPdf库)。

Acrobat Reader在其“页面处理”下的打印选项中提供小册子打印。

正如评论中所指出的,很可能是打印机驱动程序处理了这个问题:注意像“小册子”这样的选项。

除此之外,您也许可以组合几个命令行实用程序,它们是Ghostscript包的一部分(至少在 Ubuntu 上):

  • pdf2ps将您的 PDF 转换为 PostScript 格式
  • psbook完成您要求的工作(将 PostScript 文件中的页面重新排列为签名)
  • ps2pdf将 PS 转换回 PDF

psbook手册页:

Psbook 将 PostScript 文档中的页面重新排列为用于打印书籍或小册子的“签名”,从而创建一个新的 PostScript 文件。输入 PostScript 文件应遵循 Adob​​e 文档结构约定。

以下用 Java 编写的小工具运行良好:http: //quantumelephant.co.uk/bookbinder/bookbinder.html

Bookbinder 是一个程序,可以将 PDF 文档转换为适合传统装订的签名。
虽然网上有很多程序可以从一个小文档创建一个小册子,但我找不到一个可以将 500 页的小说或教科书变成几个签名的程序。所以我只好写一个。
选择的 PDF 被拆分成块,每个块的页面顺序被重新排列,然后页面被放置在新 PDF 中的两个页面中。打印和折叠后,每捆纸张应是正确排序的签名,可以装订。

在此处输入图像描述

在此处输入图像描述

该程序是在与 itext 相同的许可证下发布的,它是 Mozilla 公共许可证和 GNU 库通用公共许可证的混合体。