close

網頁有許多便利的地方,但也有討人厭的時候

其中一個,就是列印的時候無法控制設定頁面

非得進入瀏覽器的設定列印頁面才能控制上、下、左、右、頁首、頁尾

這樣對使用者來說,是很頭痛的

如果以後設定跑掉了,又要重新設定一次

目前有個免費的功能可供使用,就是利用JavaScript搭配ActiveX就可以達成

先去以下網頁,按下download smsx.cab

http://www.meadroid.com/scriptx/sxdownload.asp

下載之後的檔案(smsx.cab),放在需要使用者下載的目錄

需要設定列印格式的網頁輸入以下的語法

<body>

<object style="display:none"
  classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
  codebase="http://127.0.0.1/smsx.cab#Version=6,5,439,50">
</object>
<!-- 指定下載ActiveX檔案的路徑,也就是之前下載的smsx.cab

http://(網頁擺放的目錄)/smsx.cab#Version=6,5,439,50

-->

<!-- MeadCo ScriptX -->
<object id=factory style="display:none"
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
</object>
<!-- 以上是必須填寫,不然無法執行 -->

</body>

然後在需要列印的地方,呼叫JavaScript的副程式

例如:onclick="SetPrint()"

副程式內容如下:

<script language="JavaScript" type="text/JavaScript">
function SetPrint(){
factory.printing.header = ""; //設定頁首的文字
factory.printing.footer = "";//設定頁尾的文字
factory.printing.portrait = true; //設定為直印
factory.printing.leftMargin = 13; //設定左邊界
factory.printing.topMargin = 0;  //設定上邊界
factory.printing.rightMargin = 62; //設定友邊界
factory.printing.bottomMargin = 9; //設定下邊界
factory.printing.Print(false);
 //列印其(true)為顯示列印詢問視窗若為false則不出現列印詢問視窗,但試過了!沒什麼用
}
</script>

這樣就可以控制列印格式

在第一次執行列印指令的時候,會要求下載ActiveX

一般網頁會出現Top Bar,警告是否安裝ActiceX,安裝下去就對了

如果有多頁,要自動設定分頁列印,可利用CSS指令

<div STYLE="page-break-after: always;">
中間的HTML都算第一頁
</div>
<div STYLE="page-break-after: always;">
第二頁
</div>

在IE7後,則要變成

第一頁
<P style='page-break-after:always'>&nbsp;</P>
第二頁
<P style='page-break-after:always'>&nbsp;</P>
第三頁

這樣就可以像word一樣!輕鬆列印想要的頁面囉

http://www.meadroid.com/還提供付費更進階的程式

以下是功能說明,有興趣的人可以參考看看

http://www.meadroid.com/scriptx/docs/printdoc.asp#paperSize

arrow
arrow
    全站熱搜

    痞子貓 發表在 痞客邦 留言(0) 人氣()