Al imprimir, los navegadores no saben qué tan ancho es el papel.

Tengo un pequeño problema con la impresión de un documento html. Aparentemente, los navegadores no saben qué tan ancho es el papel, ¡y hacen suposiciones descabelladas e imprecisas!

El documento es sensible, muestra diferentes diseños en diferentes anchos, y esperaba que al imprimir, tomaran los estilos a unos 700 u 800 píxeles, pero no lo hacen. No todos ellos.

Intenté cambiar las consultas de medios de tamaños enpx a unidades físicas (pt ocm) Pero eso no ayudó.

También me aseguré de que todos los navegadores estuvieran configurados para usar el mismo tamaño de papel, orientación y márgenes, y que no tuvieran ningún indicador de "escalar para adaptarse a la página".

Aquí hay un violín:http://jsfiddle.net/MrLister/Lc5kE/show
Si cambia el tamaño de la ventana un poco, verá que muestra cuán ancha es. Luego, cuando presionas Vista preliminar, es cuando sale mal: IE dice que el ancho de un A4 es 18..19cm, Mozilla dice 20..21cm y Chrome dice 14..15cm. Opera es lo peor de todo: no mira el papel en absoluto, solo toma el tamaño de la ventana en la pantalla.
Y como dije, no hay diferencia si usas unidades físicas o píxeles oem.

Entonces, ¿estoy haciendo algo mal? ¿Estoy pasando por alto algo? ¿Hay algo que pueda hacer, aparte de forzar un tamaño de papel fijo (como A4) en las gargantas de las personas?

Edición: después de algunas pruebas más, descubrí que IE tiene en cuenta los márgenes de la impresora, mientras que Mozilla no. Por lo tanto, si establece todos los márgenes en cero, IE y Mozilla reportan 20..21 cm para el ancho. Sin embargo, los otros siguen siendo muy poco cooperativos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta