利用adobe reader批量在线打印pdf文件

思路:因为要打印的文件在服务器端,需要在客户端与服务端交互且执行PDF打印

           很显然需要个浏览器插件,来读取pdf文件,这样自然想到adobe reader adobe reader可以在线打开pdf文件,

           且有相应接口给js调用 顺着这个思路,下面工作就很简单了。

 

第一步:客户端必须装adobe reader,需要个判断是否安装了,没安装提示要安装

  function Check_AdobeReader() {
            var displayString;
            var acrobat = new Object();
            acrobat.installed = false;
            acrobat.version = "0.0";
            if (navigator.plugins && navigator.plugins.length) {
                for (x = 0; x < navigator.plugins.length; x++) {
                    if (navigator.plugins[x].description.indexOf("Adobe Acrobat") != -1) {
                        acrobat.version = parseFloat(navigator.plugins[x].description.split("Version ")[1]);
                        if (acrobat.version.toString().length == 1) acrobat.version += ".0";
                        acrobat.installed = true;
                        displayString = "Acrobat Version: " + acrobat.version;
                        break;
                    } else if (navigator.plugins[x].description.indexOf("Adobe PDF Plug-In") != -1) {
                        acrobat.installed = true;
                        acrobat.version = "8+";
                        displayString = "Acrobat Version 8 or Above";
                    }
                }
            } else if (window.ActiveXObject) {
                for (x = 2; x < 10; x++) {
                    try {
                        oAcro = eval("new ActiveXObject('PDF.PdfCtrl." + x + "');");
                        if (oAcro) {
                            acrobat.installed = true;
                            acrobat.version = x + ".0";
                            displayString = "Acrobat Version: " + acrobat.version;
                        }
                    }
                    catch (e) { }
                }
                try {
                    oAcro4 = new ActiveXObject("PDF.PdfCtrl.1");
                    if (oAcro4) {
                        acrobat.installed = true;
                        acrobat.version = '4.0';
                        displayString = 'Acrobat Version: ' + acrobat.version;
                    }
                }
                catch (e) { }
                try {
                    oAcro7 = new ActiveXObject('AcroPDF.PDF.1');
                    if (oAcro7) {
                        acrobat.installed = true;
                        acrobat.version = '7.0';
                        displayString = 'Acrobat Version: ' + acrobat.version;
                    }
                }
                catch (e) { }
            }
            return acrobat;
        }

if (Check_AdobeReader().version == "0.0") {
                alert("未安装Adobe Reader,请下载安装");
                window.open("http://get.adobe.com/cn/reader/");
            }
            else {
               doprintall();
            }


               2.安装后要批量调用且打印,选中文件后,点击批量打印,自动生成页面代码,并加载打印页面

              

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
   
    <div>
        <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTg0NTYxMzIxNWRkMxzW+RBkXTnBrKPs7n04X+5iq/I=" />
    </div>
    <div>
        <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF1" width="0"
            height="0" border="0">
            <param name="SRC" value="http://www.likecc.com/pdf/test1.pdf" />
        </object>
    </div>

    <script language="JavaScript" type="text/javascript">        PDF1.printAll();</script>

    <div>
        <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF2" width="0" height="0" border="0">
            <param name="SRC" value="http://www.likecc.com/pdf/test2.pdf" />
        </object>
    </div>

    <script language="JavaScript" type="text/javascript">        PDF2.printAll();</script>

    <div>
        <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF3" width="0" height="0" border="0">
            <param name="SRC" value="http://www.likecc.com/pdf/test5.pdf" />
        </object>
    </div>

    <script language="JavaScript" type="text/javascript">        PDF3.printAll();</script>

    <div>
        <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF4" width="0" height="0" border="0">
            <param name="SRC" value="http://www.likecc.com/pdf/test4.pdf" />
        </object>
    </div>

    <script language="JavaScript" type="text/javascript">        PDF4.printAll();</script>


</body>
</html>


实现效果如下:

               

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值