Pet*_*uss 31 css xml pdf pagination xsl-fo
有很多旧的文本,比如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.没有人对这个提出的问题有很好的答案.
Pet*_*uss 30
谢谢所有的评论和答案!
现在,2014年,超过我的职位(12月17日)的1.5年,是巩固的时候:对我来说,没有答案是"完整答案",但所有答案(见Nenotlep和Alex的)都有助于形成一个大的图片.现在,巩固的主要动机是2013-11的@ mzjn新闻(这里).
在2013年11月11日星期六,Liam RE Quin 写道: "我们关闭了工作组,因为没有足够的人参与" W3C XML活动主管,关于XSL-FO 2.0连续性的失败.(见这里更好的副本).
工作草案的最新更新是在2012年1月,现在已经确认:W3C停止开发XSL-2.
为什么?它将被CSS3页面取代,见下文.
PS:讨论"官方声明",请使用/sf/answers/1494181461/
标准的CSS3页面是草稿,但许多应用程序,如PrinceXML v9和AntennaHouse Formatter v6都 证明它已经准备就绪(!); 预计将于2014年推出HTML5,预计将发布CSS3.
因此,据我所知,对于W3C,CSS3页面可以完成我们所需要的所有表达良好打印和良好PDF的内容.
有一天,在遥远的未来...... PDF将会死亡 - 它很复杂,不属于XML系列或W3C投资的一部分 - 并且许多人声称EPUB将取而代之.这是另一个好动机:平板电脑阅读器和PC浏览器将打印(HTML,XHTML和EPUB)以及PDF.因此PDF不是必需的...而且,对于这一天,唯一的标准需求,例如.Webkit打印项目,将是CSS3页面标准.
CSS3是两个战略事务的关键点:1)从XML或HTML内容生成良好的PDF; 2)替换PDF.
注意:另一个2014年的问题链接更新:wkHtmlToPDF现在在这里.关于"新文本",现在我们有很多,见前.使用CSS3构建书籍.
针对程序员的更新答案,针对此页面的问题,为什么使用XSL-FO而不是CSS2,将HTML转换为良好的PDF?
如果你进一步实现XML-Publishing的新系统,没有充分的理由使用XSL-FO.总结:
XSL-FO是当今的一种死技术,仅供小众公司使用,用于维护大型出版公司的遗留系统,如Elsevier ...... Stackoverflow的大多数作者/读者来自中小型公司.像O'Reilly Media,Inc.这样的公司已经使用CSS3进行打印.
CSS3将取代CSS2,涵盖了所有的差距(和恐惧为@来自Alexs的)的CSS2.
今天(2014年),您可以通过Google或我的链接查看(参见PrinceXML v9和AntennaHouse Formatter v6),我们有一些很好的软件来使用CSS2或CSS3呈现内容.
正如@bytebuster所说,"CSS更容易开发"(并且更容易学习!).
正如我上面所说,CSS3不是孤立的,它是"XML/HTML/SVG"系列的一部分.
开发"HTML + CSS模板"(标准网页设计师执行简单任务的每小时成本)要比"XSL-FO模板"(复杂任务中罕见专业人员的每小时成本)便宜得多.
....
关于W3C标准:旧的"css-page"被"css-break"和"分页媒体"取代为"碎片化" ......现在它是候选推荐标准,请参阅https://www.w3.org/ TR/CSS-突破3
2015年10月1日更新
我曾经做过CSS到PDF(wkhtmltopdf)和XSL-FO到PDF,我更喜欢CSS,但它有很多问题.IMO最好的CSS/HTML到PDF渲染器是wkhtmltopdf,但它有很多问题,如打印质量的材料问题,分页问题,CMYK着色,精确定位和全屏渲染.
诸如"向右移动1.8mm的盒子以使其接触纸张的顶部"和"我们需要最后一页成为100%宽的无边距表"的要求在XSL-FO中都非常可行,但在CSS中即使考虑也太可怕了.在某些情况下,CSS只是不会将其剪切为足够好的软件,即使标签存在也不存在.即使是wkhtmltopdf(0.11,后来也不确定)在渲染TOC时使用XSLT并且不支持@page.
我不能代表PrinceXML,因为虽然它看起来很棒我提前知道价格标签是不可能的所以它不是一个选项 - 我怀疑这对许多开发商和公司来说都是如此.
如果有更好的软件来进行渲染和更多的用户我真的认为CSS会更好,因为它写得更好(css和源(x)html)并且有很多编辑器.这有点像旧的Linux与Windows的争论 - IMO Linux使用起来更好,但缺乏通常需要的软件,现有专业知识和支持.
为了回应这些评论,源材料始终是CSS的问题.用于XML的CSS是一个有点未知的领域,几乎所有地方都是XML.不幸.我对XML非常不喜欢,尽管它实际上比(X)HTML更有用.
| 归档时间: |
|
| 查看次数: |
26398 次 |
| 最近记录: |