Foros del Web » Programación para mayores de 30 ;) » .NET »

Como incluir el total de paginas en un PDF en codigo C#??

Estas en el tema de Como incluir el total de paginas en un PDF en codigo C#?? en el foro de .NET en Foros del Web. Hola Mi duda es como hacer para que en el pie de pagina me aparezcan el total de paginas que se genero en el PDF?? ...
  #1 (permalink)  
Antiguo 17/11/2009, 13:16
Avatar de rooyvan  
Fecha de Ingreso: junio-2006
Mensajes: 38
Antigüedad: 17 años, 10 meses
Puntos: 0
Exclamación Como incluir el total de paginas en un PDF en codigo C#??

Hola
Mi duda es como hacer para que en el pie de pagina me aparezcan el total de paginas que se genero en el PDF?? Estoy trabajando en C#, ya tengo codigo pero la cuestion es que solo me muestra cierta cantidad dependiendo de lo que se ponga a un "FOR", chequen este codigo
for (i = 1; i < 3; i++)

Hoja 1/3 , Hoja 2/3 y Hoja 3/3

Hice una funcion para que genere esto, lo hace pero solamente para las veces que tiene el FOR que se muestra arriba y no para el total de hojas que se genero en el PDF.

El codigo de la Funcion es la siguiente:

public string onEndPage(PdfWriter writer, Document document)
{
string prueba = "";

try
{

// Abrimos el Documento
document.Open();

// Tomamos el ContentByte
PdfContentByte cb = writer.DirectContent;

// Creacion PdfTemplate
PdfTemplate template = cb.createTemplate(50, 50);
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

// Agregamos el numero de Hojas
int i;

for (i = 1; i < 3; i++)
{
String text = "Hoja " + writer.PageNumber + " / ";
float len = bf.getWidthPoint(text, 12);
cb.beginText();
cb.setFontAndSize(bf, 12);
cb.setTextMatrix(280, 40);
cb.showText(text);
cb.endText();
cb.addTemplate(template, 280 + len, 40);
document.newPage();
}
template.beginText();
template.setFontAndSize(bf, 12);
template.showText((writer.PageNumber - 1).ToString());
template.endText();
}
catch (DocumentException de)
{
Console.Error.WriteLine(de.Message);
}
catch (IOException ioe)
{
Console.Error.WriteLine(ioe.Message);
}

return prueba;

// We close the document
document.Close();
}

Espero me puedan ayudar!!!
saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.