2

一段时间以来,我一直在尝试找出一种在 XSL FO 模板中使用 javascript 脚本来生成 PDF 的方法。经过大量挖掘后,我开始意识到这可能是不可能的,因为据我所知,将 XML 数据转换为呈现的 PDF 表单的操作顺序是

XML -> XSL(转换)-> FO(应用格式)-> PDF 渲染引擎 -> PDF

我的问题是,javascript 执行在哪里适合这个管道?似乎很清楚,脚本是在完成 xsl 转换之后执行的,这就是为什么很多人在使用基于浏览器的 XSL 转换时遇到并发症的原因,但是如果 javascript 部分是在 xsl 转换之后执行但在 FO 格式化之前执行的应用,那么从技术上讲,是否应该没有办法让您的 javascript 脚本执行一些操作,例如更新 xsl fo 文档中的参数,该参数将由 FO 阶段合并,从而输出到 PDF 以供查看?

4

1 回答 1

2

您将浏览器与格式化引擎混淆了。格式化引擎接受输入并进行打印输出(不是交互式输出)。您可以将代码放入 Java 或 .NET(取决于您的 XSLT 引擎)以在 XSL FO 到达格式化引擎之前对其进行修改……或者(如果您的 FO 引擎支持它)将 Javascript 嵌入到最终输出中(显然只有 PDF)用于修改查看时发生的情况。没有任何 XSL FO 引擎(据我所知)在流程管道中支持 Javascript——这是一个服务器进程,其中 Javascript 不(通常)执行(因为它不在您的浏览器中)。

于 2013-08-16T02:25:15.063 回答