Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iTextSharp和大桌子(超过10万行)_C#_Pdf_Itextsharp - Fatal编程技术网

C# iTextSharp和大桌子(超过10万行)

C# iTextSharp和大桌子(超过10万行),c#,pdf,itextsharp,C#,Pdf,Itextsharp,我们正在使用iTextSharp生成一些PDF文件,这些文件显示了一个包含超过100000行的大表 在我的英特尔i7 2600k上,它需要相当长的时间超过25秒。在添加了一些计时器之后,我意识到将PDFPTable添加到PDFDocument时,17秒的大部分时间都花在了上面 我已经搜索了很多关于可能的优化的内容,比如在listview上,调用SuspendLayout,添加行,然后恢复布局,但什么也没找到。 在《iText in Action》一书中,他们只是在讨论如何对表进行碎片化,以实现更

我们正在使用iTextSharp生成一些PDF文件,这些文件显示了一个包含超过100000行的大表

在我的英特尔i7 2600k上,它需要相当长的时间超过25秒。在添加了一些计时器之后,我意识到将PDFPTable添加到PDFDocument时,17秒的大部分时间都花在了上面

我已经搜索了很多关于可能的优化的内容,比如在listview上,调用SuspendLayout,添加行,然后恢复布局,但什么也没找到。 在《iText in Action》一书中,他们只是在讨论如何对表进行碎片化,以实现更好的内存管理。我已经试过了,但这一代人的结果都是一样的

有什么我能做的吗?25秒是相当长的时间


关于,

没有真正回答您的问题……我想说的第一件事是,您为什么要生成一个包含100000行的PDF文件。我敢肯定,很多数据不是为了显示或打印的目的——我猜是为了存档数据,而PDF对此没有意义。原始数据数据库、分隔或固定宽度的文本文件或XML或JSON等结构化文本对我来说更有意义,您可以根据需要进行查询,以检索所需的任何有用数据。考虑到100.000行,25秒对我来说听起来相当快。我不知道这是否有帮助,但请尝试一下