私は多くのWebプロジェクトを行ってきました。ほとんどの場合、ページコンテンツを印刷するとき、JavaScriptを使用して、システムの内蔵印刷方法を呼び出して印刷すること、つまりPrintControl.execwb(?、?)を呼び出して、直接印刷および印刷プレビュー関数を実現します。印刷効果と制御性はあまり良くありませんが、かろうじて使用でき、一般的な印刷に対処しても問題ありません。
コードは次のようになります:
コード
Actipro CodeHighlighter(Freeware)http://www.codehighlight.com/--> // Call PrintControl.execwb(?、?)が作成したコードハイライトを強調して、直接印刷と印刷のプレビュー関数を実現します。 (一部の領域は、システムによって提供されたprint()メソッドを使用して印刷して直接非表示にすることはできません)//プレビュー:プレビューを表示するかどうか。 null/false:展示されていない、true:display function printpage(preview){try {var content = window.document.body.innerhtml; var oricontent = content; content = content.replace( "{$ printhide}"、 "style = 'display:none'"); if(content.indexof( "id =/" printcontrol/")content = content+" <object id =/"printcontrol/" width = 0 height = 0 ClassID =/"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2/"> </object> "; windoc.document.body.innerhtml = content;属性、(6,1)印刷、(6,6)印刷、(8,1)ページ設定if(preview == null || preview == false)printcontrol.execwb(6,1); else printcontrol.execwb(7,1); // olecmdid_print = 7; olecmdexecopt_dontpromptuser = 6/olecmdexecopt_plomptuser = 1window.document.body.innerhtml = oricontent;} catch(ex){alert( "エラー実行JavaScriptスクリプト"); }} function printconten(preview、html){try {var content = html; var oricontent = window.document.body.innerhtml; while(content.indexof( "{$ printhide}")> = 0)content = content.Replace( "{$ printhide}"、 "style = 'display =' display = 'display =' display"); if(content.indexof( "id =/" printcontrol/"")<0)content = content = "<object =/" print = 0 hights = 0 ClassID =/"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2/"> </object> "; windoc.document.body.innerhtml = content;属性、(6,1)印刷、(6,6)印刷、(8,1)ページ設定if(preview == null || preview == false)printcontrol.execwb(6,1); else printcontrol.execwb(7,1); // olecmdid_print = 7; olecmdexecopt_dontpromptuser = 6/olecmdexecopt_plomptuser = 1window.document.body.innerhtml = oricontent;} catch(ex){alert( "エラー実行JavaScriptスクリプト"); }}上記の2つの機能はJSファイルに配置されます。ページコンテンツでは、指定された部品のコンテンツを印刷して、スクリプトファイルを適用し、さらにカプセル化された関数を呼び出すことができます。
<スクリプト言語= "javascript"> function print(preview){var text = document.getElementById( "content")。innerhtml; printconten(preview、text);}印刷効果は、下の図に大まかに示されています。印刷されたページがフレームページにある場合、「選択したフレームのみを印刷する」オプションを選択する必要があります。
この方法を使用しても、コントロールをインストールする必要はありません。これには、適切な互換性の利点があります。ただし、レポートの内容は、制御するのが面倒なようです。特にいくつかのレポートを印刷するには、複雑なコンテンツを出力する必要があります。複雑なコンテンツには特定の欠陥もありますが、全体的にはより良い選択です。
後で、ドキュメントのセットアップでいくつかの作業を行う必要がある場合、このコントロールは実行できなかったため、セットアップをよりよく処理できる方法またはコントロールが必要でした。
たまたま、さまざまな形式での印刷をサポートするより良い印刷コントロールと、気にするIDセットも見つけました。それは強力で使いやすく、非常に推奨されています。
このコントロールを使用する場合、通常のレポートの印刷効果は次のとおりです。
上記の2つのレポートの印刷は実際には類似しており、どちらもHTMLコンテンツの一部を印刷していますが、後者はより良く見え、非常に完全なレポート関数設定を提供します。
コードはほぼ次のとおりです。
コード
<script language="javascript">function Print(preview) {var text = document.getElementById("content").innerHTML;printConten(preview, text);}</script><script language="javascript" src="http://www.cnblogs.com/Scripts/CheckActivX.js"></script><object id="LODOP" ClassID = "CLSID:2105C259-1E0C-4534-8141-A753534CB4CA" width = 0 height = 0> </object> <スクリプト言語= "javascript"> var lodop = document.getelementbyid( "lodop"); //この一連のステートメントは、DTD仕様CheckLodop(); </script> <スクリプト言語= "javascript" type = "text/javascript"> function preview(){// prypiew createLicensedata(); lodop.set_show_mode( "prepiew_in_in_in_in_in_in_browse"、lodop.preview(); lodop.pre(); {//メンテナンスを印刷して、ユーザーの位置を調整してcreateLicensedata(); lodop.print_setup();}; function design(){//設計開発者設定のコンテンツと位置を印刷してくださいcreateLicensedata(); lodop.print_design();}; function createelicensedata(){lodop.print_init Report ")多くの場合、私たちが持っていないコンテンツはCSSによって制御されているため、これらのスタイルなしでHTMLの一部を印刷すると、テーブル形式と出てくるフォントが変化し、見栄えが良くない場合があります。次に、HTMLをスタイルする必要があります。
印刷されたコンテンツのスタイルを設定すると、インターフェイスがはるかに優れています。
スタイルを設定するためのコードは次のとおりです。
コード
<スクリプト言語= "javascript" type = "text/javascript"> function preview(){// prypiew createLicensedata(); lodop.set_show_mode( "preview_in_browse"、1); lodop.preview(); "link type = 'text/css' rel = 'styleSheet' href = 'http://www.cnblogs.com/themes/default/style.css'/> <style> <! - table {border:1; background-color:#cbcbcc} td {background-color:#ffffe;}バックグラウンドカラー:#f1f1f3;パディング左:5px; border:1} - > </style> "; var strformhtml = strbodyStyle +" <body> " + document.getElementByid(" content ")。 strformhtml); lodop.preview();} </script>上記は、エディターが導入したWeb印刷ソリューションの通常のレポート印刷機能です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!