繁体   English   中英

是否存在诸如xsl:fo报告或xsl:fo模拟之类的东西?

[英]is there such a thing as xsl:fo reporting or xsl:fo simulation?

我试图确定MY xsl:fo生成的PDF文件是否超过一页,而没有实际生成输出。 我们在服务器上使用Apache-FOP 0.95,在将XML数据传递到XSL-FO模板之前,将使用PHP DOMDocument类生成XML数据。

我的问题:

有没有可以模拟xsl:fo输出并向我发送可在我的应用程序中使用的报告的PHP库?

另外,Apache FOP本身(或同级Java应用程序)是否可以通过一种方式发送报告而无需实际生成文件? 我一直在阅读FOP文档,除了一些我无法完全理解的内容外,我还无法找到在FOP中执行此操作的方法。

如果没有通过布局引擎实际运行文档,就不可能“模拟”文档。 另外,不同的FO处理器可能产生略有不同的输出,因此您不能依靠一个处理器的结果来猜测另一个处理器的页数。

使用Apache FOP 0.95可以执行的操作是生成所谓的“ 区域树XML”(或中间格式) ,该区域基本上将布局结果输出为XML文件而不是PDF。 然后可以使用XPath(或XSLT)检查该XML文件以确定页数。 没有正式描述XML格式,但是您将很快了解如何确定页数。 因此,通过在命令行上使用“ -at application / pdf Simulation.xml”而不是“ -pdf output.pdf”,可以生成该XML格式。 当然,在这种情况下,需要完成生成最终文档所需的大多数处理,因此再次重新运行整个文档以进行PDF生成将花费相当长的时间。 好消息是,您可以再次使用AT XML作为输入来生成最终的PDF,因此不必再次运行布局阶段(请参见文档中的“ -atin”参数)。

当然,另一种可能性是仅使用PDF工具来确定最终文档的页数。

HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM