0

我成功地使用模板和 xml 数据fo.net生成一页发票 pdf 文档。xsl-fo现在我想在循环中生成 pdf 文档并将它们写入 a Stream,这样我就可以将文档合并成一批 pdf。每当我达到一定数量的文档时,我都会创建一个新的批处理文件并继续。

我的问题:我一个一个生成pdf文档并将它们附加到批处理文件中没有错误,但最终的pdf文件只显示第一个文档。文件大小已根据附加数据相应增加,但未显示这些页面。如果我保存每个单独的文档,它们都可以,每页一页。但是在打开生成的文件时,附加到文件流的相同文档不可见。

我尝试使用fo:simple-page-masterfo:page-sequence-masterfo:repeatable-page-master-reference但没有成功。据我用谷歌搜索,我想fo.net不打算以这种方式使用。

我的问题是:有没有办法将 pdf 内容附加到现有的 pdf 文件(或流)fo.net?还是根本做不到?

在继续实施另一个解决方案之前,我想确认一下,例如使用一些免费工具来合并现有的 pdf 文档(我现在最好的候选人是PDFtk)。

另一种可能的解决方案可能是生成已转换的 xsl-fo 已包含多个页面,但出于性能原因,我不喜欢这种方法。中间文件会非常棒。我宁愿一次只保留一页。

也许我对这个问题的完整方法是错误的,我会很感激一些想法。

我的环境:.NET 4.0Visual Studio 2010

4

1 回答 1

1

除非您有非常聪明的应用程序,否则连接 PDF 可能是错误的方法。原因:图像和字体可以在每个文档中重复,使得生成的文件非常庞大。更糟糕的是,我见过一个字体表破坏其他字体表的应用程序,而您只能在最终文档中获得最后一个附加文档中的字符。您提到的一些没有限制的产品有更好的方法。

请参阅http://www.renderx.com/solutions/large_report_formatting.html了解如何使用一个 XSL FO 处理器来完成。不确定您是否可以将这些想法应用于您的想法。RenderX 可以在“附加”模式下处理 XSL FO,接收和输出结果,同时保留图像和字体信息以构建正确的输出。也许您的选择有类似的模式。

于 2013-10-01T16:42:16.200 回答