婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解使用canvas保存網頁為pdf文件支持跨域

詳解使用canvas保存網頁為pdf文件支持跨域

熱門標簽:漳州人工外呼系統排名 威海營銷外呼系統招商 ai電銷機器人連接網關 鄭州電銷外呼系統違法嗎 中紳電銷智能機器人 跟電銷機器人做同事 農村住宅地圖標注 濟南辦理400電話 鶴壁手機自動外呼系統怎么安裝

前言

之前上一篇隨筆說了Canvas截圖網頁為圖片,下來個新需求,把網頁截圖后保存為PDF文件供用戶下載。

使用canvas保存網頁為pdf文件支持跨域

正文

需求:用戶點擊下載,將頁面保存為PDF文件并下載。

思路:繼續使用Canvas截圖后將畫布內容轉換為pdf文件。

首先我們需要引入js文件jspdf.debug.js 下載路徑 https://github.com/MrRio/jsPDF

引入canvas的js文件,js文件獲取地址官網主頁:http://html2canvas.hertzen.com/

<script type="text/javascript" src="js/html2canvas.js"></script>
<script type="text/javascript" src="js/html2canvas.min.js"></script>
<script type="text/javascript" src="js/jspdf.debug.js"></script>

div按鈕代碼

 <div id="down_pdf">導出為PDF按鈕</div>
 <div class="sta-main">需要獲取為PDF的div</div>

jsp代碼

<script type="text/javascript">
/* var downPdf = document.getElementById("down_pdf"); */
var downPdf = document.getElementById("down_pdf");
$("#down_pdf").on("click", function() {
 var canvas2 = document.createElement("canvas");
 let _canvas = document.querySelector('.sta-main');
 //獲取寬高
 var w = parseInt(window.getComputedStyle(_canvas).width);
 var h = parseInt(window.getComputedStyle(_canvas) .height);
 //將canvas畫布放大2倍,然后盛放在小的容器內,處理模糊
 canvas2.width = w * 2;
 canvas2.height = h * 2;
 canvas2.style.width = w + "px";
 canvas2.style.height = h + "px";
 var context = canvas2.getContext("2d");
 //處理偏移
 context.scale(1.5, 1.5);
 //修改背景顏色,默認是黑色
 $('.sta-main').css("background", "#fff")
 html2canvas( _canvas, {
 //處理pdf跨域獲取不到跨域信息問題
 taintTest : false,
 useCORS : true,
 allowTaint : false, 
 canvas : canvas2,
 dpi: 172,//導出pdf清晰度
 onrendered: function (canvas) {
 var contentWidth = canvas.width;
 var contentHeight = canvas.height;
 //一頁pdf顯示html頁面生成的canvas高度;
 var pageHeight = contentWidth / 592.28 * 841.89;
 //未生成pdf的html頁面高度
 var leftHeight = contentHeight;
 //pdf頁面偏移
 var position = 0;
 //html頁面生成的canvas在pdf中圖片的寬高(a4紙的尺寸[595.28,841.89])
 var imgWidth = 595.28;
 var imgHeight = 592.28 / contentWidth * contentHeight;
 var pageData = canvas.toDataURL('image/jpeg', 1.0);
 var pdf = new jsPDF('', 'pt', 'a4');
 //有兩個高度需要區分,一個是html頁面的實際高度,和生成pdf的頁面高度(841.89)
 //當內容未超過pdf一頁顯示的范圍,無需分頁
 if (leftHeight < pageHeight) {
 pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight);
 } else {
 while (leftHeight > 0) {
 pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
 leftHeight -= pageHeight;
 position -= 841.89;
 //避免添加空白頁
 if (leftHeight > 0) {
 pdf.addPage();
 }
 }
 }
 pdf.save('PDF的名字.pdf');
 }
 })
 $('.sta-main').css("background", "")
})
</script> 

此次網頁改為PDF,與上次截圖網頁為PNG,使用同一種技術,都是先使用Canvas截圖畫布后轉格式。

同樣也有偏移、模糊、跨域等問題,使用之前的代碼來處理。

轉換pdf會讓背景色變為黑色使用css樣式改一下背景色就可以了。

完美轉換為pdf。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:惠州 甘南 咸陽 營口 文山 蘇州 紅河 萍鄉

巨人網絡通訊聲明:本文標題《詳解使用canvas保存網頁為pdf文件支持跨域》,本文關鍵詞  詳解,使用,canvas,保存,網頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解使用canvas保存網頁為pdf文件支持跨域》相關的同類信息!
  • 本頁收集關于詳解使用canvas保存網頁為pdf文件支持跨域的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91麻豆自制传媒国产之光| 成人av在线电影| 国产成人99久久亚洲综合精品| 日本黄色一区二区| 欧美成人官网二区| 午夜欧美在线一二页| 99久久夜色精品国产网站| 日韩精品一区二区三区在线观看 | 成人av免费网站| 欧美成人性福生活免费看| 亚洲一卡二卡三卡四卡五卡| 国产寡妇亲子伦一区二区| 欧美丰满高潮xxxx喷水动漫 | 中文字幕av一区 二区| 免费看黄色91| 欧美精品777| 天天综合天天做天天综合| 91免费版在线看| 国产欧美一区二区精品性色超碰| 亚洲成人免费看| 欧美中文字幕一区二区三区 | 精品国产制服丝袜高跟| 亚洲成在人线免费| 在线一区二区三区| 一区二区三区四区激情| 色悠悠久久综合| 亚洲色图在线视频| 91免费在线播放| 亚洲精品欧美激情| 成人动漫视频在线| 综合网在线视频| 91美女片黄在线观看| 中文字幕一区二| 一本色道久久综合亚洲91| 亚洲欧美精品午睡沙发| 99在线精品视频| 亚洲免费观看高清在线观看| 91浏览器在线视频| 亚洲视频香蕉人妖| 欧美性视频一区二区三区| 亚洲电影一级黄| 欧美日韩精品三区| 美女视频黄久久| 欧美精品一区二区三区高清aⅴ | 国产欧美日本一区视频| 99视频国产精品| 一区二区三区四区av| 欧美精品一卡二卡| 韩国女主播成人在线| 国产午夜精品理论片a级大结局| 国产福利91精品一区| 国产精品家庭影院| 欧美日韩情趣电影| 国产专区综合网| 亚洲视频一区在线| 91精品国产综合久久小美女| 激情久久久久久久久久久久久久久久| 国产日产欧美一区二区视频| 99国产欧美另类久久久精品| 亚洲123区在线观看| 精品精品欲导航| 色综合久久久网| 久久99久久99小草精品免视看| 国产日产亚洲精品系列| 欧美日韩亚洲国产综合| 国产自产视频一区二区三区| 亚洲美女偷拍久久| 精品美女在线播放| 欧美影院一区二区三区| 国产一区二区视频在线| 亚洲欧美另类小说视频| 久久综合色天天久久综合图片| fc2成人免费人成在线观看播放| 午夜精品一区在线观看| 中文字幕精品—区二区四季| 欧美另类高清zo欧美| aaa欧美色吧激情视频| 免费观看在线色综合| 专区另类欧美日韩| 精品播放一区二区| 欧美三级日韩三级| 99国产精品久久久久久久久久| 天使萌一区二区三区免费观看| 中文字幕乱码一区二区免费| 日韩欧美区一区二| 欧美日韩精品一区视频| 99国产精品一区| 风间由美一区二区三区在线观看| 麻豆精品在线视频| 日韩国产欧美在线播放| 亚洲自拍偷拍图区| 亚洲男人天堂一区| 国产精品剧情在线亚洲| 久久久久99精品一区| 日韩精品资源二区在线| 欧美日韩aaaaaa| 欧美男女性生活在线直播观看| 91免费精品国自产拍在线不卡| 国v精品久久久网| 国产成人av自拍| 国产高清亚洲一区| 国产精品18久久久久| 黄页网站大全一区二区| 久久99深爱久久99精品| 午夜精品123| 天天综合色天天| 婷婷综合另类小说色区| 亚洲高清三级视频| 日日夜夜精品视频天天综合网| 亚洲美女少妇撒尿| 亚洲一级二级在线| 国产999精品久久久久久绿帽| 美女一区二区久久| 久草在线在线精品观看| 亚洲日本中文字幕区| 国产亚洲综合在线| 国产网红主播福利一区二区| 久久精品视频网| 国产欧美一区二区精品性色| 亚洲国产精品成人综合| 1024成人网色www| 亚洲中国最大av网站| 爽好久久久欧美精品| 久久精品国产亚洲高清剧情介绍| 久久99精品久久久久久国产越南 | 欧美中文字幕一区二区三区亚洲| 在线视频你懂得一区| 欧美日韩一区二区在线观看视频| 欧美色精品在线视频| 欧美一区二区三区免费在线看 | 久久先锋影音av鲁色资源| 久久久国产精品午夜一区ai换脸| 国产女人18水真多18精品一级做| 欧美国产激情一区二区三区蜜月| 中文字幕日韩av资源站| 亚洲午夜久久久久久久久电影网 | 国产精品乡下勾搭老头1| 99re亚洲国产精品| 欧美日本在线看| 国产午夜精品久久久久久免费视| 亚洲日本青草视频在线怡红院| 亚洲成a人片综合在线| 久久国产免费看| 91亚洲精品乱码久久久久久蜜桃 | 91精品国产综合久久久久久久 | 欧美激情一区二区在线| 亚洲午夜视频在线| 国产99精品视频| 欧美三级电影一区| 久久九九久久九九| 一级做a爱片久久| 国产在线精品视频| 精品视频免费在线| 欧美激情资源网| 琪琪久久久久日韩精品| www.66久久| 精品久久久久av影院| 亚洲午夜精品17c| 成人免费高清视频| 久久综合资源网| 日本欧美一区二区三区乱码 | 成人a级免费电影| 日韩免费电影一区| 亚洲福利视频一区| 99久久精品国产麻豆演员表| 日韩亚洲欧美综合| 午夜天堂影视香蕉久久| 91丨九色丨国产丨porny| 久久亚洲精品国产精品紫薇| 亚洲二区在线观看| 在线免费不卡视频| 亚洲欧洲日韩在线| eeuss鲁片一区二区三区在线观看| 日韩欧美亚洲一区二区| 天堂久久一区二区三区| 91成人免费网站| 亚洲男人的天堂一区二区| 国产69精品久久久久777| 久久九九久精品国产免费直播| 免费久久精品视频| 欧美一区二区三区在线视频| 亚洲综合成人在线| 欧美色爱综合网| 亚洲精品美腿丝袜| 91久久一区二区| 亚洲精品视频在线| 在线亚洲免费视频| 亚洲裸体在线观看| 欧美综合在线视频| 亚洲国产综合在线| 91精品综合久久久久久| 日日夜夜免费精品视频| 欧美一区二区免费观在线| 人人精品人人爱| 精品国产乱码久久久久久1区2区 | 国产欧美一区二区三区在线老狼| 久草精品在线观看| 国产日韩欧美a| 成人激情小说网站| 亚洲另类春色国产|