Saltar al contenido

¿Cómo hacer la numeración de páginas en HTML de encabezado/pie de página con wkhtmltopdf?

No busques más por todo internet ya que has llegado al lugar justo, poseemos la solución que necesitas recibir y sin problemas.

Solución:

En realidad, es mucho más simple que con el fragmento de código. Puede agregar el siguiente argumento en la línea de comando: --footer-center [page]/[topage].

Como mencionó Richard, hay más variables en la sección Pies de página y encabezados de la documentación.

Entre algunos otros parámetros, el número de página y el número de página total se pasan al pie de página HTML como parámetros de consultacomo se describe en los documentos oficiales:

… la [page number] los argumentos se envían a los documentos html de encabezado/pie de página en forma GET.

Fuente: http://wkhtmltopdf.org/usage/wkhtmltopdf.txt

Entonces, la solución es recuperar estos parámetros usando un poco de JS y convertirlos en la plantilla HTML. Aquí hay un ejemplo de trabajo completo de un HTML de pie de página:




    
    


    

Page of

substitutePdfVariables() se llama en cuerpo onload. Luego obtenemos cada variable admitida de la consulta string y reemplace el contenido en todos los elementos con un nombre de clase coincidente.

Para mostrar el número de página y el total de páginas, puede usar este fragmento de JavaScript en su código de pie de página o encabezado:

  var pdfInfo = ;
  var x = document.location.search.substring(1).split('&');
  for (var i in x)  var z = x[i].split('=',2); pdfInfo[z[0]] = unescape(z[1]); 
  function getPdfInfo() 

Y llame a getPdfInfo con la página cargada

Por supuesto, pdfkit_page_current y pdfkit_page_count serán los dos elementos que mostrarán los números.

Fragmento tomado de aquí

Comentarios y calificaciones

Si entiendes que ha sido de provecho este post, nos gustaría que lo compartas con otros juniors de esta forma nos ayudas a dar difusión a esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *