2009-08-12 6 views
0

私はhtml文字列を持っており、それを印刷したいと思います。私はちょうどこのC#からHTML文字列を印刷するにはどうすればいいですか?

HtmlPrinter.PrintHtml("<html><body>Page I'm printing</body></html>"); 

誰のような機能は次のように動作します何も知りたいことが確認または印刷プレビュー]ダイアログボックスを開くと大丈夫?

+0

C言語では "printf"があります。 :-D(ここで皮肉なこと) – balexandre

答えて

3

ウェブブラウザでは、現在のページを印刷できます。 JavaScriptを使用して印刷ダイアログボックスをトリガすることができます。また、CSSを使用してページのスタイルを設定して、印刷された出力が画面に表示されるものとほとんど似ていないようにすることもできます。

プレーンHTML以外にも、Flash、Silverlightなどのブラウザプラグインを使用できます。しかし実際にあなたが得ることができる最も近いものは次のようなものです:

<html> 
    <head> 
     <style> 
      @media print 
      { 
       .HidePrint { display:none; visible:none;} 
      } 
      @media screen 
      { 
       .HideScreen {display:none; visible:none;} 
      } 
     </style> 
    </head> 
    <body onload="window.print();"> 
     <div class="HideScreen"> 
      Page I'm printing 
     </div> 
     <div class="HidePrint"> 
      Other content... 
     </div> 
    </body> 
</html> 
+0

恐ろしい、ありがとう! @mediaを使用して印刷用に異なるスタイルシートを指定できるかどうかは分かりませんでした。 – Matt

0

ジョエルの答えは正しい、明らかに。

理由を理解するのに役立ちます。 C#はサーバー上で動作し、JavaScriptはクライアント上で実行されます。あなたがC#から試して印刷したのであれば、サーバマシンから印刷するでしょう:)

+0

説明に感謝します。おそらくコメントとして投稿しているはずですが、私はあなたの答えが投票された理由を推測しています。 – Matt

+0

* shrug *は、自分の投稿やあなたのIMHOへのコメントとしては意味がありませんでしたが、ここでは新しいです。私の情報はまだ正しいので、私は下落していても構いません:) –

関連する問題