>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Принудительная ориентация страниц при печати http://forum.mozilla-russia.org/viewtopic.php?id=26044 |
PSB > 01-09-2008 00:18:38 |
Добрый день! Давно задавал тотже вопрос. Но с выходом FF3 задаю заново. Есть ли аналог filter:progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); в FF? Как обеспечить принудительную ориентацию страниц при печати в FF? ..заранее спасибо. |
Infocatcher > 01-09-2008 01:15:21 |
Описывали бы хоть, что это чудо от IE делает... Я так понимаю, что нужно поиграться с canvas + .drawImage() и .rotate(): |
PSB > 01-09-2008 19:12:56 |
Что делает ясно из темы - принудительно меняет ориентацию листа при печати. Вот очень популярный пример для IE: Выделить код Код:<script type="text/javascript"> var shell = new ActiveXObject("WScript.Shell"); function SetPrintProperties() { try { shell.SendKeys(\'%fu\'); window.setTimeout("javascript:shell.sendKeys(\'%a{ENTER}\');", 1000); window.setTimeout("javascript:shell.SendKeys(\'%fv\');", 1000); } catch (e) { alert ("An exception occured: " + e + "\nCode is: " + e.number + "\nDescription is: " + e.description); document.location.href="printhelp.htm"; } } </script> <html> <head> <title>Print in Landscape</title> <style type="text/css"> div.breakafter {page-break-after:always; color: silver} div.breakbefore {page-break-before:always; color: silver} </style> <style type="text/css" media="print"> div.page { writing-mode: tb-rl; height: 80%; margin: 10% 0%; } div.page table { margin-right: 80pt; filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); } </style> <meta http-equiv="Keywords" content="CSS print landscape; print landscape; printing in landscape; landscape printing; Web page print orientation; landscape orientation; HTML page in landscape; print; writing-mode; print stylesheet; style sheets; CSS tips;" /> </head> <body> <h2>Force Specific Content to Print in Landscape Orientation</h2> <p>This handy trick works in IE5.5/Win and newer. It assumes that the default printer orientation is portrait.</p> <p>Use the <code>writing-mode</code> property (submitted to W3C). A value meant for East Asian typography, <code>tb-rl</code>, causes IE to write text from top to bottom and right to left. Surround the content you want in landscape with a DIV with a class defined in a print stylesheet. For instance: </p> <pre><style type="text/css" media="print"> div.page { writing-mode: tb-rl; height: 80%; margin: 10% 0%; } </style></pre> <p>Note that now CSS properties have a reverse sense. Height means width and top/bottom margins become left/right margins. </p> <p>Put a page break *after* a portrait page that is to be followed by a landscape and a page break *before* a portrait page that is preceded by a landscape. Tweak to your needs. <b>Caveat:</b> Data tables resist this hack. To get a table to flip nicely for print it is necessary to add another style ruleтАФwhich works only in IE6+. Please see the source for details. When once we practice to deceive, my, how the hacks unweave! </p> <div class="breakafter">Page break after here.</div> <div class="page"> <h3>Second Page Should Be Printed in Landscape</h3> <p>Un peu de texte en exemple ici.</p> <p>Un peu de texte en exemple ici.</p> </div> <div class="page"> <h3>Third Page Should Be in Landscape</h3> <p>Un peu de texte en exemple ici.</p> <p>Un peu de texte en exemple ici.</p> <!-- Use IE Conditional Comments to hide table from IE5.x --> <!--[if gte IE 6]> <table border="1" cellspacing="2" cellpadding="2" bordercolor="Purple"> <tr> <td>First Cell in first row</td> <td>Second Cell</td> <td>Third Cell in first row</td> </tr> <tr> <td>First Cell in row 2</td> <td>Second Cell</td> <td>Third Cell in row 2</td> </tr> </table> <![endif]--> </div> <div class="breakbefore">Page break before here.</div> <h3>...and the last page should be back to portrait</h3> <p>Un peu de texte en exemple ici.</p> </body> </html> Добавлено Mon Sep 1 19:26:09 2008 : ...Очень прошу помочь в данном вопросе.... |
Unghost > 02-09-2008 22:52:15 |
PSB |
PSB > 08-09-2008 20:34:24 |
Unghost пишет
Спасибо за наводку, но к сожалению я это уже проверял. Данный метод основан на работе с изображениями canvas. А мой вопрос посвящен именно ориентации всего контента. Я думал, что данным вопросом уже задавались многие, с учетом того, что в любом мало-мальском проекте речь доходила до печатных форм или графиков. Если насчет графиков проблема решались путем инструментов GDLib2, то отчеты создавали проблемы. |
Infocatcher > 15-09-2008 21:33:08 |
Проверил, в Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b1pre) Gecko/20080914034157 Minefield/3.1b1pre работает (в 3.0.x – нет): |