我正在与iTextSharp试图添加一个页眉和一个页脚到我生成的PDF,但是,如果我尝试添加一个页眉,其宽度为100%,我的页面有一些问题。如何添加表格作为标题?
所以,我必须做以下事情:
1)我已创建了一个名为PdfHeaderFooter,它扩展了iTextSharp的PdfPageEventHelper类类
2)进入PdfHeaderFooter我已经实现了OnStartPage()生成标题的方法:
// write on start of each page
public override void OnStartPage(PdfWriter writer, Document document)
{
base.OnStartPage(writer, document);
PdfPTable tabHead = new PdfPTable(new float[] { 1F });
PdfPCell cell;
//tabHead.TotalWidth = 300F;
tabHead.WidthPercentage = 100;
cell = new PdfPCell(new Phrase("Header"));
tabHead.AddCell(cell);
tabHead.WriteSelectedRows(0, -1, 150, document.Top, writer.DirectContent);
}
如果我使用类似tabHead.TotalWidth = 300F; insted tabHead.WidthPercentage = 100;它工作得很好,但如果我尝试设置为100%的TabHead表格的宽度(如我在前面的示例中所做的那样),当它调用tabHead.WriteSelectedRows(0,-1,150,document.Top,writer。 DirectContent)方法抛出以下异常:
表宽度必须大于零。
为什么?问题是什么?如果我将它设置为100%,表格大小有多可能会如何?
有人可以帮我解决这个问题吗?
TNX
想想百分比*是多少*。您将宽度百分比设置为100%。我相信你仍然需要设置'TotalWidth'。 –