使用XSL-FO,CSS3而不是CSS2来创建像PDF这样的分页文档?
有很多旧的文本,比如2002年的书,说明我们必须使用“CSS for Web”和“XSL-FO for print”。我认为在现今(2012)我们最终可以使用CSS和渲染引擎来理解CSS2的分页媒体和CSS3的东西......但是“新文本”,程序员的共识和软件的投资在哪里呢?
XSL-FO或“XSL格式化对象”(W3C标准)是从XML或XHTML内容生成PDF文档的最常用技术。XSL-FO 1.1版 于2006年发布,2001年发布1.0。
CSS2.1来自2011年,但CSS2.0是1998年的标准,2008年修订......我认为标准年龄不是问题。使用HTML,XHTML或XML的CSS具有“打印力”:参见PrinceXML,WebKit打印模块(或wkhtmltopdf),ABCpdf等工具。
在CSS和XSL-FO之间进行选择:使用CSS2,您可以将文本完全适合纸质页面等。这不是分页,多列布局,放置脚注,运行页眉或页面边距......两者, CSS(分页媒体)和XSL-FO是做到这一点的好标准。
PS:关于这个上下文有一些相关的问题/答案,关于webkit转换,用PHP转换和关于HTML的Generation PDF。没有人对这个提出的问题有很好的答案。
潇湘沐