一、问题

我使用iTextSharp生成PDF文件,今天碰到一个The document has no pages.的错误。它发生于

document.Close()

语句处。

二、原因

经排查,报告这个错误,是由于在PDF页中插入了表格,但是插入表格中的单元格数量与行列数的乘积不相等引起的。比如插入了一个2行2列的表格,但是在使用循环插入单元格的过程中,只插入了3个单元格,就会引发此错误。

三、解决方案

所以解决方案是,一定要保证插入的单元格数量 = 行数 * 列数。

比如你建了一个2列的表格,但是要插入其中的信息,使用5个单元格就够了。那么在最后,你还必需得添加一个空的单元格进去,以使总的单元格数量为6(=3<行> * 2<列>)。