B/SプログラムにおけるWEB印刷の完璧な解決策

20833 ワード

シナリオ1:ScriptX印刷コンポーネントシナリオ2:WsReport印刷コンポーネント
まず、シナリオ1について説明します.採用方法は、公式に提供された最新バージョンのみを使用します.cabファイル、cabファイルはパッケージファイルであり、このファイルには通常クライアントactivexと呼ばれる複数のファイルが含まれていることが多い.ユーザーが初めてウェブサイトを閲覧すると、cabファイルが自動的にダウンロードされてクライアントのパソコンにインストールされ、サーバ側に登録する必要があるため、使用は非常に簡単である.雑談はさておき、本題に戻り、まずcabファイルを公式にダウンロードし、次のコードを見て理解しましょう.
 

  
    
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< html >
< head >
</ head >
< body >
<!-- ScriptX.cab -->
< object id ="factory" style ="display: none" viewastext classid ="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase
="http://www.a.com/smsx.cab#Version=6,3,434,26" >
</ object >

< script defer >
//
function printBase() {
factory.printing.footer
= "" //
factory.printing.footer = "" //
factory.printing.portrait = false // true ,false
factory.printing.leftMargin = 1.5 //
factory.printing.topMargin = 0.5 //
factory.printing.rightMargin = 0.5 //
factory.printing.bottomMargin = 1.0 //
}

//
function printReport() {
printBase();
// window.print();
factory.printing.Preview();
}

//
maxWin();
function maxWin() {
var aw = screen.availWidth;
var ah = screen.availHeight;
window.moveTo(
0 , 0 );
window.resizeTo(aw, ah);
}
</ script >

< table width ="100%" border ="0" cellspacing ="0" cellpadding ="0" align ="center" bordercolor ="#FFFFFF" >
< tr bordercolor ="#FFFFFF" >
< td >
< table width ="70%" border ="0" cellspacing ="0" cellpadding ="2" align ="center" >
< tr >
< td align ="center" >
< font size ="5" face =" " >< b > </ b ></ font >
</ td >
</ tr >
< tr >
< td align ="center" >
< div id ="divReport" name ="divReport" >
< input type ="button" name ="cmdPRINT" id ="cmdPRINT" onclick ="printReport()" value =" " >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
< input type ="button" onclick ="window.close();" value =" " >
</ div >
</ td >
</ tr >
</ table >
</ td >
</ tr >
</ table >
</ body >
</ html >

上のコードでは、以下の点に注意してください.

  
    
< object id ="factory" style ="DISPLAY: none" viewastext classid ="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase ="http://www.a.com/smsx.cab#Version=6,3,434,26" ></ object >

このコードはcabファイルをロードするために使用され、clsidとcodebaseはあなたがダウンロードしたcabの情報に対応しなければなりません.そうしないと、コンポーネントがエラーをロードします.この2つは、winrarでダウンロードしたcabファイルを開いて、拡張子を見つける限り、探しにくくありません.infのファイルを開いて、見ることができます.使用範囲:このコンポーネントは、大きな文書を印刷するのに非常によく、印刷の位置決めに非常に厳しいものではありません.しかし、それを使って増値税専用領収書や小切手を印刷することはできません.付加価値税専用インボイス類は位置決めに厳しいので、どんなコンポーネントで印刷しますか?方法は下にあるので、案2を見てみましょう.
方案2:wsreportこのコンポーネントは位置決めに非常に厳しい内容を印刷するために使用することができます.例えば、付加価値税専用領収書は、位置決めが正確である以上、制御するのは難しいに違いありませんが、大丈夫です.このコンポーネントには詳細な使用説明が付いています.そして、理解できることを保証します.ほほほ、中国人が開発したからです.しかし、このコンポーネントは登録する必要があります.非登録バージョンでは連続したページを印刷できません.また、印刷されたドキュメントには永遠に「試用」という文字があります.これらの制限を突破したいなら、自分で解読してください.(smsx.cabは自分のサイトのディレクトリの下にダウンロードすることをお勧めします)