我有一個使用iTextSharp生成的PDF,在頁腳中顯示「Page 1/4」等東西。這一切都可以正常工作,並且使用方法中設置的PdfTemplate
執行,並使用方法中添加的頁面總數。iTextSharp - 如果只有一頁不顯示頁碼
我想要做的是刪除這個,如果只有一個頁面在文檔中。我在我的方法試過,但它實際上並沒有刪除模板:
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
if (writer.PageNumber >= 3)
{
template.BeginText();
template.SetFontAndSize(f_cn, CocService.footerFont.Size);
template.SetTextMatrix(0, 0);
template.ShowText("" + (writer.PageNumber - 1));
template.EndText();
}
else
{
template.Reset();
}
}
僅供參考,這裏是從OnEndPage()
方法的相關代碼:
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
int pageN = writer.PageNumber;
String text = "Page " + pageN.ToString() + "/";
float len = f_cn.GetWidthPoint(text, CocService.footerFont.Size);
iTextSharp.text.Rectangle pageSize = document.PageSize;
cb.SetRGBColorFill(100, 100, 100);
cb.BeginText();
cb.SetFontAndSize(f_cn, CocService.footerFont.Size);
cb.SetTextMatrix(document.LeftMargin+520, pageSize.GetBottom(document.BottomMargin)+33);
cb.ShowText(text);
cb.EndText();
cb.AddTemplate(template, document.LeftMargin + 520 + len, pageSize.GetBottom(document.BottomMargin)+33);
}
這是一個很好的答案,雖然不是我最終與去(看我自己的答案下面)。優雅一如既往,是一個意見問題。 – 2013-05-15 01:03:42
錯誤404:C#示例未找到 – fubo 2014-07-31 13:48:32
我將更新URL:http://tinyurl.com/itextsharpIIA2C06 – 2014-07-31 15:55:29