Ho provato 3 diversi modi di visualizzare i numeri di pagina, il contenuto di OnCloseDocument
non viene visualizzato nella pagina, nessuno di essi ha funzionato.Pagina X di Y problema
mia intenzione è la visualizzazione I numeri di pagina come questo
1 di 10
2 0f 10
..............
..... .......
10 di 10 in ogni pagina
so come visualizzare
....
ma don `t sanno come visualizzare il numero di pagina totale
` m utilizzando OnCloseDocument per visualizzare Numero di pagine contate, ma il contenuto di in esso è non visualizzato.
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
}
WAY 1ST:
public override void OnCloseDocument(PdfWriter writer, Document document)
{
//I create a table with one column like below.
PdfPTable pageNumber2 = new PdfPTable(1);
pageNumber2.TotalWidth = 50;
pageNumber2.HorizontalAlignment = Element.ALIGN_RIGHT;
pageNumber2.AddCell(BuildTable2RightCells("Page " + writer.PageNumber));
pageNumber.AddCell(BuildTable2LeftCells(writer.PageCount));
pageNumber2.WriteSelectedRows(0, -1, 500,
(document.PageSize.GetBottom(140)), cb);
}
2 ° MODO:
public override void OnCloseDocument(PdfWriter writer, Document document)
{
ColumnText.ShowTextAligned(template,Element.ALIGN_CENTER,new
Phrase(writer.PageNumber.ToString()), 500, 140, 0);
}
3RD WAY:
public override void OnCloseDocument(PdfWriter writer, Document document)
{
template.BeginText();
template.SetFontAndSize(bf, 8);
template.SetTextMatrix(500, 140);
template.ShowText(Convert.ToString((writer.PageNumber - 1)));
template.EndText();
}
Sto facendo qualcosa di sbagliato?
Soluzione piacevole, anche se mi piacerebbe poter capire perché il metodo dei modelli non funziona come posso vedere che è più potente. –
Perché il secondo file e come lo si crea? – spadelives
Che funziona bene. Il mio unico problema è che ho alcune pagine nel mio documento che sono verticali e altre che sono panoramiche. C'è un modo semplice per capire quale è e regolare di conseguenza la coordinata x per la 'pagina x di y'? –