我有一个XML文档,需要转换为PDF,我有很好的XSLt知识,但在这里,当我试图输入输出格式到PDF,它不采取它。当我在网上搜索时,我知道XSLT的输出格式可以是text/xml/html。但我需要一个pdf格式的输出。
我还有以下几个问题,
1) If i attach a stylesheet to XSLT, will the styles be saved in PDF output.
2) Can this PDF be importable into InDesign and editable(if any changes are required).谢谢
发布于 2014-01-27 17:19:34
一般的方法是使用XSLT将XML文档转换为XSL-FO。XSL-FO是一种XML词汇表,本质上描述了页面的布局;它定义了页面的元素和页面的区域。生成XSL-FO后,您可以将其放入XSL-FO处理器中,该处理器会将其转换为PDF,而无需用户的进一步参与。
不要期望通过查看一两个示例来学习XSL-FO。你需要做一些阅读。
发布于 2014-01-27 16:42:37
PDF不是XSLT的标准输出格式之一。xsl:output的method属性允许以下值:
xml | html | xhtml | text | [lexical QName]最后一个值表示可以使用任何限定名称-只要提供了产品或用户扩展来解析其含义。但是,我敢说,为XSLT处理器编写自己的扩展并不完全是您想要的。
但是生成PDF无论如何都不是XSLT的目的,因为它主要关注XML的转换,而格式化则留给了相关的规范、格式化对象或XSL-FO。找到官方推荐的here。
XSL-FO也是用XML编写的,但元素通常以XSL-FO名称空间为前缀:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">请注意,XSL-FO代码不能由XSLT处理程序解释(也就是说,您可以转换XSL-FO文档,但不能将其呈现为PDF)。对于此任务,必须使用FO处理器。例如,Apache FOP是一个广为人知的免费软件。
现在,如何继续呢?将生成PDF分为两部分:第一步(使用XSLT样式表)将XML输入转换为XSL-FO,第二步使用FO处理器呈现结果。
https://stackoverflow.com/questions/21375363
复制相似问题