Podczas drukowania przeglądarki nie wiedzą, jak szeroki jest papier
Mam problem z drukowaniem dokumentu HTML. Wygląda na to, że przeglądarki nie wiedzą, jak szeroki jest papier, i robią dzikie i niedokładne domysły!
Dokument jest responsywny, pokazując różne układy na różnych szerokościach, i miałem nadzieję, że podczas drukowania, przyjmą style na około 700 lub 800 pikseli, ale nie będą. Nie wszyscy z nich.
Próbowałem zmienić zapytania mediów z rozmiarów wpx
do jednostek fizycznych (pt
lubcm
) ale to nie pomogło.
Upewniłem się również, że wszystkie przeglądarki mają ustawiony ten sam rozmiar papieru, orientację i marginesy oraz że nie mają ustawionych żadnych flag „skala do dopasowania”.
Oto skrzypce:http://jsfiddle.net/MrLister/Lc5kE/show
Jeśli zmienisz nieco rozmiar okna, zobaczysz, że pokazuje ono, jak jest ono szerokie. Wtedy, gdy klikniesz Podgląd wydruku, to się nie uda: IE mówi, że szerokość A4 wynosi 18,19 cm, Mozilla mówi 20,21 cm, a Chrome 14,14 cm. Opera jest najgorsza ze wszystkich: w ogóle nie patrzy na papier, tylko zajmuje rozmiar okna na ekranie.
I tak jak powiedziałem, nie ma różnicy, czy używasz jednostek fizycznych, czy pikseli lubem
.
Więc robię coś źle? Czy coś przeoczyłem? Czy jest coś, co mogę zrobić, zamiast wymuszać stały rozmiar papieru (np. A4) w gardłach ludzi?
Edytuj: po kilku kolejnych testach odkryłem, że IE uwzględnia marginesy drukarki, podczas gdy Mozilla tego nie robi. Więc jeśli ustawisz wszystkie marginesy na zero, IE i Mozilla podadzą 20,21 cm szerokości. Pozostałe są jednak nadal bardzo niechętne do współpracy.