Scribus 简介
在思考看似永恒的问题——Linux 是否为桌面做好了准备?——最近发布的 Scribus 1.0 为肯定的答案又增加了一个主要理由。一个常见的抱怨是“我不能在桌面上使用 Linux,因为我缺少应用程序 X。” Scribus 巧妙地填补了一个缺失的部分——一个图形化的 WYSIWYG 页面布局应用程序。Linux 用户及其 *nix 同胞现在拥有了一个多功能且用户友好的桌面出版应用程序,它以全新的方法应对将 Linux 用作桌面出版 (DTP) 平台的挑战。此外,Scribus 还带来了 DTP 以外的其他新功能,它能够创建 PDF(便携式文档格式)Web 表单和交互式 PDF 文档。
得益于 freetype2、Ghostscript 和 CUPS 等重要支持库日益完善的润色,Linux 桌面出版已成为现实。Scribus 通过广泛而灵活地使用 PDF 作为输出文件格式,并在较小程度上使用 PDF 导入,巧妙地规避了 Linux 和 UNIX 作为 DTP 平台的一些潜在限制。PDF 的格式版权归 Adobe 所有,但免费授权给其他开发者使用,它提供了灵活性、格式稳定性和广泛的应用程序支持。PDF 类似于 PostScript,并且有 Adobe 的完善文档;PDF 1.5 草案参考手册是一本薄薄的 1000 多页的书。此外,几乎所有现代计算平台都支持 PDF。
在最简单的层面上,使用 Scribus 创建文档就像小学时的剪切和粘贴。当使用绘图工具时,使用 Scribus 就像拥有画布。当处理文本和图像时,它就像使用粘贴板。使用文字处理器撰写文档更像是使用智能打字机。从概念上讲,可以将 Scribus 视为一个漂亮的外观,包裹着一个出色的 PDF 引擎——这个引擎大大降低了创建可用于印刷的高分辨率 PDF 文件或完全交互式 PDF 的复杂性。创建 PDF(尤其是可用于印刷的 PDF)的挑战之一是必须了解 Adobe Acrobat Distiller 中近 100 个蒸馏选项中的一些。
Scribus 绝对不是文字处理器;它属于称为页面布局程序的应用程序系列。著名的 DTP 应用程序包括 Adobe 的 PageMaker(最初的)或 InDesign 和 Quark XPress。Scribus 的独特之处在于它是在 GPL 下获得许可的,并且没有其他具有其专业功能的 DTP 应用程序可以在 Linux 上运行。Scribus 也已被移植到 BSD、HP-UX 和 Solaris。在 KDE-Cygwin 的帮助下,Scribus 的实验版本也可以在 Microsoft Windows 2000 上运行。使用 GPL 许可的 Qt for OS X 的 Mac OS X 版本的工作也在进行中。
表 1. DTP 和文字处理器功能比较
功能 | DTP | 文字处理器 |
---|---|---|
布局 | 粘贴板 | 智能打字机 |
自动化 | 脚本 | 宏 |
颜色支持 | CMYK 和 RGB | 仅 RGB |
绘图工具 | 真正的 PostScript 矢量 | 图元文件或低分辨率位图 |
四色印刷 | 色彩管理 | 不适用 |
精度 | 高精度——高达 3,600 dpi | 调整为屏幕分辨率 |
内置导出 | 通过第三方驱动程序(OpenOffice 1.1 具有内置 PDF 导出器) |
页面布局应用程序与文字处理器的不同之处在于,它关注设计师对文本、图像和绘图的布局具有更高的精度和控制,这在现代文字处理器中是不可能实现的,有时也是不希望实现的。文字处理器擅长处理文字,而只有页面布局程序才能精确而轻松地组合文本、图像和其他艺术作品。例如,Scribus 有许多代码位来优化 PostScript 输出、控制色彩再现、将图像与文本分层以及管理高分辨率艺术作品。
在页面布局应用程序中,文本是一个对象,就像图片或形状一样,并且包含在框架内。这使得可以在页面上精确放置和排列文本。使用 Scribus,您可以轻松创建诸如翻转或以一定角度运行文本或自动排列多列文本等效果。您可以使用图层或将对象堆叠在彼此之上(也称为蒙版)以实现令人印象深刻的视觉效果。Scribus 具有用于排版的特殊控件,可以调整单词内各个字母的布局和间距,这称为字距调整。您可以将所有对象的位置控制在英寸的百分之一或毫米的百分之一以内。尝试将页面布局文件视为一个包装器——专业、内部或 Web 可下载 PDF 打印的任何类型文档的组合的最后一步,在这些文档中,对象放置、精确的颜色匹配和格式设置都是必需的。
Scribus 的一些主要功能包括
创建最先进的 ISO 标准 PDF/X-3 兼容的高质量、可用于印刷的 PDF 文件,用于商业印前。它是唯一一个直接支持此功能的程序——DTP 领域的首创。
创建完全脚本化和交互式的 PDF 文档,其中包括外部链接,例如 Web 链接和演示文稿 PDF(类似于 MS PowerPoint 或 OpenOffice Impress)。您还可以创建计算字段并将用户输入的表单数据发送到网站。
使用 Python 作为脚本语言。大多数严肃的 DTP 应用程序都是可脚本化的。Python 为 Scribus 提供了一种独特而强大的平台中立的脚本语言。大多数其他 DTP 应用程序使用自定义脚本语言或 AppleScript,后者不跨平台。此功能还使您能够运行第三方 Python 模块(如图像模块)或运行其他 Python 应用程序(如 PySol)。
完全支持商业印刷中使用的 CMYK(青色、品红色、黄色和黑色)颜色,包括可选的色彩管理、分色和导入 EPS(封装 PostScript)文件中的专色。
使用 freetype2 支持 Unicode 文本和字体,以及从右到左的语言(如阿拉伯语或希伯来语)。在撰写本文时,Scribus 已被翻译成 19 种语言,最近的是捷克语、俄语和印度尼西亚语。
安装 Scribus 非常简单。您可以选择从源代码编译或获取 Scribus 的第三方软件包之一。详细信息和位置在 Scribus 在线文档中。从源代码编译是通常的操作./configure && make && make install。您应该为您的发行版提供最新更新版本的 Trolltech 的 Qt、freetype2、libtiff、libpng 和 ghostscript。Scribus 1.0 针对 Qt 3.1.2 进行了优化,这是撰写本文时最新的稳定版本。如果您希望启用色彩管理,则需要 littlecms 库和一些 ICC 配置文件。Scribus 还需要 libtiff、libjpeg 和 libpng 的开发库。我们编译时看到的最大问题是 QTDIR 环境变量未设置或设置不正确。文档包含有关编译的详细说明。

图 1. Scribus 工具——Scribus 具有易于使用的调色板,所有调色板都带有工具提示,用于解释其功能。从顶部顺时针方向:1) “页面”调色板管理页面和页面模板。添加页面非常简单,只需拖放即可。2) “测量”调色板提供常用编辑工具。3) PDF 工具栏显示了如何从桌面拖动工具栏。4) “轮廓”是文档中每个对象的树状图。这有助于在复杂文档中选择对象。5) “图层”允许您将对象堆叠在彼此之上以获得惊艳的效果。6) “剪贴簿”存储常用项目。
Scribus 的用户界面已针对 DTP 进行了优化。您可以直接从标尺拖动参考线。只需单击一下即可更改测量单位。状态栏为用户提供了大量信息以及对象和工具的精确测量值。虽然 Scribus 可以在任何窗口管理器下运行,但在 KDE 下运行时,它具有特殊功能,例如桌面拖放,并使用 KDE 样式的插件。
与文字处理器不同,您不能简单地打开一个新的空白文档并开始键入。首先,您必须创建一个文本框架,然后开始键入或导入一些文本。我首选的方法是使用文本编辑器、编辑、拼写检查,然后保存并导入文本。同样,您不要打开 The GIMP,然后复制粘贴。首先,创建一个图像框架,然后将图像放置在页面上。图像文件可能很大,因此它们是外部链接的。这也确保了您的文档中包含最新的图像。使用“剪贴簿”可以更轻松地跟踪常用对象。

图 2. 用户友好——“剪贴簿”允许在页面和文档之间轻松重复使用对象。您可以单独保存剪贴簿,并且可以为项目或单个文档保存剪贴簿。此处显示的是整页地图的 EPS、整页文本和一个徽标。几乎任何类型的对象都可以通过从页面右键拖动到“剪贴簿”来保存。
为了帮助您创建出版物,Scribus 配备了一组有用且用户友好的绘图工具,包括样式线条、多边形、贝塞尔曲线、绘制对象的着色或阴影以及渐变,这是一种混合一种或两种颜色以向对象添加阴影或维度的特殊方法。Scribus 还可以像 CorelDraw 或 Adobe Illustrator 等插图或绘图程序那样操作类型,方法是将字体转换为 PostScript 曲线或轮廓,可以随意扭曲、缩放、剪切和拉伸。您还可以用渐变或图像填充它们,并将文本附加到路径。Scribus 还可以导出 SVG,包括文本和图像。SVG 文件中的所有图像都将转换为 PNG。
DTP 用户习惯于使用大量的键盘快捷键,Scribus 也不例外。功能可以通过用户定义的键盘快捷键、菜单选项和大量使用右键单击上下文菜单来操作。可以动态添加或禁用字体路径,以及字体替换首选项。建议您谨慎操作,以确保您的字体已正确安装,并具有最新的 fonts.dir 和 fonts.scale 文件。Scribus 对字体路径必然非常挑剔,并且有大量代码来嗅探已安装字体的确切功能。新用户在使用 Scribus 时遇到的一个常见问题是他们认为 Scribus 找不到已安装的字体。恰恰相反,Scribus 会拒绝未 100% 正常工作的已安装字体。文档中对此进行了详细的解释。从某种意义上说,字体是微型程序,也存在错误。
Scribus 可以导入 ASCII 文本文件以及剪贴板文本。通过指定文本编码的能力增强了此功能。因此,您可以放置 Unicode 文本以及以西里尔文和拉丁文编码创建的文本。您还可以将文本方向切换为从右到左的脚本,如阿拉伯语和希伯来语。预计在下一个版本中会添加其他导入过滤器。
特殊的字体处理功能允许您旋转、翻转和缩放文本。Scribus 可以自动对多种语言的文本进行断字,并且允许您调整字体中字母之间的字距调整或间距。如果您为给定的字体添加 AFM(ASCII 字体度量)文件,Scribus 将使用它来自动调整字母之间的间距。Scribus 还平等地支持 Type 1 和 TrueType 字体。

图 4. Scribus 具有最易于使用的工具之一,用于在路径上创建文本。这允许用户使文本跟随不规则对象,并且可用于样式化文本,或者例如,在图表中命名道路。
Scribus 可以导入许多常见的图像格式,例如 PNG、TIFF 和 JPEG。所有图像都可以在 Scribus 中缩放、旋转、翻转和分层。如果图像文件嵌入了 ICC 颜色配置文件,Scribus 会读取标签并在 littlecms 色彩管理中使用它们。您可以轻松导入 EPS 文件以及 PDF 的第一页。为了让您更轻松地放置 EPS 和 PDF,Scribus 会自动生成低分辨率预览。EPS 文件本身没有预览。
Scribus 拥有地球上最好的 PDF 导出引擎之一——这是一个大胆的声明,但在我看来,仅次于最新版本的 Adobe InDesign。PDF 导出器不仅易于使用,而且可以生成高质量的 PDF,前提是您使用正确准备的图像并选择高质量的字体。PDF 导出器的部分精妙之处在于它掩盖了令人困惑的选项,但并没有限制用户的能力或高级功能(如 PDF/X-3)的使用。在测试中,我使用相同的图像和字体从 Scribus 和其他高端 DTP 应用程序创建了大型高分辨率四色 CMYK PDF。差异难以辨别。颜色、字体和文本的渲染效果完全相同,并且图像在整个过程中以相同的保真度渲染。它还完全支持 PDF 1.4 功能,例如 PDF 中的 128 位加密和透明度。如果需要,Scribus 也可以导出高质量的 EPS 和原始 PostScript 文件。
Scribus 文档和首选项文件是基于 XML 的,完全开放且有文档记录。这使得添加功能变得更加简单,并且它们的基于文本的性质使它们更加健壮。DTP 文件格式在内部是 PC 世界中最复杂的格式之一。文件损坏通常可能是一个问题,并且 DTP 文件在不太完善的网络上可能也不稳定。我发现 Scribus 中的 XML 格式几乎是防崩溃的。即使使用 Scribus 的前沿 CVS 版本,我也很少丢失文件,即使是损坏的文件也可以使用文本编辑器修复。PageMaker 和 Quark 用户长期以来一直习惯于频繁保存和一些修复损坏文档的新技巧。
在 Scribus 项目启动初期,专注于 PDF 格式的设计决策是具有先见之明的。[Linux Journal 以 PDF 格式将页面发送给印刷商——编者注。] 出版物要求广告商提供 PDF 文件的情况并不少见。因此,一些杂志完全由 PDF 组成,完整的出版物重新导出为 PDF。为什么?PDF 消除了大量应用程序和跨平台不兼容性,尤其是字体方面的不兼容性。此外,现在存在成熟的印前检查工具,用于验证 PDF 是否可用于印刷。PDF/X ISO 标准的出现也推动了 PDF 的采用。
也就是说,Scribus 的设计目的不是成为“Quark 杀手”。Scribus 旨在为 Linux 和 UNIX 用户提供可比较的工具,这些工具到目前为止一直是昂贵的专有应用程序的领域,仅在 Mac 和 Windows 操作系统上可用。DTP 用户和商店对于升级和更改应用程序可能相当保守。可靠性至关重要——一次错过的印刷可能会损失数千美元。此外,这些应用程序需要数月甚至数年才能掌握。即使在同一应用程序的较新版本之间进行切换,生产力也可能会受到影响。
Scribus 中对 PDF/X-3 的支持是使 Scribus 文件在印刷界被接受的另一种方式。最新的光栅图像处理器 (RIP) 可以支持 PDF/X-3,从而保留原始 RGB(红色、绿色和蓝色)图像和 ICC 配置文件,直到文件转换为印版为止。
作为个人轶事,作为当时的 Linux 新手和非程序员,志愿参与文档编写是我在计算机领域中获得的最佳体验之一。来自 Windows/Mac/Novell 世界,这让我对 Linux/UNIX 方法有了更深入的了解。许多优秀的开源项目和开发人员几乎总是可以使用文档编写和测试方面的帮助。对于非程序员来说,这是对我们如此自由地享受的众多程序的一点回报。
Linux 上 DTP 的历史,嗯,很短暂。2000 年,Adobe 公开测试了 Framemaker 的一个版本,该版本可以在某些 UNIX 版本上运行。然后它就消失了。在短时间内,一家名为 Chilliware 的公司提供了一款名为 Ice Sculptor 的 DTP 应用程序。该公司在发布后不久就倒闭了。虽然 DTP 在某些方面是一个小众应用程序,但 Scribus 为 Linux 桌面带来了新的范围。
与 Franz Schmid 的问答
问:您为什么开始开发 Scribus?
答:我需要一个用于 Linux 的程序,为我在巴伐利亚州的小旅馆的岳父母制作菜单和卡片,但 Linux 上没有任何像我在 Mac 上运行的 DTP 程序。我最初只是用 Python 为自己编写了这个程序,直到一位朋友建议我把它放到网上。我对反响感到非常惊讶。
问:您是如何想到 Scribus 这个名字的?
答:我当时想把它叫做“Open Page”之类的名字,但对我来说不够独特。Scribus 来自拉丁语,是罗马官方作家的名字,就像我们在英语中使用单词 scribes 一样。这在许多语言中都有意义。
问:您为什么选择 Qt?
答:当我决定转向 C++ 时,Qt 是唯一一个文档齐全的 C++ 工具包。Scribus 过去是,现在仍然是我的第一个 C++ 项目。Python 非常适合概念验证,但在某些功能上速度较慢。
问:Scribus 团队有哪些成员?
答:嗯,目前,只有我和 Paul Johnson,他从 Scribus 0.8 版本开始就是成员。他启动了 anoncvs,帮助进行代码审查,并做了许多其他事情,例如在邮件列表中为用户提供支持。Peter Linnell 较早加入,负责测试和文档编写。其他用户也做出了一些有价值的贡献。我们的邮件列表非常活跃,我收到了来自用户的非常友好的电子邮件,他们感谢快速的回复。我们有一群用户在邮件列表中非常活跃,这有助于我腾出时间来编写代码。我们可能与正常的开源项目不同,因为我们都处于 30 多岁和 40 多岁。我们都有正规工作和家庭。但对于 DTP 而言,尤其是有一些行业经验和知识会有所帮助。
何时使用 TeX,何时使用 Scribus?
多年来,UNIX/Linux 世界的很大一部分人将 DTP 等同于 TeX 及其衍生产品——这是有充分理由的,在长篇技术文档、科学、数学和其他文本密集型文档的出版中,TeX 非常出色。TeX 也可以创建可用于印刷的文件;整本书都是用 TeX 创建的。但是,尽管可以添加图像和其他艺术作品,但 TeX 对于组合高度图形化的文档既不直观也不高效。DTP 实际上是 WYSIWYG 的最佳用途之一。TeX 的方法与可视化 WYSIWYG DTP 非常不同。这就像尝试用 HTML 代码描述一幅画——你可以做到,但这并不容易。在 Linux 世界中,肯定有空间并且需要两者。
色彩管理的秘诀
Scribus 的高级功能之一是可以选择使用 littlecms 色彩管理库。littlecms 在 LGPL 下发布,已成为一个精致而通用的软件包,可用于许多与颜色相关的任务。分析工具的最终用户对其准确性和持续改进给予了高度评价。
专有的色彩管理方法到目前为止一直是一个严守的秘密。littlecms 是如何实现这一点的?首先,存在 ISO 颜色和颜色配置文件格式标准,这些标准是开放的,并由 ICC 在 color.org 上发布。其次,为了大大简化,转换是使用 3-D 查找表进行的,以将一个颜色空间转换为另一个颜色空间。秘诀是色彩管理模块使用的算法,用于调整颜色空间之间的差异。挑战是从一种颜色类型映射到另一种颜色类型,同时最大限度地减少色域压缩的影响。这是 CMYK 颜色空间通常具有较小的色域或给定设备可以渲染的颜色范围的结果。例如,某些鲜艳的绿色可以在 RGB 显示器上创建,但在印刷页面上很难用 CMYK 颜色渲染。纸张的厚度、亮度和油墨吸附也会影响打印机色域。最新版本的 littlecms 有一个名为“黑点补偿”的功能,这是另一种调整颜色的技巧,尽可能紧密地匹配屏幕和扫描仪与最终打印目标。
Littlecms 不仅提供 cmm(色彩管理模块),还提供可以帮助完成以颜色为导向的任务的其他实用程序。一些命令行工具允许在图像文件中嵌入或标记 ICC 配置文件,但一组分析工具也可用于为您的显示器和扫描仪创建 ICC 配置文件。显示器的良好 ICC 配置文件实际上是在 Scribus 中设置有用的色彩管理的首要条件。我对 littlecms 显示器配置文件的测试为视觉分析器产生了良好的结果。在高端 DTP 中,配置文件创建和校准是通过特殊的设备和软件完成的,这些设备和软件可能价值数千美元。
将 The GIMP 与 Scribus 一起使用
在印前和 DTP 世界中使用 The GIMP 的局限性之一是缺乏 CMYK 支持。简而言之,The GIMP 在 RGB 或灰度模式下工作。印刷界使用 CMYK——四色印刷中使用的四种原色油墨颜色。对 The GIMP 邮件列表的阅读表明,这可能会添加到 GIMP 2.0 中,因为它一直是一个长期存在的要求。此外,围绕与 CMYK 颜色相关的专利进行了大量讨论。对我来说,这完全是无稽之谈。正如 Scribus 和 littlecms 库所显示的那样,CMYK 颜色本身不受专利限制。只要您不使用获得专利的工艺,您就可以畅行无阻。幸运的是,存在一些在 CMYK 世界中使用 The GIMP 的解决方法:1) 如果将打印选项设置为 PDF 导出中的打印,则 Scribus 本身会自动将 RGB 颜色转换为 CMYK。2) Alistair Robinson 之前曾为 Scribus 贡献过代码,他创建了一种简单但有效的方法,通过巧妙地分离 RGB 图层并使用灰色通道作为 CMYK 颜色,使用 The GIMP 输出 CMYK TIFF。Separate 是一个 GIMP 插件,可在此处获得:www.blackfiveservices.co.uk/separate.shtml。
Linux 中还有另外两种 CMYK 支持选项:Corel PhotoPaint 9 仍然可以通过 FTP 下载。它是免费的,就像免费啤酒一样,但不受支持,并且难以在新发行版上安装。Caldera Graphics 提供免费的“精简”版本和商业版本的 Cameleo,其中包括扫描和图像转换工具。两者都具有 ICC 色彩管理支持。更多详细信息请参见 Scribus 文档。
注意 DPI!
初学者经常遇到的一个绊脚石是图像分辨率。通常,Web 上的大多数图像都是 72–96 dpi(每英寸点数)。在创建 DTP 文件时,通常需要更高的分辨率,通常至少 200 dpi 或通常 300 dpi。例如,本杂志的最佳分辨率为 266 dpi。我曾在 The GIMP 中输出高达 1,200 dpi 的图像,效果极佳。
资源
Linux DTP 链接:www.atlantictechsolutions.com/scribusdocs/sclinks.html
Littlecms:www.littlecms.com
Scribus 在线文档:www.atlantictechsolutions.com/scribusdocs 或 home.comcast.net/~scribusdocs
Scribus 主页:web2.altmuehlnet.de/fschmid 或 scribus.planetmirror.com
Scribus 邮件列表:nashi.altmuehlnet.de/mailman/listinfo/scribus
Peter Linnell 是新英格兰 Atlantic Tech Solutions 的 IT 顾问和负责人,专门从事网络、印前和 DTP。Scribus 项目是他参与的第一个开源项目,他自称为“Windows 难民”。他正在努力获得红帽工程师认证,以补充他的 Microsoft 和 CompTIA 认证。他避开所有声称自己是极客的说法,希望通过娶一位可爱的法国女士来证明这一点,他更喜欢波尔多葡萄酒而不是 Jolt 可乐,并尽可能多地前往欧洲旅行。