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