2009-07-27 62 views
6

Tengo CSS y HTML que convertiré a PDF. Quiero especificar un encabezado en cada página que, en el PDF, se repetirá en cada página nueva.CSS a PDF, usando THEAD para repetir el encabezado en la nueva página

Sé que puedo usar THEAD para especificar el encabezado, sin embargo, ¿hay un convertidor html-to-pdf gratuito que respete la etiqueta THEAD?

Si no, ¿hay alguna alternativa?

Gracias ...

+0

Vea también esta pregunta http://stackoverflow.com/questions/274149/ – Eero

Respuesta

2

Si esto es por una sola vez, tal vez sólo tiene que abrir la página en un navegador y la exportación a PDF desde la ventana de impresión.

De esta manera, el navegador trata de mostrar correctamente los elementos THEAD y obtiene su salida de PDF.

+0

Interesante idea, investigaré esto. Gracias. – littleK

2

Me gusta mucho Prince XML. Respeta la ubicación de thead, y es compatible con una gran cantidad de CSS. Es gratis para uso personal al menos.

+0

De hecho, he investigado mucho sobre Prince XML, y es muy bueno. Sin embargo, en última instancia, tendría que comprar una licencia de servidor ($ 4000), que es bastante. Estoy buscando más de una alternativa de código abierto. ¡Gracias! – littleK

2

Para la culata en T para repetir en cada página de la solución posible es fijar su estilo de:

@media print { 
    thead { 
    display: table-header-group; 
    } 
} 

Esto resuelve el problema en la mayoría de los navegadores, pero todavía hay un problema con la división de filas de la tabla de salto de página, se rompen en el medio.

Aunque no sé si se respeta tal estilo en los convertidores html2pdf, existe la posibilidad de informar este requisito a los desarrolladores de convertidores de código abierto.

4

El convertidor de código abierto Flying Saucer xhtmlrenderer html-to-pdf respeta la etiqueta THEAD desde el lanzamiento R8 (abril de 2009). Para repetir la THEAD en cada página de salida PDF, añadir el siguiente CSS:

 table { 
      -fs-table-paginate: paginate; 
     } 
+0

cuando agrego el cs -fs-table-paginate: paginate; por qué mi tabla css: border-collapse: collapse invalid; – FishGel

3

tienen mirada en WeasyPrint, es de código abierto y convierte los archivos HTML/CSS a PDF. (Soy el desarrollador.)

WeasyPrint repite <thead> y <tfoot> en cada página, pero eso es solo para tablas. Para los encabezados de página apropiados, puede utilizar el módulo de medios paginados de CSS3 (apoyado en WeasyPrint y algunos otros motores de impresión orientada-)

@page { @top-center { content: "My awesome title"; } } 

Todos los detalles están en el css3-page spec. En algún momento quiero escribir documentación más amigable para el autor, pero desafortunadamente todavía no está allí.

Cuestiones relacionadas