2010-02-07 22 views
10

¿Cuál es el código CSS para hacer un salto de página al imprimir? O mejor aún, ¿existe algún marco de CSS de impresión como JQuery para la manipulación de DOM en la página web? Necesito imprimir páginas web con control como Adobe PDF, pero sin utilizar un complemento de terceros. Las impresiones tienen que ser precisos, como el control de lo píxeles golpeó la parte superior de cada página, (si queremos poner nuestro logo en la cabecera de cada página, por ejemplo.¿Cuál es el código CSS para hacer saltos de página para imprimir páginas web?

¿Alguna idea?

Respuesta

16

page-break-before: always;

page-break-after: always;

6

puede intentar forzar un salto de página utilizando las propiedades page-break-before or page-break-after.

control de la impresión del pixel-perfecto será muy, muy difícil de lograr. Por ejemplo, cada cejas er agrega una sección de pie de página y encabezado que no puede influenciar y solo el usuario puede desactivarla. Los navegadores ignoran las imágenes de fondo y tienden a establecer márgenes como mejor les parezca.

Para un resumen de cómo el estilo de HTML para la impresión, este artículo Smashing Magazine pueden proporcionar algunas indicaciones: Printing the Web: Solutions and Techniques

1

El w3schools.com tiene un práctico CSS Reference. Como la mayoría de nosotros no puede recordar muchas propiedades de CSS poco comunes, espero que esto sea útil para usted.

3

El soporte del navegador para la impresión es muy débil, en el mejor de los casos. Por ejemplo, conseguir algo como una imagen de encabezado de página para trabajar va a ser bastante difícil; No conozco ningún navegador que siquiera admita la declaración de CSS "@page", y mucho menos las funciones de contenido en ejecución de CSS3.

El kit de herramientas FlyingSaucer PDF para Java, por otro lado, hace un trabajo notable al transformar XHTML en archivos PDF (especialmente dado que es gratis). Lo usamos con Freemarker para crear una plantilla de la "página", pero maneja imágenes, ejecuta el texto del encabezado/pie de página, incluso enlaces dentro del documento.

1

No se puede obtener la precisión de impresión a nivel de píxel desde un navegador. Su única opción es PDF o formato de documento de un tercero similar. Sin embargo, si solo desea asegurarse de que el logotipo está en la parte superior de la página frente a la parte inferior de la página siguiente, puede usar las propiedades page-break-before, page-break-after

2

No estoy seguro de qué el lenguaje de servidor que está utilizando, pero he tenido un gran éxito con wkhtmltopdf y wicked_pdf para Ruby on Rails.

Cuestiones relacionadas