我有一篇打印好的故事,要打印成一本小书(A5),我妻子愿意帮我把书页缝在一起。但有一个问题是,文档中的页面必须按照特定的顺序排列:4-1-2-3-8-5-6-7-等。
首先,我尝试在 LibreOffice 打印选项中找到它,但只找到“小册子”模式,这不能满足我们的目的。
在 YouTube 上找到一个视频,作者将文本片段复制到新 OpenOffice 文档的某些页面中,并在其中手动绘制带有页码的方块。看起来真的很傻...
然后我尝试将其转换为 PDF 并使用 GhostScript(我曾经用它从 PDF 文档中剪切页面范围),但仍然没有找到解决方案。
最后我决定直接用文本编辑器 (gedit) 打开文件,尝试直接用 PostScript 代码重新排列页面。虽然我是前端开发人员,但文件内容对我来说毫无意义。我知道一些编程语言,但 PS 还不是其中之一。
如果能找到一个可以用作脚本的解决方案就好了,而且不需要在 Ubuntu 上安装额外的软件。
答案1
找到了描述 PDF 格式的文章。现在感觉我可以编写简单的 NodeJS 脚本来进行基本的编辑。至少页面重新排序感觉是最简单的,因为我需要的(尚未测试)只是重新排列<</Type/Pages ...>>
对象中的引用(Kids)。
更新 手动重新排列上面提到的数组中的引用。无法使用文本编辑器替换原始内容,因为它试图转换流对象中的编码,从而破坏了它们。使用 NodeJS 脚本替换它。完成。不幸的是,这不是“超级用户”解决问题的方法……