我已经在 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
命令。pdfinfo
python
pdfjam
latex
dvipdfm
我也尝试过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
假设你可以用wkhtmltopdf
A普通的A4文件,以下pdfjam
[1,2,3]命令应该可以按照你的意愿工作
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但很容易适应不同的媒体
然而,对于 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 页!