使用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中都非??尚校贑SS中甚至考慮都太可怕了。在某些情況下,CSS只是不會將其剪切為足夠好的軟件,即使標簽存在也不存在。甚至wkhtmltopdf(0.11,稍后不確定)在渲染TOC時使用XSLT并且不支持@page
。
我不能代表PrinceXML,因為雖然它看起來很棒我提前知道價格標簽是不可能的所以它不是一個選項 - 我懷疑這對許多開發商和公司來說都是如此。
如果有更好的軟件來進行渲染和更多的用戶我真的認為CSS會是一個更好的選擇,因為它寫得更好(css和源(x)html)并且有很多編輯器。這有點像舊的Linux與Windows的爭論 - IMO Linux使用起來更好,但缺乏通常需要的軟件,現有專業知識和支持。
為了回應這些評論,源材料始終是CSS的問題。用于XML的CSS是一個有點未知的領域,幾乎所有地方都是XML。不幸。我對XML非常不喜歡,盡管它實際上比(X)HTML更有用。
- 3 回答
- 0 關注
- 488 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消