【问题标题】:Unacceptable performance rendering PDF Tables with ITextSharp and PDFSharp [closed]使用 ITextSharp 和 PDFSharp 呈现 PDF 表的性能无法接受 [关闭]
【发布时间】:2009-05-13 20:06:30
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net pdf itextsharp pdfsharp


    【解决方案1】:

    已经提交了一个补丁,它极大地提高了表格渲染性能 - 表格越大,显然改进越大。在运行快速测试时,我对一个有 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

    【讨论】:

    • 1.50 版本的性能得到了提升,尤其是 1.50 beta 2 版本向前迈出了一大步。没有补丁的 1.50 版 RC2 应该比有这个补丁的 1.32 版快得多。
    【解决方案2】:

    您说的是 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

    【讨论】:

    • 这个问题是否已经修复或者性能仍然是一个问题?
    • 1.50 版本的性能得到了提升,尤其是 1.50 beta 2 版本向前迈出了一大步。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多