我的用例是一张 A3 横向 pdf 纸,我需要将其打印成两张 A4 纵向纸。我使用的是桌面版 ubuntu 16.04。
我尝试过 我已设法使用一个命令行程序来帮助: 分割/平铺 A3(横向)pdf 至 A4(纵向) 或者 如何在纸张的四个角打印单幅图像?
我还发现打印海报(打印在多张纸上)但该解决方案使用上述命令行选项的 GUI 版本,但似乎不适用于 PDF 或 SVG。
另一个选项是这个答案。但即使我要求它打印 A4 尺寸,它也只会打印 A3 尺寸的新 PDF。
我想要的是在打印对话框中有选项。
我觉得如果我使用正确的设置,它应该可以工作。但例如,页面设置和页面处理上的以下设置:
当我单击预览时,我在一个横向页面中看到了整张 A3 纸,我仍然按下打印,希望它能实现我想要的效果,但是:
它仅以横向打印右上角,我不明白其中的逻辑。
评论如下:如果取消选中“页面处理”选项卡下标有“使用文档页面大小选择页面大小”的框,那么我就完成了一半的工作:它将仅打印 A4 纵向左侧,这正是我想要的。但我仍然会错过右侧。
用例:当您无法使用绘图仪或需要检查是否有错别字时,可以打印 A2、A1 和 A0 尺寸的海报;当您无法使用 A3 打印机或 A3 纸用完时,可以打印工程图;还可以将大图像打印成零件
答案1
pdftools.PDF海报
sudo apt install pdfposter
pdfposter --help
例如,将海报转换为 3x3 信纸大小
pdfposter -p3x3 Let my_1_large_page.pdf my_9_small_pages.pdf
答案2
不,您不能通过标准打印对话框执行此操作。
打印对话框中的“每面页数”选项对于多对一打印很有用,并且不是一对多。前者是使用较少的纸张进行打印,而后者是打印海报(称为平铺打印)。
但我看到了这样的选项?
GTK+ 有名为“每面页数”的选项。然而,在其他图形工具包或应用程序中,此类选项可能被称为“Number-up”(Qt)或“N-up 打印”(Scribus)。然而,并非所有应用程序都有此选项。
虽然叫法不同,但是目的是一样的,就是调整每张“纸”上打印的“页数”。
“页面”是指应用程序读取的内容,通常是从预先创建的现有文件中读取的。这就是我们有。
“sheet” 指的是将通过硬件打印机打印的内容,或将保存到新文件中的内容。这就是我们将得到。
为简单起见,将“页面”理解为输入,“表格”理解为输出。
但我有六个标签?
根据图形工具包或应用程序所支持的内容,打印对话框可能具有额外或有限的选项。对于 GTK+ 标准打印对话框,大多数用户将拥有这两个选项卡:常规、页面设置。事实上,只有前两个选项卡是常见的。我记下了以下几个例子。
Firefox 在打印对话框中选择“打印到文件”时,有三个选项卡(常规、页面设置、选项)。
Mousepad 类似地有三个选项卡,但最后一个选项卡的名称(文档设置)不同,并且选项也不同。
Evince 与 Firefox 相对更相似,只是第三个选项卡有另一个不同的名称(页面处理)和另一个不同的选项。
但是,当选择其他类型的打印机时,用户可能会有最多六个带有扩展选项的选项卡(常规、页面设置、选项、作业、图像质量、颜色)。许多 GTK+ 应用程序都有,但并非所有应用程序都有带有扩展选项的附加选项卡。
但我已经完成一半的工作了?
请注意,“完成一半的工作”位于左边不管纸张方向如何,图像都会在一侧显示出来(图 1a)。这是因为原点 (0,0) 位于左边角落,类似于显示屏。
Illustration 1a
+----------+----------+ +-------------+-------+
|0,0 | | |0,0 | |
| | | | | |
| | | | A4 | |
| | | |-------------+ |
| A4 | | | |
+----------+----------+ +---------------------+
A3 A3
A3 page printed to A4 sheet,
when page scaling is none or ignored
当页面比纸张更大时,结果更加明显(图 1b)。考虑使用 A2:A4(尺寸因子为 1:4),而不是 A3:A4(尺寸因子为 1:2)。结果类似:只有左边面已打印。
Illustration 1b
+----------+----------+ +-------------+-------+
|0,0 | | |0,0 | |
| | | | | |
| | | | A4 | |
| | | |-------------+ |
| A4 | | | |
|----------+ | | |
| | | |
| | | |
| | | |
| | | |
+---------------------+ +---------------------+
A2 A2
A2 page printed to A4 sheet,
when page scaling is none or ignored
因此,右半部分区域不会出现,因为“每面页数”选项根本不适合平铺打印。由于页面处理或尝试的任何选项组合,左右两边可能会反转(到目前为止我还没有看到这种效果)。
但我只想要另一半?
从前面的解释中,回想一下,“pages”是输入,“sheet”是输出。考虑到这一点,请考虑三个用例:
一对一。如果文档只有一页,则结果肯定只打印在一张纸上(图 2a)。
Illustration 2a +---------+ +-------------+ | | | | | | | | | | |1 | | | +-------------+ |1 | +---------+ portrait page with landscape page with 1 pp/side sheet 1 pp/side sheet
多对一。假设一份文档总共包含 10 页,则结果可以打印到:5 张纸,每面 2 页;3 张纸,每面 4 页;或 2 张纸,每面 6 页。根据页面是纵向(图 2b)还是横向(图 2c),每个选项最适合纸张的大小可能不同。
Illustration 2b +------+------+ +----+----+ | | | | | | | | | |1 |2 | |1 |2 | +----+----+ +------+------+ | | | |3 |4 | +----+----+ portrait pages with portrait pages with 2 pp/side sheet 4 pp/side sheet Illustration 2c +---------+ +------+------+ | | |1 |2 | |1 | +------+------+ +---------+ |3 |4 | | | +------+------+ |2 | +---------+ landscape pages with landscape pages with 2 pp/side sheet 4 pp/side sheet
一对多。如果只使用打印对话框中的“每面页数”选项,则无法实现这一点。
用例 1 是最基本的用途。当页面具有不同的纸张尺寸或方向时,某些选项允许用户调整适合度。因此,可以通过缩小内容将一张大页面 A3 打印在一张较小的页面 A4 上。
用例 2 更适合那些想要打印包含 30 张演示幻灯片的讲义的学生。每面使用 6 页而不是 30 张纸,结果打印到仅 5 张纸上。这样可以节省 25 张纸或 80% 的纸张!
用例 3 是不可能的,因为 Linux 上的标准打印对话框中没有这样的选项;所以“另一半”也是不可能的。
Linux 上的平铺打印
作为过去十年 Linux 的最终用户,我想说甚至没有一个应用程序在 Linux 上有一个标准支持平铺打印的打印对话框。其他用户可能不同意。
任何支持平铺打印的应用程序都会有一个名为“海报”(Adobe Reader X;仅限 Windows)、“平铺”或类似名称的不同选项。Linux 上几乎没有这样的选项。
确切地说,Linux 上很少有命令行和图形应用程序支持平铺打印,但 Linux 上的标准打印对话框不支持。
以上所有是什么意思
按照上面的长篇解释,无论如何,包含大单页的文档都会打印到一张纸上。考虑到大页面是 A3,纸张是 A4,因此只会打印 A3 的一半或三分之二,具体取决于纸张方向(图 1a)。
总结“每面页数”是为了使用较少的纸张进行打印,而不是用于海报。自 2018 年起,Linux 上的标准打印对话框无法进行平铺打印。应该建议改进,而不是错误。
答案3
这应该可以工作:如果你只有一台 A4 打印机,而你想打印 2 张包含一张 A3 画布的 A4 物理页面,那么它应该可以工作,所以你应该提交错误与 inkscape 开发人员一起。
答案4
这篇文章通过推荐解决了我的问题pdfposter
。我用来对图像进行色调分离的步骤如下:
使用应用程序(Inkscape、Gimp 等)将图像调整为所需尺寸并将其保存为 PDF 文件。
使用此命令无需进一步缩放即可打印:
pdfposter -s1 -mlet input.pdf output.pdf
感谢 Hartmut Goebel ([电子邮件保护]) 是一款出色的实用应用程序!