国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 網站 > WEB開發 > 正文

WEB中前臺JS控制打印PDF文件

2024-04-27 15:19:15
字體:
來源:轉載
供稿:網友

最近遇到項目中需要在瀏覽器中一鍵打印 遠程PDF文件,經過網上搜集資料最終選擇了在客戶端安裝adobe reader后,實現上從服務器端下載一個pdf文件流,在IE中用adobe插件打開(在前臺頁面中隱藏Object標簽),然后用adobe的打印菜單通過PRintWithDialog()打印。 源碼如下:

function bulkpdfPrint(srcFile){ var pdf = document.getElementById("createPDF"); if (pdf != undefined && pdf != null) {//判斷pdf對象是否存在,如果存在就刪除該對象 var parentNode = pdf.parentNode; parentNode.removeChild(pdf); } var p = document.createElement("object"); p.id = "createPDF"; p.classid = "CLSID:CA8A9780-280D-11CF-A24D-444553540000"; p.width = 1; p.height = 1;//若為0,在IE8中出錯 p.src = encodeURI(encodeURI(srcFile));//解決中文pdf無法打開 document.body.appendChild(p); p.printAll();}打開瀏覽器窗口,頁面中進行打印,開始點擊打印時,彈出一個新的窗口window.open(url,”_blank”);//url為生成PDF的url,在這個新的頁面中有PDF文件的內容,而且網頁上也剛剛有打印的功能,這種看起來是最簡單的,但是對用戶而言,需要點擊二次按鈕才能真正打印。所以,用戶體驗不會太好。adobe reader插件的方法,獲取遠程PDF文件URL,如果用戶安裝了PDF的瀏覽器支持,打開后用戶的瀏覽器可以直接在瀏覽器中運行adobe reader加載項。然后由用戶選擇是否打印(一鍵打印PrintAll()或者PrintwithDialog())。實現簡單,但需安裝Adobe,在安裝中一定程度上相當影響用戶體驗。本文最終選擇這種方法。百度文庫的方法,使用Flash制作一個PDF閱讀器,在flash上面加上打印按鈕,不用用戶安裝了adobe reader閱讀器,實現的技術卻很高,而且用戶要求不進行預覽。瀏覽器window.print()的方法,利用iframe,將PDF文件的內容包含其中,這個時候調用window.print()來彈出打印窗口。瀏覽器打印功能菜單的一種程序調用。與點擊打印功能菜單一樣,不能精確分頁,不能設置紙型,可以讓用戶不用去點菜單,直接點擊網頁中的一個按鈕,或一個鏈接里面調用。 代碼如下://創建一個空的iframe,因為如果每次請求都生成PDF,那么是不必要的。<iframe style="display:none" id="printIframe"></iframe>$(document).ready(function(){ .... $("#printIframe").load(function(){//等待iframe加載完成后再執行doPrint.每次iframe設置src之后都會重新執行這部分代碼。 doPrint(); }); ....});//點擊打印按鈕,觸發事件function printPDF(){ var src = $("#printIframe").attr("src"); if(!src){//當src為空,即第一次加載時才賦值,如果是需要動態生成的話,那么條件要稍稍變化一下 $("#printIframe").attr("src","./attachment/Images.pdf");//暫時靜態PDF文件 }else $("#printIframe")[0].contentWindow.print();//不知為什么在IE中一直無法打印文件}

不知為什么我在IE中一直無法打印PDF文件,此外要使用瀏覽器自帶的打印功能,還需要去掉那些頁眉頁腳信息。 一、通過javaScript 程序來設置,其實主要是用ActiveX控件來實現,出于安全方面的考慮,現在大多數瀏覽器已經禁用了“對未標記為可安全執行腳本的ActiveX控件初始化并執行腳本”這一功能。如下圖所示, 這個是以IE 8為例說明的,具體位置在:工具->Internet 選項->安全(最上面一排標簽的第二個)->選中“Internet”圖標時,單擊“自定義級別”

因為這一功能是禁用的,所以通常Javascript或者其他腳本都無法生效,即無法通過程序直接實現,需要先解除這一禁止項,程序才能起作用,但解除禁止項后會帶來安全方面的隱患。

相關JavaScript代碼:

<script language="javascript"><!--var HKEY_Path = "HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//"; // 定義注冊表位置// name的值可為header(頁眉),footer(頁腳),margin_bottom(下邊距margin_left(左邊距),margin_right(右邊距),margin_top(上邊距)。function PageSetup(name,value) {try { var Wsh = new ActiveXObject("WScript.Shell"); Wsh.RegWrite(HKEY_Path+name,value); // 修改注冊表值}catch(e) { //alert(e.name+" "+e.message); //alert('需要運行ActiveX對象后,才能進行打印設置。');}}function setit() {PageSetup("footer","");PageSetup("header","");window.print();}//--></script>

二、直接修改瀏覽器的設置,還是以IE8為例來進行說明

打開要打印的網頁后,單擊“文件”->“打印預覽”->頁面設置(圖標,如下圖所示)->頁眉和頁腳都設置為空,這樣設置后,打印的時候就不會出現頁眉頁腳信息了。

三、直接修改注冊表

打開記事本,復制下面的程序

Windows Registry Editor Version 5.00[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup]"footer"="""header"=""

另存為“去掉頁眉頁腳.reg”,然后雙擊運行,確認即可。 收藏一個JS 實現簡單的頁面局部打印的方法 :

function preview(oper) ...{ if (oper < 10)...{ bDHTML=window.document.body.innerHTML;//獲取當前頁的html代碼 sprnstr="<!--startprint"+oper+"-->";//設置打印開始區域 eprnstr="<!--endprint"+oper+"-->";//設置打印結束區域 prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向后取html prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結束代碼向前取html window.document.body.innerHTML=prnhtml; window.print(); window.document.body.innerHTML=bdhtml; } else ...{ window.print(); } }

使用很簡單 將頁面內要打印的內容加入中間XXXXX 再加個打印按紐 onclick=preview(1)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Webapplication2.Test" %><!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 runat="server"> <title></title> <script type="text/javascript" language="javascript"> function printdiv() { var newstr = document.getElementById("PrintContentDiv").innerHTML; //獲得需要打印的內容 // alert(newstr); var oldstr = document.body.innerHTML; //保存原先網頁的代碼 document.body.innerHTML = newstr; //將網頁內容更改成需要打印 window.print(); document.body.innerHTML = oldstr; //將網頁還原 return false; } //打印頁面預覽 function printpreview() { var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; document.getElementById("divButton").style.display = "none";//隱藏打印及其打印預覽頁面 document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body標簽內加入html(WebBrowser activeX控件) WebBrowser1.ExecWB(7, 1); //打印預覽 }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产视频97| 国产成人亚洲欧美电影| eeuss影院www在线播放| 国产精品视频一区二区三区麻豆| 看成年女人免费午夜视频| 国产叼嘿网站免费观看不用充会员| 国产女主播在线观看| 影音先锋在线中文字幕| 欧美另类在线视频| 最新天堂资源在线资源| 国产精品18久久久久网站| 亚洲欧美小说国产图片| 国产秒拍福利视频露脸| 国产视频你懂的| 在线观看av网站永久| 黄色国产网站在线播放| 国产裸舞福利在线视频合集| 国产成人夜间影院在线观看| 超碰免费在线| 91在线超碰| www在线播放| 国产高清av| 成人欧美亚洲| 天天激情综合| 97国产视频| 天天操天天操一操| 99在线视频观看| 中文字幕国产视频| 免费a级毛片在线播放| 99久久国产视频| 国产激情自拍| 国产一区二区三区福利| 亚洲精品视频在线免费| 国产精品69一区二区三区| 国产中文在线| 四虎国产精品永久| 在线午夜影院| 精品一区二区在线欧美| 国产一级黄色片免费| 精品孕妇一区二区三区| 欧美性受xxxx免费视频| 一本大道香蕉久久| 在线亚洲精品自拍| 中文字幕av免费| 在线观看免费观看在线91| 2018中文字幕在线观看| 国产精品理人伦一区二区三区| 国产在线观看18| 国产精品自产拍在线网站| 免费男女羞羞的视频网站中文字幕| 国产福利在线播放麻豆| 天天操人人干| 狂野欧美性猛交xxxx乱大交| 91午夜视频| 九九精品视频在线观看九九| 国产成人午夜精品| 欧美高清视频| 国产香蕉在线| 国产三级视频在线| 中文字幕在线视频不卡| 99视频免费在线观看| 导航福利在线| 国产黄色片在线播放| 亚洲一道本在线| 超碰国产在线| 国产精品一区二区三区高清在线| 国产女人在线视频| 18激情网站| 亚洲综合激情六月婷婷在线观看 | 国产在线超碰| 91麻豆免费在线视频| 天海翼中文字幕| 高清av在线| 在线观看精品视频一区二区三区| 久热av在线| 怡红院av在线| 青青草原av在线| 国产91足控脚交在线观看| 欧美亚洲另类在线观看| 国产精品久久久久永久免费看| 欧美性猛交xxxx免费看蜜桃| 国产精品69一区二区三区| 浪潮av一区| av在线不卡播放| 国产jizz| 国产精品剧情一区二区在线观看 | 免费不卡中文字幕视频| 国产黄大片在线观看画质优化| 精品国产二区三区| 国产青草视频在线观看视频| 国产精品自拍在线观看| 免费视频中文字幕| 日本一级理论片在线大全| 伊人影院在线观看| 国产成人无吗| 国产不卡在线| 136福利第一导航国产在线| 国产精品爱久久久久久久小说| 国产免费麻豆视频| 九九热视频免费观看| 久久久久久77777| 玖玖在线视频| 国产美女极品在线| 黄色片视频在线观看| 好吊日视频在线观看| 国产免费永久在线观看| 二人午夜免费观看在线视频| 国产免费专区| 69国产精品视频| 先锋av资源网| 国产免费永久在线观看| 国产丝袜自拍| 日韩国产成人| 中文字幕第一页在线| 69久久精品| 羞羞视频在线免费看| 国产在线观看色| 国产黄色网页| 亚洲精品国自产拍在线观看| 日本片在线看| 国产精品区一区二| jlzzjlzz欧美大全| 午夜不卡视频| 在线视频xx| 日本中文字幕高清视频| 永久免费网站在线| 中中文字幕av在线| 亚洲第一页在线播放| 天堂资源最新版在线视频观看免费网| 国产一级黄色电影| 亚洲精品一线| 国产黄在线看| 国产永久av在线| 亚洲成人av高清| 国产午夜电影| 国产理论片免费观看| 影音先锋在线中文字幕| 天天操天天曰| 超碰在线人人| baoyu777.永久免费视频| 国产色a在线| 国产主播福利在线| a视频在线播放| av麻豆国产| 精品无吗乱吗av国产爱色| 天堂资源最新在线| 免费看ww视频网站入口| 影音先锋在线中文字幕| 国产一级大片| 国产伦精品一区二区三区高清版禁| 亚洲精品国自产拍在线观看| 国产成+人+亚洲+欧美+综合| 国产香蕉尹人视频在线| 国产一区二区影视| 天天操天天是| 国产深夜福利| 国产黄色免费在线观看| 国产精品久久久久久精| 国产福利资源| 在线国产小视频| 日韩国产成人| 超碰国产在线| 国产毛片视频| 国产中文伊人| 国产区视频在线播放| 国产黄色片中文字幕| 国产精品美女一区二区视频| 国产视频精选在线| 国产超级va在线视频| 精品福利视频导航大全| 在线观看av网站| 日本视频三区| 国产免费a∨片在线观看不卡| 日本中文字幕视频在线| 国产高清在线观看| av中文天堂在线| 国产免费麻豆视频| 国产91足控脚交在线观看| 国产xxxxx| 中文字幕av免费| 美女网站在线观看| 国产天堂在线| 亚洲欧美日韩综合精品网| а√资源新版在线天堂| 中文字幕不卡免费视频| 一本久久精品| 午夜视频99| 午夜在线不卡| 国产精品久久精品牛牛影视| wwwww亚洲| 国产爆初菊在线观看免费视频网站 | 日本欧洲一区| 国产裸舞福利在线视频合集| 91极品在线| 国产在线一区二区视频| 在线国产91| 国产va在线| 午夜在线小视频| 交换国产精品视频一区| 精品一区二区三区在线观看l|