因为之前被实施商的前端童鞋理直气壮的卡了脖子告诉我写不出来,让我很不爽,所以还是搜集了一些资料最终测试成功了。注意一下这个只能在IE10及以上的IE内核环境下可用(我只测试了这个环境,但是IE是没跑了,别的浏览器要用IE兼容模式才行),前提是安装了Adobe Reader插件,这个可以去官网下载。下面就直接甩代码了,没啥可解释的……
<!DOCTYPE html>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">function directpdfprint1() {   try { var prt = document.getElementById("ob");    prt.printAllFit(1); } catch (e) { alert("未安装adobe reader插件,请联系管理员安装!");  }
}
window.onload = function () {directpdfprint1()
}
</script>
<head></head>
<body>
<div><OBJECT id="ob" width="0" height="0" border="0" CLASSID="CLSID:CA8A9780-280D-11CF-A24D-444553540000"><param name="SRC" value="http://localhost:9000/1.pdf"> </OBJECT>
</div>
</body>

上述代码可实现web静默打印(页面加载后自动执行),由于我一直也没有找到动态加载组件src属性的方法,所以选择了将页面由后端直接生成代码,并通过response直接回写,在回写过程中由后端对src进行修改达成动态效果。

@GetMapping("/test")
public void test(HttpServletRequest request , HttpServletResponse response) throws IOException {response.setContentType("text/html");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();out.write("<!DOCTYPE html>\n" +"<script src=\"https://code.jquery.com/jquery-3.1.1.min.js\"></script>\n" +"<script type=\"text/javascript\">\n" +"    \n" +"function directpdfprint1() {   \n" +"    try { \n" +"        var prt = document.getElementById(\"ob\");    \n" +"        prt.printAllFit(1); \n" +"    } catch (e) { \n" +"    \talert(\"未安装adobe reader插件,请联系管理员安装!\");  \n" +"    }\n" +"}\n" +"window.onload = function () {\n" +"    directpdfprint1() \n" +"} \n" +"</script>\n" +"<head>\n" +"\n" +"</head>\n" +"<body>  \n" +"<div>\n" +"    <OBJECT id=\"ob\" width=\"0\" height=\"0\" border=\"0\" CLASSID=\"CLSID:CA8A9780-280D-11CF-A24D-444553540000\">\n" +"        <param name=\"SRC\" value=\"");//业务中可以动态替换30行数据out.write("http://localhost:9000/3.pdf");out.write("\"> \n" +"    </OBJECT>\n" +"</div>\n" +"</body>\n" +"<style type=\"text/css\">\n" +"    .one{\n" +"        transform:rotate(90dge);\n" +"    }\n" +"</style>");out.flush();}
 好了,就是这样=。=   注意这个只会使用用户本地设置的默认打印机。拜拜

关于JS调用Adobe Reader ActiveX插件,在web环境下调用本地打印机执行静默打印的实现相关推荐

  1. 页面调用Adobe Reader自带的控件实现pdf打印

    1.业务场景 一般的业务场景里,只需要将pdf文件下载到本地,然后打开直接打印就可以了. 但是,有的场景会考虑到pdf文件的敏感性,需要pdf文件不能被下载,只能打印且只能打印一次,这就需要考虑使用控 ...

  2. PDF预览组件 Adobe Reader ActiveX控件使用

    打开PDF文件的两种方法: https://blog.csdn.net/sl1990129/article/details/78094602 本文介绍第二种: 1. Adobe Reader Acti ...

  3. 解决pip安装pygal在TensorFlow环境下调用失败问题

    欢迎关注微信公众号[计算机视觉联盟] 获取更多前沿AI.CV资讯 使用pip安装pygal在Linux和OS X系统中,执行的命令如下: pip install --user pygal==1.7 在 ...

  4. 在控制台环境下调用MFC DLL崩溃的问题小结

    使用MFC编写的DLL在MFC的程序中调用是没有任何问题的,但是如果在控制台环境下调用会出现崩溃的情况.解决方法如下,在MFC编写的DLL中添加下面一段代码,即可解决该问题: static AFX_M ...

  5. Pycharm环境下调用Qt desinger 常见问题以及解决方法

    Pycharm环境下调用Qt desinger 常见问题以及解决方法 前言 问题1: 提示QT由于找不到msvcp140d.dll无法继续执行代码或者相关问题 问题2: This applicatio ...

  6. IE 8 中 JS 调用 adobe reader 打印 PDF 文档

    1. 下载 adobe reader 软件,并在 IE 浏览器中启用 设置 -> 管理加载项 -> 启用 Adobe PDF Reader 2. Jsp 文件中 HTML 代码如下 < ...

  7. linux查看rabbitmq的插件,【linux环境下】RabbitMq的安装和监控插件安装

    简介这篇文章主要介绍了[linux环境下]RabbitMq的安装和监控插件安装以及相关的经验技巧,文章约2904字,浏览量445,点赞数5,值得参考! [注意安装过程中,提示某些命令not found ...

  8. Adobe Reader 文档无法签名_Linux下的6款最好用的PDF文档阅览工具

    目前,互联网在线图书与其他相关文档正越来越多的使用PDF格式的文件,因此如果你使用的是桌面Linux发行版,那么选择一个合适的PDF阅览器就变得格外重要. 在本文中我们列出了6个重要的PDF阅览器,它 ...

  9. nw.js环境下 调用第三方事例

    nw.js node-webkit系列(25)child_process中spawn和exec方法的使用 child_process是nw.exe的一个内置模块,通过它可以实现创建多线程,并可实现主线 ...

最新文章

  1. [SPOJ705]不同的子串
  2. 华为-yolo系列详解
  3. iOS逆向之iOSOpenDev
  4. SD从零开始15 税(Taxes)
  5. 关于J2EE+DOTNET的一些网站
  6. MySQL高级 - 锁 - MySQL对锁的支持
  7. Java基本语法(11)--三元运算符
  8. HTML-浮动(特点-影响-居中)-定位
  9. 「旁门右道」CURL持久连接技巧
  10. C语言逐行读取文件内容
  11. 和女孩子约会,肢体接触是不是不礼貌?
  12. 【caffe】ubuntu配置matlab接口----matcaffe
  13. Spring ActiveMQ示例(第2部分)
  14. Android虚拟键盘上下左右键按下和弹起的响应事件
  15. 基于HTML5功能强大的滑块幻灯片
  16. win8 64位 iis8 安装.net1.1
  17. 利用工作流给Windows SharePoint Service 3.0添加Skype通知功能
  18. 火狐浏览器安装有道翻译插件
  19. 龙果 mycat mysql_龙果学院Spring Boot源码解析视频教程完整未加密(价值599)
  20. 儿童手表电话卡遇到问题需要怎么解决

热门文章

  1. 最小二乘法least-squares
  2. javascript输入某年月某日,判断是这一年的多少天
  3. AI歌手——超简单一键运用ACE Studio来训练模拟真人唱歌
  4. 约瑟夫问题与魔术(十)——魔术《完全控制》
  5. 上海大学计算机学院团委,【CES·活动】上海大学计算机学院首届“校友杯”羽毛球赛圆满落幕...
  6. 84-MongoDB高级介绍
  7. 专访Mockplus用户花生酱先生 | 金融行业的产品经理生涯
  8. Android studio 安卓开发常见问题(个人笔记系列)
  9. 运维监控系列(8)-Prometheus+Grafana监控常用微服务中间件Nacos、Seata、Rocketmq
  10. C++ 个人银行账户管理 综合实例62.10_date