借助一些简单的开源命令,您可以大大减少为打印准备工作所需的工作量。
对于任何设计师来说,付梓印刷都是一个激动人心的时刻。您的辛勤工作最终被渲染成精美的 PDF,您将其发送到大型印刷厂,最终您去杂志店或书店,就能看到您的辛勤成果展示在众人面前。
但在该过程的字里行间,从桌面设计到印刷页面,需要发生相当多的流程。最明显的是内容和设计本身,其次是布局,最后是页面管理和帖订的生成。本文将介绍最后一部分,然后在下个月我将回顾讨论使用 Scribus 进行布局。
我在为印刷准备内容时使用了一些 Linux 工具,它们都从 Unix shell 运行。这可能看起来很可怕,尤其是如果您像许多设计师一样是视觉型的人,但是当您面对一本 300 页的书并且必须生成印刷版面时,您最不想要的就是一个点击式的页面管理器,它迫使您手动放置每一页。这正是 shell 命令的优势所在:重复、无脑、枯燥的工作,您希望只需按一下按钮就能为您完成。
印刷版面
一张纸有多少面?
如果您说“两面”,那么您(出乎意料地)错了!至少在专业印刷中,页面可以有四面或更多面。当然,不是物理意义上的面,但是当您打印时,您通常在一张纸的每一面打印两“页”,从而在一张纸上制作出四“页”。
一张纸,其每一面都包含较小的“页”,用于印刷,称为帖订。
我是 DIY 的爱好者,因此值得一提的是,即使您不打算以正式意义上的去印刷厂付费进行专业印刷作业,理解帖订也具有强大的力量。只需以正确的版面设计小册子或宣传册,您就可以创建简单的 8 页或 16 页的可折叠小杂志,您可以在家中打印和“装订”(实际上,只需切割和折叠)。
这一切意味着您可以按照“阅读器版面”布局设计您的作品,即读者实际查看您的作品的顺序和布局,然后输出为 PDF 以将您的设计导入到打印机(硬件,而不是人)通信的 PostScript 语言中,然后转换为印刷版面以进行实际的物理印刷行为。
PDFJam 和 Pdfbook
一些印刷厂很乐意自己将您的阅读器版面转换为印刷版面,因此您应该尽早与您的印刷厂沟通,以了解他们的要求和偏好。但是,我与一些印刷厂有过不好的经历,因为通常他们的工作流程涉及在某些 Adobe 产品中打开 PDF 阅读器版面,以便将页面重新排序为印刷版面。这似乎是一个明智的(尽管不是开源的)解决方案,但有时 Adobe 产品会篡改矢量路径或尝试转换或调整字体大小(或者可能是对要使用的字体感到困惑?实际上我不确定问题是什么,但我知道结果,而且它不好看),并且设计出来的东西与发送的东西不同。顺便说一句,这破坏了 PDF 格式的目的。因此,我更喜欢在可能的情况下发送我自己的印刷版面;这切断了中间人,基本上将印刷厂用作打印服务器和纸张库存供应商。
有几种方法可以将 PDF 转换为印刷版面,但最简单的工具是 PDFJam,这是一组 shell 脚本,可以为您完成所有繁重的数学运算和重复的页面调整工作。
处理 PDF 通常依赖于 Java 或 LaTeX;PDFJam 依赖于后者,因此健康的 texlive 安装至关重要。当我说是“健康的”时,我的意思是在您的 Linux 发行版的软件仓库中搜索 texlive,并安装您找到的所有内容。至少,您应该安装 texlive
和 texlive-extra-utils
,其中应包含 pdflatex
。
PDFJam 是主脚本,但它捆绑了一些较小的包装器脚本,以简化常见任务。
一个简单的例子
$ pdfbook --landscape slackermedia_14.2.pdf
这会生成一个 2-up(四页帖订)、双面可打印(沿纸张长边)的印刷版面,作为本例中名为 slackermdia_14.2-book.pdf
的文件。打印该文件,您就有了可以装订成册的纸张,当阅读时,其顺序与您设计时阅读的顺序相同。
pdfbook
命令只是一个更复杂的 pdfjam
的简化解析器。这是一个 Pdfbook 作为纯 pdfjam
命令的功能示例
$ pdfjam --booklet 'true' --landscape \
--signature '4' --landscape slackermedia.pdf \
-o slackermedia.pdf
所有辅助脚本都解析为更复杂的 pdfjam
命令,并且每个脚本在完成任务后都会准确地告诉您运行了什么。使用您最习惯的任何一个。
pdfnup
有时您不是在打印书籍,或者您是在打印书籍,但您需要的不仅仅是 2-up。也许您需要 n-up。如果您需要,您可以使用 pdfnup
命令。
我最近在家里打印了一个类似 RPG 的卡牌游戏,所以我需要一个 9-up 版面。先撇开循环不谈(这不是 Bash 教程,所以我将其简化),该命令归结为
$ pdfnup --nup 3x3 --suffix '3x3' \
`\ls -1 *.png | head -n9` \
&& mv -i `ls -1 *.png | head -n9` prepped/
结果是一个卡片矩阵,准备切割。
PDFtk
除了 PDFjam 之外,另一个用于印前的主要 PDF 处理应用程序是 PDFtk。这个方便的命令专门用于分离和连接 PDF 文档。
我对 PDFtk 的两个主要用途是将扉页和封底添加到 PDF,以及任何时候将多个 PDF 打印为一个文档更方便的时候。
连接多个 PDF 文件很简单;它是手册页中提供的示例之一,因此这是一个非常常见的用途
$ pdftk ch1.pdf ch2.pdf cat output book.pdf
对于多个 PDF,请使用通配符
$ pdftk *.pdf cat output book.pdf
ImageMagick
ImageMagick 确实是一个“瑞士军刀”应用程序。与 pdfjam 类似,它由几个较小的特定于任务的命令组成,几乎所有命令都对设计师有用。它确实值得单独写一篇文章,尽管其自身广泛而优秀的文档已经很好地涵盖了这一点。
我使用 ImageMagick 来快速转换所需的图像格式。它很容易编写脚本,因为它是一个 Unix 命令,所以您可以将其合并到 Makefile 或构建脚本中。例如,如果我的教科书的所有源图像都是 SVG 格式,并且由于某种原因我需要将它们栅格化,那么
$ for FILE in *svg ; do \
convert $FILE -density 300 $FILE.png; \
done
它还可以方便地转换为 PDF,以防您的打印机只接受 PDF
$ convert image.tiff image.pdf
该工具的功能远不止转换;正如文档所揭示的那样,您可以调整图像大小和处理图像,几乎与使用像 GIMP 这样的 GUI 工具一样多。正如我在我的半无用玩具文章中提到的,甚至有来自用户的 预制脚本,这些脚本将使一些繁重的工作变得出奇地简单。
将 Linux 带到印刷
借助这些简单的命令,您可以大大缩短订购作品的印刷版和网络版所需的时间。更重要的是,您可以保持对产品质量的控制;您发送给打印机的内容将与您收到的内容完全相同,并且整个工作流程可以编写脚本,因此您只需弄清楚一次即可。
这一切构成了一个强大且可定制的系统。今天就设计您的系统!
1 条评论