2

我正在尝试生成包含大量表格的 PDF 文件。每个 PDF 的长度可能为 150 页。

使用ITextSharp时,文件大小最大为 16 兆字节,压缩时没有明显的收缩。

使用PDFSharp时,文件大小非常合理,为 2 或 3 兆字节,但生成文档需要不可接受的时间长度(我在 3 分钟后取消了它)。

有没有人建议使用 .NET 有效地生成复杂的 PDF 文件?

4

3 回答 3

3

您说的是 PDFsharp,但实际上您使用的是 MigraDoc。是的,在 1.32 版中,使用 MigraDoc Foundation 进行表格渲染仍然很慢。

1.50 版总体上带来了巨大的速度改进,在 1.50 beta 2 中,我们特别解决了缓慢的表格渲染问题。

测试结果:
PDFsharp + MigraDoc WPF 1.32.2608:
平均:24.443 秒
来自 Pakeha 的 MigraDoc-1.32-patched-release (WPF):
平均:9.114 秒
PDFsharp + MigraDoc (WPF) 1.50.3638-beta:
平均:16.114 秒
PDFsharp + MigraDoc (WPF) 1.50.3915-beta2:
平均:1.559 秒

另见:
https ://forum.pdfsharp.net/viewtopic.php?p=9379#p9379

于 2009-08-25T09:44:47.493 回答
3

已经提交了一个补丁,它极大地提高了表格渲染性能 - 表格越大,显然改进越大。在运行快速测试时,我对一个有 200 行的表的结果是:

  • (原始 DLL) [ResultsGenerator] [Info] PDF 结果写入:00:00:25.9754857
  • (已修补的 DLL)[ResultsGenerator] [Info] PDF 结果写入:00:00:03.9472258

http://forum.pdfsharp.net/viewtopic.php?f=2&t=679&start=0#p4888

于 2011-11-13T13:28:13.147 回答
0

当我的公司测试写出 PDF 的性能时,我们选择了TallComponents的 TallPDF。我围绕 lib 编写了一个包装器,并认为它很容易使用并且在大型数据集上表现良好。

于 2009-05-13T20:13:32.880 回答