?背景
? ? ? Adobe PDF閱讀器控件是一個ActiveX控件,用于在Windows平臺上顯示和操作PDF文件。它提供了一系列方法和屬性,可以實現對PDF文件的加載、顯示、搜索、打印、保存等操作。
????????allWebPlugin中間件是一款為用戶提供安全、可靠、便捷的瀏覽器插件服務的中間件產品,致力于將瀏覽器插件重新應用到所有瀏覽器。它不僅可以實現ActiveX控件在現代瀏覽器上使用,而且集成也非常方便。
alWebPlugin中間件核心優勢
1、自創定位算法,實現插件與頁面布局無縫銜接,極致用戶體驗。
2、自創插件接口調用方法,保持原汁原味的接口調用及事件響應方式,輕松實現OA系統升級改造。
3、支持同一頁面或不同頁面同時加載多個插件,適應各種復雜應用場景。
4、自主創新、安全可控,不受瀏覽器插件技術限制,支持更多瀏覽器(谷歌、火狐、Edge、360瀏覽器等)。
5、創新沙箱機制,隔離插件與瀏覽器運行環境,增強插件與瀏覽器穩定性和安全性。
6、攻克諸多技術難點,實現插件不修改、不注冊也能使用,極大的降低插件開發量和維護量。
準備工作
1、下載allWebPlugin中間件產品,具體如下:
鏈接:百度網盤 請輸入提取碼?
提取碼:z3q0?
運行效果
????????運行效果如下圖所示:


集成代碼示例?
var acroPDFReader = null;
var hostCnt = null;
var httpclientObj = null;
var pluginUtilityObj = null;function CreateContainer(){var canvas = document.getElementById('pluginUI');var license = "1q1Sc/tJ1FY2I0gjyovEBlL5O+XF5WrNG0Aq8HHaqVcms51Cl0VS4bYdxltvoHzOdQDEmT8XQhfQhaGxcNiqLQ7oiY85BP8ZsOWCPD3ZYQ5mr14faRu6F8yxXVpgkOeRRlN4clA0lwQi3c0+X/Tvd7BRJKX9uDxkShM9orLUJA119NS++hnfEOcexzvMhL2FWjkNGa2ufV2WjC1M8hbdQSr7uy8b2H7Fiz/HMiWYEFmAnrjDytIx4njwJtO7GYCBKYIE1VGI7iWq9iz4XCIKk1sp1hje01FJCtYPj51+uHfLuWWKatvlFHzSb2IMOSpzAAAA8AEAAQMCTeMq4Dd1nDTk0VXbvFd/Yei0Ojtv60nU4n3yDQuFlxUPwKCQDmQifomaE8DZQR8bEhucH7wk2cabDLm4KCi+wUGvsoKR5r83cLSNLWtaRVtbPoWwMgpFnTmlMtnXrRvPjLx+l/UWPbMMuu9ObsWUU7kdG2mEJRyAFHvRqI+G5Zz8oSets7FNwxdwS2trEiCV4qsAkci3oWhu0ddb02uHzEyOg6sjqKLd9XfKYp4NGdWraSFUYhBsiU7LajQNwmlAeEXWnuNnT5XzoP4icvfojjZZjzw6Ar40ldB7kd9gLDsryZWfwDFsObrXeb9VRVHi8yJ9E17zXMLtpTjtBiIzsQABAYICCgGCMOohm/ugukXrQrv9ulJbVqBTGph9ScEeDPMd5ll5a+dDkRDGlb74ZElzA2gcCi9Xn+FtdXTegKWXRUH5ea5xKhN/6eZgBGL4isdUwaclkKUdq1k60BDQgbvrIx2aRt+io7NnbVJortQQpPWpy/jzQV/aFu+PB/PWwdt/wBHfqgXQw7a1R99EaK6VLtrP7PUURODEIRGk+lP+rFD08z6O/wIXk722B87lfRh+gBoRvhRchXcvlvhqBC3OM7XEBbDLgcvHQvYzm67qxcWvSNJnub+9YxB/7eYR3sE8iJ+h9sfkNE7BYeQ0HwyQpIfCp+3s7nWn8nHBOtbx2Vf5sFBaxHYAAAEOAAAAAUFXUEY="; var installPackageUrl = "http://127.0.0.1:6651/install/allwebPlugin_x86_v2.0.1.16_20240806.exe";var installPackageVersion = "2.0.0.16"; hostCnt = new PluginHostCnt();if(hostCnt.IsInstall() == false){//未安裝,需要手動安裝if(confirm("allWebPlugin中間件未安裝或未啟動,是否立即安裝?")){window.open(installPackageUrl, '_blank');}}else{//已安裝,檢測是否需要版本更新if(hostCnt.IsNewVersion(installPackageVersion) == false){if(hostCnt.createContainer(canvas,"PluginContainer",license,false) == true){ //hostCnt.UI.ForceShowUI(false);//創建時隱藏插件,需要調用這句,隱藏插件hostCnt.RegisterEvent("*");CreatePlugin();}}else{//需要升級alert("檢測到升級包,立即升級。");hostCnt.UpdateVersion(installPackageUrl).then(function(data){if(data.code == 0){ //檢測是否安裝成功var checkInstall = setInterval(function(){if(hostCnt.GetVersion() == installPackageVersion){window.location.reload();clearTimeout(checkInstall);}}, 1000);}else{window.open(installPackageUrl, '_blank');//直接下載包,手動安裝}}).catch(function(strErr){window.open(installPackageUrl, '_blank');//直接下載包,手動安裝});}}
}function CreatePlugin(){if(hostCnt == null)return;acroPDFReader = hostCnt.createProxyPlugin("{CA8A9780-280D-11CF-A24D-444553540000}");if(acroPDFReader != null){pluginUtilityObj = hostCnt.getPluginUtility();}
}function OpenLocalFile(){pluginUtilityObj = hostCnt.getPluginUtility();pluginUtilityObj.GetLocalOpenDialog("pdf文件(*.pdf);;ofd文件(*.ofd);;所有文件(*.*)").then(function(varFile){console.log(varFile);if(varFile != ""){ acroPDFReader.src = varFile;}});
}function EnabledCanvas(blEnabled){hostCnt.UI.EnabledCanvas(blEnabled);
}function setShowToolbar(on){acroPDFReader.setShowToolbar(on);
}function setZoomRadio(fZoom){acroPDFReader.setZoom(fZoom);
}