1


0

Internet Explorer、Mozilla Firefox、その他のブラウザが、ブラウザに読み込まれたWebページの印刷プレビューウィンドウをどのように生成するのか疑問に思います。

プレビュー画像は、バナーやadvが削除されるなど、さまざまな変更が加えられ、白い背景と黒いテキストなどが表示されます。

C#WebBrowserコントロールを使用して同様の印刷プレビューウィンドウを実装したいのですが、ExecWBコマンドなどのデフォルトのブラウザ印刷プレビュー機能は使用したくありません。

これについて私達にいくつかの光をください。

ありがとう、

ラマナンドバット。

3 Answer


2


HTMLDocumentのLINK要素にアクセスして変更することで、スタイルを変更することができます。

HtmlDocument document = WebBrowser1.Document;

foreach(document.GetElementsByTagName( "LINK")のHtmlElement要素){文字列cssMedia = element.GetAttribute( "Media");

if(cssMedia == "print")element.SetAttribute( "Media"、 "screen"); //印刷スタイルを通常どおりに表示するように設定します。それ以外の場合はelement.SetAttribute( "Media"、 "hidden"); //通常のスタイルを隠します}

これはあなたの印刷スタイルをスクリーンビューで表示するように変更します。 通常のスタイルシートとして(印刷プレビューウィンドウを使用する必要はありません)、画面スタイルは表示されません(メディアタイプの画面がなくなったため)。

これはサンプルコードなので、エラーチェックはありません。 構文エラーもあるかもしれませんが、目標を達成するための出発点となるはずです。


1


画面を印刷するには、javascriptで `window.print()`の呼び出しを設定する必要があります。

Print screen

それはそれからあなたがプレビューとしてページをレンダリングするためにあなたがページで 'print’として割り当てたどんなCSSでも使います


0


私の知る限りでは、バナー、広告などは印刷プレビューの間にブラウザによって*削除されません*。 CSSはメディアが `print`のときの外観を決定します。