首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 網頁列印解決方案:從 WebBrowser 控制項到 LODOP 專業列印控件

     編輯:ASP.NET 基礎

方案一:WebBrowser ExecWB (純前端、免安裝)

利用 `CLSID:8856F961-340A-11D0-A96B-00C04FD705A2` 控制項,以 `ExecWB` 執行列印/預覽。

function printPage(preview) {
    try {
        var html = document.body.innerHTML;
        var orig = html;
        // 隱藏標記 {$printhide} → style='display:none'
        while (html.indexOf("{$printhide}") >= 0) html = html.replace("{$printhide}", "style='display:none'");
        if (html.indexOf('ID="PrintControl"') < 0)
            html += '<OBJECT ID="PrintControl" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
        document.body.innerHTML = html;
        if (!preview) PrintControl.ExecWB(6, 1);      // 直接列印
        else PrintControl.ExecWB(7, 1);               // 預覽
        document.body.innerHTML = orig;
    } catch (ex) { alert("列印腳本錯誤"); }
}

優點:免安裝、相容性好。
缺點:樣式控制弱、複雜報表難排版、無法套印憑證/表單。

方案二:LODOP 專業列印控件 (功能強大、支援套印)

官網:https://www.lodop.net/
下載:jb51 代碼庫

基本引用

<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
<script src="CheckActivX.js"></script> <!-- 官方提供的安裝檢測 -->
<script>
var LODOP = document.getElementById("LODOP");
CheckLodop(); // 檢測並提示安裝
</script>

列印預覽/設計/維護

function Preview() {
    CreateLicenseData();
    LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1);
    LODOP.PREVIEW();
}
function Setup() { CreateLicenseData(); LODOP.PRINT_SETUP(); }
function Design() { CreateLicenseData(); LODOP.PRINT_DESIGN(); }

function CreateLicenseData() {
    LODOP.PRINT_INIT("查詢報表");
    LODOP.ADD_PRINT_HTM(20, 40, 610, 900, document.getElementById("content").innerHTML);
    LODOP.PREVIEW();
}

注入 CSS 確保樣式一致

function CreateLicenseData() {
    LODOP.PRINT_INIT("申請處理單");
    var css = "<link rel='stylesheet' href='https://site/style.css' /><style>table{border:1px solid #ccc}td{border:1px solid #ccc}</style>";
    var html = css + "<body>" + document.getElementById("content").innerHTML + "</body>";
    LODOP.ADD_PRINT_HTM(20, 40, 610, 900, html);
    LODOP.PREVIEW();
}

效果比較

方案安裝需求排版能力套印/證件適用場景
WebBrowser ExecWB免安裝基礎不支援簡單清單、行政文件
LODOP需安裝 ActiveX/EXE專業 (精確座標、分頁、條碼、QR Code)完美支援發票、憑證、標籤、複雜報表

選型建議

  • 內部系統、簡單列印、不想部署客戶端 → ExecWB。
  • 財務/物流/製造需精確套印、條碼、多頁精準控制 → LODOP (或 Crystal Reports / FastReport 等報表工具)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved