He intentado 3 formas diferentes de mostrar los números de página, el contenido OnCloseDocument
no se muestra en la página, ninguno de ellos funcionó.Página X de la edición Y
mi intención es mostrar Los números de página como esto
1 de 10
2 0f 10
..............
..... .......
10 de 10 en cada página
sé cómo mostrar
....
pero `t saben cómo mostrar el número total de páginas
` m usando OnCloseDocument para mostrar No. de páginas contadas, pero el contenido en él no está mostrando .
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);
}
WAY 2ª:
public override void OnCloseDocument(PdfWriter writer, Document document)
{
ColumnText.ShowTextAligned(template,Element.ALIGN_CENTER,new
Phrase(writer.PageNumber.ToString()), 500, 140, 0);
}
3ª 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();
}
¿Estoy haciendo algo mal?
Una buena solución, aunque me gustaría poder descubrir por qué el método de plantillas no funciona, ya que puedo ver que es más poderoso. –
¿Por qué el segundo archivo y cómo lo creas? – spadelives
Eso funciona bien. Mi único problema es que tengo algunas páginas en mi documento que son retratos y otras que son de paisaje. ¿Hay alguna manera fácil de saber cuál es cuál y ajustar la coordenada x para la 'página x de y' en consecuencia? –