Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Как настроить Page Setting для WebBrowser  [new]
krudensoft
Member

Откуда:
Сообщений: 83
Привет всем!

Проблемка следующая:
У меня формируются отчеты в виде HTML файлов.
Для их просмотра я использую .NET компонент WebBrowser

Хотелось бы уметь задавать для конкретного отчета его положение (ландскейп, портрет)

Может, кто сталкивался с таким? Как поменять настройки для просмотра и печати?
17 янв 08, 16:22    [5167016]     Ответить | Цитировать Сообщить модератору
 Re: Как настроить Page Setting для WebBrowser  [new]
krudensoft
Member

Откуда:
Сообщений: 83
krudensoft
Привет всем!

Проблемка следующая:
...
Может, кто сталкивался с таким? Как поменять настройки для просмотра и печати?


Нашел похожее сообщение, может так будет понятнее:

Не могу программно настроить параметры печати документа отображаемого в контроле WebBrowser.
Пытаюсь распечатать документ с альбомной ориентацией без вызова метода ShowPrintDialog.
17 янв 08, 16:50    [5167229]     Ответить | Цитировать Сообщить модератору
 Re: Как настроить Page Setting для WebBrowser  [new]
krudensoft
Member

Откуда:
Сообщений: 83
Что, могучий олл ничего не знает?
18 янв 08, 10:51    [5170169]     Ответить | Цитировать Сообщить модератору
 Re: Как настроить Page Setting для WebBrowser  [new]
?
Guest
а чего там знать...
ищи в гугле по кл. словам @media print - настраивай свой CSS и вперёд...
18 янв 08, 15:56    [5173098]     Ответить | Цитировать Сообщить модератору
 Re: Как настроить Page Setting для WebBrowser  [new]
krudensoft
Member

Откуда:
Сообщений: 83
Может, примерчик _работающий_ есть?
Уже третий день роюсь, примеры которые нашел - не работают
21 янв 08, 18:46    [5182501]     Ответить | Цитировать Сообщить модератору
 Re: Как настроить Page Setting для WebBrowser  [new]
krudensoft
Member

Откуда:
Сообщений: 83
По ходу дела, на SQL.ру тусуются одни бездельники и флуддеры.
Сколько вопросов не задавал - ни на один не получил нормального _ценного_ ответа.

Ладно, сам нашел, может кому понадобиться:

Итак, использовать напрямую print size lanscape в IE не получиться, т.к. это г. его не поддерживает:
http://www.westciv.com/style_master/academy/browser_support/printing.html

Это раз.

Но мне, блин надо печатать в landscape.
И выход есть:

<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>


Это два. К сожалению, ссылку посеял, так что просто привожу пример. Кому надо - разберетесь
Юзайте.
22 янв 08, 13:32    [5185597]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить