Вказати орієнтацію сторінки для друку з Javascript

  у розділі Технічні теми 

Є в нас один PHP-скриптик для друку форми-наряду. І для друку на принтер її треба виводити у два стовпці (оригінал і копія), тому друкувати зручніше у "альбомній орієнтації". Друк відбувається відразу після надсилання HTML-форми - стандартним методом Javascript (window.print()).

Але навіть якщо у Firefox виставлено типову орієнтацію альбомною - після "автоматичного" друку сторінка завжди "книжкова". Спеціальні CSS-властивості щодо орієнтації друку, на разі, підтримуються лише у Opera.

Нарешті, я знайшов метод - додаток для Firefox, JS Print Setup, який створює для сторінки об'єкт "jsPrintSetup" через який можна задавати параметри друку і ініціювати сам друк, навіть в режимі коли ніяких вікон-підтверджень для друку не виводиться. Ось, наприклад, так:

// set portrait orientation
jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation);
// set top margins in millimeters
jsPrintSetup.setOption('marginTop', 15);
jsPrintSetup.setOption('marginBottom', 15);
jsPrintSetup.setOption('marginLeft', 20);
jsPrintSetup.setOption(' marginRight', 10);
// set page header
jsPrintSetup.setOption('headerStrLeft', 'My custom header');
jsPrintSetup.setOption('headerStrCenter', '');
jsPrintSetup.setOption('headerStrRight', '&PT');
// set empty page footer
jsPrintSetup.setOption('footerStrLeft', '');
jsPrintSetup.setOption('footerStrCenter', '');
jsPrintSetup.setOption('footerStrRight', '');
// Suppress print dialog
jsPrintSetup.setSilentPrint(true);
// Do Print
jsPrintSetup.print();
// Restore print dialog
jsPrintSetup.setSilentPrint(false);

Коментарі