2

我正在研究与将数据格式化为文档形式相关的各种技术。有许多软件平台可以这样做,但大多数都非常昂贵。

我偶然发现了 XSL-FO,并一直在深入研究它,看看它是否适合我的需要。但到目前为止,我还无法回答这个问题。它可以用于将多个文档创建到单个流中吗?

FOP 可以创建 AFP(我的公司用于批量打印的打印语言)并且效果很好(我需要做更多的字体配置才能使其真正有价值)。但我还没有看到任何证据表明 XSL-FO 可以在单个打印流中创建数百个、数千个,或者在我的例子中是数十万个文档(语句)。

对于任何了解 FOP 的人来说,还有一个问题......它可以在 AFP 流中索引(TLE、NOP 等)文档吗?

附加信息:

我没有任何代码可以展示/分享,因为这个小项目正处于研究阶段。我非常想知道 XSL-FO 是否能满足我的需求,然后我将接下来的 4-6 个月埋在书籍、教程和手册中,一起编写代码,却发现它不能满足我的需求。

我正在寻找的是一种在单个打印流 (AFP) 中创建多个文档以假脱机到商业打印机的方法。我发现 fop 是一个基于 Java 的开源转换器,用于将 XSL-FO 转换为 AFP(或 PDF,或许多其他输出)。

出于这些目的,文档可以定义如下:从第 1 页开始的一组页面/印象。

到目前为止,我还没有看到 XSL-FO 如何一次生成一个文档以外的任何内容。当然,我对 XSL 的尝试还处于起步阶段,这就是我在这里寻求答案的原因。

这个问题的一些潜在答案可能不会让我感到惊讶:

“是的,XSL-FO 可以做到这一点……查看fo:new-document标签。”

“不,XSL-FO 旨在创建单个文档。要生成多个文档,您需要使用第三方软件或对 XSL-FO 进行后处理以“伪造”多个文档。”

如果答案是肯定的,那么我将进一步研究这个问题。如果答案是肯定的,但它需要花钱,那么我将寻求其他同样需要花钱但更容易开发的途径。如果答案是否定的,那么我将再次寻求其他途径。

我希望这能澄清我的疑问。有人对我有什么好的见解吗?

更多信息:

这看起来很有希望:http: //xmlgraphics.apache.org/fop/trunk/output.html#afp

4

1 回答 1

1

当然,XSL FO 可以用来做这样的事情:(1)从一个大文档(重复文档)生成许多单独的文档,(2)从一个大文档生成一个大文档,或者(3)甚至组合这些.. 。 同时。请参阅本白皮书中发布的概念:

http://www.renderx.com/solutions/large_report_formatting.html

这里有详细信息:

PDF 报告

这些适用于 RenderX 及其功能。在这样的解决方案中,单个 XML 输入可以代表数千张重复发票。您可以分割成块,发送到在不同线程、JVM 甚至在不同机器上运行的组合引擎的多个同时线程,然后组装或任何想要创建所需输出的东西。因为您可以并行化合成步骤,所以您可以使用线程、内核、CPU 和机器进行扩展,甚至可以获得所需的性能。这种方法在世界各地的主要组织中都在生产。

我们不评估或测试 FOP,所提出的概念需要像 XEP 一样的完全线程安全的渲染器和像 EnMasse 一样的渲染线程控制器。XEP 是一种 FO 渲染器,并且支持 AFP 和 TLE 等作为一种输出格式(还有 PDF、PDF 表单、Postscript、XPS、PPML、SVG、XHTML ......)。

于 2013-06-16T17:51:46.833 回答