2009-05-14 10 views
5

Como programador de sistemas web, me gustaría generar algunos informes y poder enviarlos a la impresora directamente desde el navegador de mi usuario, que está en el lado del cliente, sin necesidad de generar archivos PDF o algo como esto.Informe de impresión decente en la web

Me gustaría ser capaz de:

  • Imprimir paginación fácil de usar, algo así como "Página 1 de 3"
  • imprimir algunas cosas en la parte inferior de cada página, como "generada en 2009- 02-20"
  • no imprimiendo la URL

¿Es posible todo esto? Javascript? CSS? ¿Cuáles son las mejores prácticas aquí?

+0

¿Está tratando de imprimir desde un cliente, o todo esto está en el servidor? – Glenn

+0

@Glenn editó la pregunta para hacerlo más claro –

Respuesta

6

Todas estas cosas se controlan exclusivamente a través de las preferencias del navegador. Si desea poder especificar eso, entonces probablemente debería mirar PDF en lugar de HTML.

1

Usted está de suerte usando el navegador no ... Creo que es imposible para no imprimir en las esquinas de la URL, la fecha/hora de acceso, etc.

Sin embargo, Página 1 ó 3, etc es generalmente siempre impreso en algún lugar (esquina inferior derecha, creo en Firefox)

Imprimir un 'Generado en 2009-02-20' es bastante fácil, sin embargo imprimirlo en la parte inferior de cada página será difícil. La mayoría de los navegadores, IIRC, muestran la fecha y la hora accedidas en una esquina (aunque no en ese formato, en un formato legible con mayor facilidad).

Todo lo que desee que aparezca impreso, pero no en la vista de pantalla normal, deberá mostrarse con una hoja de estilo de impresión.

Para lo que desee aquí (control completo de la salida de impresión), le recomiendo que genere un PDF. Quizás si se trata de una herramienta interna, es posible que pueda programar un complemento para Firefox que pueda imprimir sus pdfs automáticamente, pero no estoy tan familiarizado con las capacidades de los complementos de Firefox, así que tendría que experimentar.

1

El apoyo de los diferentes navegadores es, sin duda escaso, pero CSS tiene un tipo de medio llamado de impresión, al usarlo, simplemente definir una sección en su archivo css o etiqueta como esta:

@media print{ 
/* normal style declarations 
but you probably want to hide menus 
and other navigation, also use black on white, etc. 
*/ 
} 
@media screen{ 
/* your current stylesheet */ 
} 

This List Apart article cubre los conceptos básicos.

Y here's an entry point a la especificación wc3.

0

es posible que pueda utilizar los servicios de informes SQL para generar sus informes. Sin embargo, usa su propio control de impresión de cliente activex, pero los resultados son buenos.

Cuestiones relacionadas