最新版Chrome浏览器加载ActiveX控件之Adobe PDF阅读器控件

背景

Adobe PDF阅读器控件是一个ActiveX控件,用于在Windows平台上显示和操作PDF文件。它提供了一系列方法和属性,可以实现对PDF文件的加载、显示、搜索、打印、保存等操作。

allWebPlugin 中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品 **致力于将浏览器插件重新应用到所有浏览器。**它不仅可以实现ActiveX控件在现代浏览器上使用,而且集成也非常方便。

alWebPlugin中间件核心优势

1、自创定位算法,实现插件与页面布局无缝衔接,极致用户体验。

2、自创插件接口调用方法,保持原汁原味的接口调用及事件响应方式,轻松实现OA系统升级改造。

3、支持同一页面或不同页面同时加载多个插件,适应各种复杂应用场景。

4、自主创新、安全可控,不受浏览器插件技术限制,支持更多浏览器(谷歌、火狐、Edge、360浏览器等)。

5、创新沙箱机制,隔离插件与浏览器运行环境,增强插件与浏览器稳定性和安全性。

6、攻克诸多技术难点,实现插件不修改、不注册也能使用,极大的降低插件开发量和维护量。

准备工作

1、下载allWebPlugin中间件产品,具体如下:

链接:百度网盘 请输入提取码

提取码:z3q0

运行效果

运行效果如下图所示:
Adobe PDF控件打开文档 通过接口隐藏工具条

集成代码示例

javascript 复制代码
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);
}
相关推荐
m0_748230945 小时前
SpringBoot实战(三十二)集成 ofdrw,实现 PDF 和 OFD 的转换、SM2 签署OFD
spring boot·后端·pdf
程序员WANG11 小时前
论文+AI赋能教育:探索变革路径与创新实践。包括word和pdf格式。
人工智能·学习·pdf·教育·变革
風落15 小时前
《告别复杂PDF编辑,PDF Eraser开启便捷办公新体验》
pdf·软件工程·软件需求
守城小轩15 小时前
Chromium 132 编译指南 Mac 篇(四)- 获取源代码
chrome·chrome devtools·指纹浏览器·浏览器开发
b_qixin21 小时前
文档解析:PDF里的复杂表格、少线表格如何还原?
人工智能·pdf
门豪杰1 天前
使用Chrome和Selenium实现对Superset等私域网站的截图
前端·chrome·selenium·superset·截图
花生糖@1 天前
Python实现PDF文档转图片功能
pdf
gqkmiss1 天前
Chrome 132 版本新特性
前端·chrome·浏览器·chrome 132
圣道寺1 天前
审计文件标识作为水印打印在pdf页面边角
java·前端·python·pdf·学习方法
守城小轩1 天前
Chromium 132 编译指南 Mac 篇(二)- 安装 Xcode
chrome·chrome devtools·指纹浏览器·浏览器开发