问题
I have recently started to experiment with XSL-FO; It seems well supported, all XSL-FO vendors are very helpful, and you can start with little (or no) money.
My company bought a heavy duty (40k pages per minute) IBM printer back in the 90's but its software is now quite obsolete.
XSL-FO looks promising, but I am wondering if older, well established technologies may be better. The Chief Architect of ISIS Papyrus which builds such software, believes that XSL-FO is just a marketing pitch.
回答1:
Newer, XML based publishing is really taking off. Just dismissing XML as inefficient and with "inherent problems" shows a lack of understanding what customers really want: open technologies that are not locked to a specific vendor.
XSL-FO, just like XHTML, XSLT, SVG and other public standards may not be perfect, and may not have all the traditional technologies and file formats have.
But software solutions that implement these standards are cheaper, easier to integrate, and interchangeable. You can switch from one implementation to another much easier than implementing a proprietary technology.
It's understandable why the software providers of the 80's hate open standards - is because they level the playing field. Adobe stopped supporting SVG after it become obvious that they cannot control the standard; ISIS Papyrus could support XSL-FO, but they choose not to because they will be forced to compete on equal foot with everybody else.
回答2:
XSL-FO as just a tool for creating PDF is not really usefull.
But, as we have in several scenarios, if you already have an application that works with XML structured documents and information, and have a requirement to generate PDF files, then XSL-FO is a very good way to achieve this.
In that case you probably have already some developers with XML and XSL knowledge, for whom it is not a big deal to set up templates that generate the XSL-FO structure that can be parsed by a generator.
As with all technology decisions, what to use depends on the environment and the resources you have. We still do a lot of work in SAP ABAP, even though we could do much more cool stuff with java. But if you have big teams of ABAP programmers at hand, that is the first choice. Same here I think.
Martijn
回答3:
XSL-FO can be used for more than just creating PDF documents.
It is a rich data model for paginated content. XSL-FO can be translated into various other formats, such as HTML, RTF, WordML, DocBook, etc.
Investing the time to create one (open standard) format with the ability to transform/render a variety of other formats from that one document model is a big benefit. It can reduce development time/effort and ensure that the variety of output files are consistent.
回答4:
Today, the main is "XSL-FO compared to CSS"
CSS is a "classical technology" because CSS1 is from 1996 (!) and CSS2.0 is a 1998 standard... What is not classic is the CSS adoption, and the attention of the software houses to supply the document composition market with a good CSS solutions.
Today we can use "CSS+XHTML to PDF" or "CSS+XML to PDF" technologies, see here Why use XSL-FO instead of CSS2, for transform HTML into good PDF? question and answers.
Paginated content can be generated by CSS, and at near future another question will be
"Why PDF?"
E-books not need PDF, they are using with sucess the EPUB format, that use a direct "CSS+XHTML" viewer.
来源:https://stackoverflow.com/questions/2052718/xsl-fo-compared-to-classical-technologies