Страницы: 1
Добрый день!
Давно задавал тотже вопрос. Но с выходом FF3 задаю заново.
Есть ли аналог filter:progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); в FF?
Как обеспечить принудительную ориентацию страниц при печати в FF?
..заранее спасибо.
Отсутствует
Есть ли аналог filter:progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); в FF?
Описывали бы хоть, что это чудо от IE делает...
Я так понимаю, что нужно поиграться с canvas + .drawImage() и .rotate():
http://black-zorro.com/mediawiki/%D0%9F … canvas_-_2
Отредактировано Infocatcher (01-09-2008 01:18:17)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Что делает ясно из темы - принудительно меняет ориентацию листа при печати.
Вот очень популярный пример для 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 :
Если проверить данный код в IE - то первая страница будет в книжном варианте, вторая - в альбомном.
...Очень прошу помочь в данном вопросе....
Отсутствует
PSB
Может http://snippets.dzone.com/posts/show/5514 поможет?
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
PSB
Может http://snippets.dzone.com/posts/show/5514 поможет?
Спасибо за наводку, но к сожалению я это уже проверял. Данный метод основан на работе с изображениями canvas. А мой вопрос посвящен именно ориентации всего контента. Я думал, что данным вопросом уже задавались многие, с учетом того, что в любом мало-мальском проекте речь доходила до печатных форм или графиков. Если насчет графиков проблема решались путем инструментов GDLib2, то отчеты создавали проблемы.
Отсутствует
Проверил, в Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b1pre) Gecko/20080914034157 Minefield/3.1b1pre работает (в 3.0.x – нет):
http://developer.mozilla.org/web-tech/2 … ransforms/
Например,
html { -moz-transform: rotate(90deg); }
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Страницы: 1