我最近开始尝试使用 XSL-FO;它似乎得到很好的支持,所有 XSL-FO 供应商都非常乐于助人,您可以从很少(或没有)钱开始。
我的公司在 90 年代购买了一台重型(每分钟 40k 页)IBM 打印机,但它的软件现在已经过时了。
XSL-FO 看起来很有希望,但我想知道是否更老的、成熟的技术可能会更好。构建此类软件的 ISIS Papyrus 的首席架构师认为 XSL-FO 只是一种营销宣传。
更新的、基于 XML 的发布正在真正起飞。仅仅将 XML 视为效率低下且存在“固有问题”就表明缺乏对客户真正想要的理解:开放技术并不局限于特定供应商。
XSL-FO 就像 XHTML、XSLT、SVG 等公共标准一样,可能并不完美,也可能不具备所有传统技术和文件格式所拥有的。
但实现这些标准的软件解决方案更便宜、更易于集成且可互换。您可以从一种实现切换到另一种实现,这比实现专有技术要容易得多。
80 年代的软件供应商讨厌开放标准的原因是可以理解的——因为他们创造了公平的竞争环境。Adobe 在明显无法控制标准后停止支持 SVG;ISIS Papyrus可以支持 XSL-FO,但他们选择不支持,因为他们将被迫与其他人平等竞争。
XSL-FO 作为创建 PDF 的工具并没有真正的用处。
但是,正如我们在几个场景中所做的那样,如果您已经有一个使用 XML 结构化文档和信息的应用程序,并且需要生成 PDF 文件,那么 XSL-FO 是实现此目的的一个非常好的方法。
在这种情况下,您可能已经有一些具有 XML 和 XSL 知识的开发人员,对他们来说,设置生成可由生成器解析的 XSL-FO 结构的模板并不是什么大问题。
与所有技术决策一样,使用什么取决于环境和您拥有的资源。我们仍然在 SAP ABAP 中做很多工作,尽管我们可以用 java 做更多很酷的东西。但是,如果您手头有大的 ABAP 程序员团队,那是首选。我想这里也一样。
马汀
XSL-FO 不仅可以用于创建 PDF 文档。
它是用于分页内容的丰富数据模型。XSL-FO 可以翻译成各种其他格式,例如HTML、RTF、WordML、DocBook 等。
花时间创建一种(开放标准)格式,并能够从一个文档模型转换/呈现各种其他格式,这是一个很大的好处。它可以减少开发时间/工作量并确保输出文件的种类一致。
CSS 是一种“经典技术”,因为 CSS1 是 1996 年的(!),而 CSS2.0 是 1998 年的标准……不经典的是CSS 的采用,以及软件公司为文档撰写市场提供好的 CSS 解决方案。
今天我们可以使用“CSS+XHTML 转 PDF”或“CSS+XML 转 PDF”技术,看这里为什么使用 XSL-FO 而不是 CSS2,将 HTML 转换为好的 PDF? 问题和答案。
分页内容可以由 CSS 生成,在不久的将来另一个问题将是
“为什么是 PDF? ”
电子书不需要 PDF,它们使用的是EPUB 格式,使用直接的“CSS+XHTML”查看器。