使用ScriptX控制項進行Web列印 asp列印(源碼)

來源:互聯網
上載者:User

 使用ScriptX控制項進行Web列印 asp列印(源碼)

 

最近做一小程式需要對Web列印進行精細的位置控制,IE自身的列印功能基本上算是半殘廢,無法自訂紙張,無法直接列印,並且由於瀏覽器版本或作業系統本身的設定問題,連最基本的邊距設定都會有問題,總之列印已經成為Web程式的最大難題,因此使用ActiveX控制項列印是最好的解決方案,但現在的控制項動不動就價格幾千上萬,所幸目前免費的選擇還有兩個,一是windows系統本身帶有WebBrowser.ExecWB控制項,但這個由於系統的安全設定方面的限制,用起來不太靈光,二是使用第三方的控制項ScriptX(http://www.meadroid.com/scriptx/),ScriptX準系統免費,但進階功能是收費的,下面我就把最近在項目中使用ScriptX的經驗總結一下。更多細節您可以查看官方手冊:http://www.meadroid.com/scriptx/docs/printdoc.htm,需要源碼在評論中留下E-mail

另註:ScriptX破解不太好找,需要ScriptX破解版的兄弟請留下您的email
因為是破解版,因此沒有電子簽名,需要將站加入信任網站當中,並修改部分安全規則

註:附件發送出現問題,現在傳到CSDN空間:http://download.csdn.net/source/558406

簡單使用:
在頁面head中引入控制項:
<object id=factory viewastext style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="ScriptX.cab#Version=6,3,435,20">
</object>
設定列印參數:

<script defer>
// -------------------準系統,可免費使用-----------------------
factory.printing.header = "";//頁首
factory.printing.footer = "";//頁尾

factory.printing.SetMarginMeasure(1);//頁面邊界單位,1為毫米,2為英寸
//邊距設定,需要注意大部分印表機都不能進行零邊距列印,即有一個邊距的最小值,一般都是6毫米以上
//設定邊距的時候時候如果設定為零,就會自動調整為它的最小邊距
factory.printing.leftMargin = 7;//左邊距
factory.printing.topMargin = 7;//上邊距
factory.printing.rightMargin = 7;//右邊距
factory.printing.bottomMargin = 7;//下邊距

factory.printing.portrait = true;//是否縱向列印,橫向列印為false

//--------------------進階功能---------------------------------------------

factory.printing.printer = "EPSON LQ-1600KIII";//指定使用的印表機
//factory.printing.printer = "////cosa-data//HPLaserJ";//如為網路印表機,則需要進行字元轉義
factory.printing.paperSize = "A4";//指定使用的紙張
factory.printing.paperSource = "Manual feed";//進紙方式,這裡是手動進紙
factory.printing.copies = 1;//列印份數
factory.printing.printBackground = false;//是否列印背景圖片
factory.printing.SetPageRange(false, 1, 3); //列印1至3頁

//---------------------常用函數--------------------------------
factory.printing.Print(false);//無確認列印,true時列印前需進行確認
factory.printing.PrintSetup();//列印設定
factory.printing.Preview();//預覽列印
factory.printing.WaitForSpoolingComplete();//等待上一個列印任務完全送入列印集區,在連續無確認列印時非常有用
factory.printing.EnumPrinters(index);//枚舉已安裝的所有印表機,主要用於產生印表機選擇功能
</script>
樣本
不能用是因為控制項被攔截,允許就可以了
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.