为了账号安全,请及时绑定邮箱和手机立即绑定

使用XSL-FO,CSS3而不是CSS2来创建像PDF这样的分页文档?

使用XSL-FO,CSS3而不是CSS2来创建像PDF这样的分页文档?

LEATH 2019-07-26 16:53:23
使用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。没有人对这个提出的问题有很好的答案。
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

我曾经做过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更有用。


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信