首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文档转换为PDF格式

将文档转换为PDF格式
EN

Stack Overflow用户
提问于 2014-01-27 15:42:00
回答 2查看 754关注 0票数 0

我有一个XML文档,需要转换为PDF,我有很好的XSLt知识,但在这里,当我试图输入输出格式到PDF,它不采取它。当我在网上搜索时,我知道XSLT的输出格式可以是text/xml/html。但我需要一个pdf格式的输出。

我还有以下几个问题,

代码语言:javascript
复制
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).

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-01-27 17:19:34

一般的方法是使用XSLT将XML文档转换为XSL-FO。XSL-FO是一种XML词汇表,本质上描述了页面的布局;它定义了页面的元素和页面的区域。生成XSL-FO后,您可以将其放入XSL-FO处理器中,该处理器会将其转换为PDF,而无需用户的进一步参与。

不要期望通过查看一两个示例来学习XSL-FO。你需要做一些阅读。

票数 2
EN

Stack Overflow用户

发布于 2014-01-27 16:42:37

PDF不是XSLT的标准输出格式之一。xsl:outputmethod属性允许以下值:

代码语言:javascript
复制
xml | html | xhtml | text | [lexical QName]

最后一个值表示可以使用任何限定名称-只要提供了产品或用户扩展来解析其含义。但是,我敢说,为XSLT处理器编写自己的扩展并不完全是您想要的。

但是生成PDF无论如何都不是XSLT的目的,因为它主要关注XML的转换,而格式化则留给了相关的规范、格式化对象或XSL-FO。找到官方推荐的here

XSL-FO也是用XML编写的,但元素通常以XSL-FO名称空间为前缀:

代码语言:javascript
复制
<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处理器呈现结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21375363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档