Imprimir a media página

Amazon

Buenas noches.

¿Sabéis cómo puedo establecer en HTML/CSS que a la hora de imprimir sólo coja la mitad superior de un folio?

Es decir, el formato de la impresora es A4, la configuración es A4, pero el folio está cortado a la mitad con una guillotina, por lo que la vista de impresión de la web debe cortarse a medio folio A4.

No consigo hacer que funcione cuando elijo la impresora, pero sí cuando lo guardo como PDF (el código está perdido de tanto toquetear, aunque puedo volver a conseguirlo mirando el historial de navegación).

Muchas gracias de antebrazo

Edit:

Vale, el código es este:

@page {
    size: A5 landscape;
    margin: 0;
}
1
Amazon

Estoy triste, somebody knows anything?

Kiroushi

Hace un año estuve intentando trastear con las opciones de impresión de CSS y a la conclusión que llegué es que el soporte de los navegadores es tristísimo.

1 1 respuesta
Amazon

#3 Entonces voy a tener que recurrir a mi idea principal, que es generar un PDF y que lo impriman desde ahí, no?

2 respuestas
Kiroushi

#4 Exacto. Empecé en su día intentándolo con librerías php->pdf y similares, siendo igual de mierda que el resultado en html.

Al final me decanté por usar la API de Google Drive para generar los documentos y descargarlos en PDF.

1
eXtreM3

#4 puedes controlar de alguna manera el espacio que tienes en pixeles en cada folio? Es decir, puedes separar el contenido en divs con X pixeles de alto, y después de esos divs metes

@media print  
{ .saltar-pagina{ page-break-inside: avoid; } }

Puede que funcione :qq:

1 respuesta
smintcs

Yo lo haría con phantomJS:

renderizas la web con el tamaño que quieras

recortas el trozo que quieras (el tamaño de tu media página)

lo exportas a imagen

lo imprimes

http://phantomjs.org/screen-capture.html

1 2 respuestas
Amazon

#6 la cosa es que la página donde corta es una tabla, así que no puedo meterla a trozos dentro de divs de tamaño fijo

#7 voy a echarle un ojo a eso

Camperito

#7 Ha dado la soluccion. PhantomJs, es una maravilla. Lo podeis ademas aderezar con casperJS, que te añade otra capa

Usuarios habituales

  • Camperito
  • Amazon
  • smintcs
  • eXtreM3
  • Kiroushi