我尝试了3种不同的方式来显示页码, OnCloseDocument内容没有显示在页面中,没有一个工作.
我的目的是显示页码这样
1 of 10
2 0f 10
..............
............
每页10的10
我知道如何展示
1
2
3
4
....
10
但不知道如何显示总页数
我使用 OnCloseDocument 来显示页数计数,但其中的内容未显示.
public class MyPdfPageEventHelpPageNo : iTextSharp.text.pdf.PdfPageEventHelper
{
protected PdfTemplate total;
protected BaseFont helv;
private bool settingFont = false;
public override void OnOpenDocument(PdfWriter writer, Document document)
{
template= writer.DirectContent.CreateTemplate(100, 100);
bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
//See below
}
Run Code Online (Sandbox Code Playgroud)
第一种方式:
public override void OnCloseDocument(PdfWriter writer, Document …Run Code Online (Sandbox Code Playgroud) 如何在pdf页面的任何位置使用(x,y)定位(如100,200)或(15,100)在pdf页面的任何位置放置PdfPTable?
使用PdfEventHelper的标头表
public override void OnEndPage(PdfWriter writer, Document document)
{
AddHeader(writer, document);
}
public void AddHeader(PdfWriter writer, Document document)
{
// set no of rows
PdfPTable headerTable = new PdfPTable(1);
// set the width
headerTable.TotalWidth = document.PageSize.Width;
headerTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell company = new PdfPCell(new Phrase(new Chunk("Name", fontArial)));
company.HorizontalAlignment = Element.ALIGN_CENTER;
company.BorderWidth = 0;
headerTable.AddCell(company);
PdfPCell report = new PdfPCell(new Phrase(new Chunk("PrintedDate", fontArial)));
report.HorizontalAlignment = Element.ALIGN_CENTER;
report.BorderWidth = 0;
headerTable.AddCell(report);
headerTable.TotalWidth = document.PageSize.Width - 20; …Run Code Online (Sandbox Code Playgroud) itextsharp ×2