iTextSharp文档没有页面。什么时候SetWidths在桌子上?

时间:2013-09-27 13:53:16

标签: itextsharp

我有一个代码,用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);

.....

}

1 个答案:

答案 0 :(得分: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 };