我想创建一个 CUPS 打印机队列,它接受 A5 页的书籍,并在打印它们之前自动将它们排列为 A4 纸上的小册子。本质上,这是使用以下管道出色地完成的:
psbook -s4 | psnup -Pa5 -pa4 -2
Run Code Online (Sandbox Code Playgroud)
我创建了一个使用此管道的 CUPS 队列,并且一切正常,页面完全按照我的意愿排列和打印,除了来自psnup混淆我的打印机和双工选项的输出被忽略(可能是debian 错误 168954)。我发现在网络上的权利要求的PSUtils被打破它提供了一个解决办法,但因为我不明白的解决方法应该如何使用,我想复制的行为psbook,并psnup与其他工具(pstops而mpage现在)。
问题是所有关于在网络上制作小册子的说明都假设我有 A4 页面,我想将其缩小到 A5 并变成小册子,不幸的是我没有做任何疯狂的事情。我想要更简单的东西——拿 A5 页面并将它们排列在 A4 页面上。问题是如何?
我想出了以下pstops缩小 A4 页面的页面规范:
4:3L@0.7(21cm,0)+0L@0.7(21cm,14.85cm),1L@0.7(21cm,0)+2L@0.7(21cm,14.85cm)
Run Code Online (Sandbox Code Playgroud)
如果我事先将 A5 页面升级到 A4,它会起作用。不幸的是,一切都有些偏离(比例尺、边框),我无法修改页面规格以正确定位 A5 页面。
我尝试将 A5 页面放在 A4 页面的中间并使用 scale @1,但是当我调整偏移量时,无论如何我的文本都会被裁剪。
并且mpage似乎只是为缩放而设计的,我找不到任何方法来强制它不缩放。
PS 我在到达打印机之前检查了生成的 postscript 文件是否包含所有双工设置,尽管 CUPS 将其中一些添加了两次(因为打印经过两个队列)