1

我有一个代码可以使用带有表格的 iTextSharp 创建 PDF,但是当我将宽度设置为该表格时,它会引发一个异常,指出该文档没有页面,为什么?

这是我的代码的一部分:

using (var document = new Document(PageSize.A4))
            {
                PdfWriter.GetInstance(document, new FileStream(string.Format("{0}{1}_test.pdf", outputPath, id), FileMode.Create));
                document.Open();
                //If add this line the exception is the same
                //document.NewPage();

                PdfPTable table = new PdfPTable(9);
                table.TotalWidth = 500f;
                float[] widths = new float[] { 20f, 60f, 60f, 30f, 50f, 80f, 50f, 50f, 50f, 50f };
                //if this line is commented (table.SetWidths), the PDF works fine.
                table.SetWidths(widths);

.....

}
4

1 回答 1

0

您使用PdfPTable table = new PdfPTable(9);的意思是 9 列表格。并且您设置float[] widths = new float[] { 20f, 60f, 60f, 30f, 50f, 80f, 50f, 50f, 50f, 50f };10“列”的宽度,所以请更改它。并使用float[] widths = new float[] { 20f, 60f, 60f, 30f, 50f, 80f, 50f, 50f, 50f};

然后它的工作。

用这个,

PdfPTable table = new PdfPTable(10);
table.TotalWidth = 500f;
float[] widths = new float[] { 20f, 60f, 60f, 30f, 50f, 80f, 50f, 50f, 50f, 50f };
于 2013-09-27T13:58:33.553 回答