none
Numeración de Hojas con PrintDocument RRS feed

  • Pregunta

  • Excelente dia Mi pregunta: ¿puedo conocer el numero de hojas totales que enviaría a imprimir el control PrintDocument?. La idea es colocar en mi hoja impresa numeración de hoja junto con total de hojas, digamos algo así: “Hoja # de #”.

    Actualmente solo pinto el número de hoja (hoja #) con un contador

    int noHoja = 1;

    e.Graphics.DrawString("HOJA - " + noHoja.ToString(), <miFuente>, Brushes.Black, xPos, yPos);

    noHoja++;

    martes, 23 de marzo de 2021 19:45

Respuestas

  • ¿puedo conocer el numero de hojas totales que enviaría a imprimir el control PrintDocument?

    No, no puedes conocerlo porque el control PrintDocument nunca envía a imprimir ningún número concreto de hojas. El control se limita a disparar el evento PrintPage, y dentro del PrintPage eres tú el que tienes que escribir el código que devuelva True o False en HasMorePages. Con eso le dices al PrintDocument si quieres o no quieres que vuelva a disparar el PrintPage para escribir otra página. De esa manera, desde tu código le indicas al PrintPage cuántas páginas quieres que imprima. El PrintPage no sabe de antemano cuántas páginas se van a imprimir; imprime de manera indefinida hasta que tú le digas que pare.

    martes, 23 de marzo de 2021 21:19
    Moderador

Todas las respuestas

  • ¿puedo conocer el numero de hojas totales que enviaría a imprimir el control PrintDocument?

    No, no puedes conocerlo porque el control PrintDocument nunca envía a imprimir ningún número concreto de hojas. El control se limita a disparar el evento PrintPage, y dentro del PrintPage eres tú el que tienes que escribir el código que devuelva True o False en HasMorePages. Con eso le dices al PrintDocument si quieres o no quieres que vuelva a disparar el PrintPage para escribir otra página. De esa manera, desde tu código le indicas al PrintPage cuántas páginas quieres que imprima. El PrintPage no sabe de antemano cuántas páginas se van a imprimir; imprime de manera indefinida hasta que tú le digas que pare.

    martes, 23 de marzo de 2021 21:19
    Moderador
  • Muchas gracias Alberto Poblacion !!!
    martes, 23 de marzo de 2021 21:40
  • Hola,

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada.

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    martes, 23 de marzo de 2021 22:41
    Moderador