将 2 张 A5 PDF 合并为一页 A4 横向文件

将 2 张 A5 PDF 合并为一页 A4 横向文件

我已经在 Linux Slackware 上工作了好几年,并使用 bash 编写日常编程。

我的问题是将书籍打印成 4 张装订的小册子。使用 bash 脚本,我对 16 页进行排序,使它们在档案中按顺序排列(前 16-1、后 2-15、前 14-3、后 4-13 等)。

由于这些书是 HTML 格式的,因此我将它们转换为 PDF 格式 A5 wkhtmltopdf。之后,我使用 bash 脚本将其拆分为单独的 PDF 页面。

我尝试使用 GhostScript,但问题是,即使页面的左右方向正确(2 x A5 -> A4 横向),也会打印在两页不同的页面上。

我已经阅读了所有讨论,包括本网站上的讨论,但令我惊讶的是,要做到这一点,您需要 7 种不同的命令(、、、、pdfcrop和) ,并且您无法将两页并排放置,仅使用 GS 命令或至少使用我的操作系统中已安装的pdftocairo命令。pdfinfopythonpdfjamlatexdvipdfm

我也尝试过pdftk,但由于 jar 库不兼容,我无法在我的系统上安装。我附上了我的 bash 脚本,它可以完成上述工作。我到处都只找到“合并”多个 pdf 文档的答案,这可以用命令很好地完成pdfunite,但没有人说如何在 A4 横向中合并 2 个 A5pdf。

感谢所有帮助过我的人。PS> Ghostcript 代码

gqs -o myouput.pdf-sDEVICE=pdfwrite -g8420x5950 -c "<</PageOffset[0 0]>> setpagedevice" -f myleftpage.pdf -c "<</PageOffset[421 0]>> setpagedevice" -f myrightpage.pdf

答案1

texlive-extra-utils包有一个a5toa4工具这正是你想要的。

答案2

假设你可以用wkhtmltopdfA普通的A4文件,以下pdfjam[123]命令应该可以按照你的意愿工作

pdfjam --landscape --signature 16 main.pdf  

请注意,签名必须是 4 的倍数。

如果你无法从不同的 html 源创建一个唯一的文件,你需要进一步将单个 pdf 文件合并为一个最终文件(查看 pdfarranger [4])。
当您转换为 pdf 时,您可能需要使用比平时更大的字体,因为您知道它将被打印为小册子。


ps> 也许它应该直接工作

pdfbook  foo.pdf

pps> 那么 pdfbooklet 怎么样[5]?你试过了嗎?


楼主解决了卸载 TeX、安装 TeX-live、添加所需路径、在系统上$PATH获取可运行版本的问题。那么最基本的命令是:pdfjam

pdfjam pageleft.pdf pageright.pdf --nup 2x1 --landscape --outfile mydoublelandscape.pdf

答案3

小册子打印是 N-UP 的变体,对于 16 页来说“应该很简单”

我曾描述过许多复杂的方法,使用 LaTeX 作为骑马钉方法,最多可打印 32 页,这里适用于 32 x A5 横向页面,横跨 8 个 A3 横向平面https://tex.stackexchange.com/a/494232但很容易适应不同的媒体

这是 32 页布局的签名在此处输入图片描述

然而,对于 16 个常规页面,我们可以使用更简单的方法。
可能 TL;DR 是基于在 Windows 中使用 SumatraPDF 的概述https://github.com/GitHubRulesOK/MyNotes/blob/master/AppNotes/SumatraPDF/Addins/N-Up-PDF/N-Up-PDF.pdf(所以如果想要简单的话就避免这些:-)

所需要的是任何 N-Up 命令工具,可以通过旋转重新排序成小册子布局。

跨平台有 cpdf(商业用途不免费,但价值不错)等工具,还有 qpdf(免费,但对于这项任务来说可能不太实用)pdftk(在某些情况下可能太旧了)和新出现的 pdfcpu

该示例仅显示 8 页布局,但 16 只是其中的 2 页!

https://pdfcpu.io/generate/booklet 在此处输入图片描述

相关内容