根据屏幕大小不同,页面内容自适应并一页展示,应该如何实现

// 导出页面为PDF格式

import html2Canvas from 'html2canvas'

import JsPDF from 'jspdf'

export default{

install (Vue, options) {

Vue.prototype.getPdf = function () {

setTimeout(() => {

var title = this.htmlTitle

let pdfDom_html = document.getElementsByClassName('pdfDom')

let PDF = new JsPDF('', 'pt', 'a4')

var imgArr = new Array();

let scale = 2 //获取像素密度的方法 (也可以采用自定义缩放比例)

for(var i = 0; i< pdfDom_html.length; i++) {

html2Canvas(pdfDom_html[i], {

useCORS: true,//允许加载跨域的图片

allowTaint: true,//允许跨域图片

scale: scale // 添加的scale 参数

}).then(function (canvas) {

let contentWidth = canvas.width

console.log(contentWidth, 'contentWidth')

let contentHeight = canvas.height

console.log(contentHeight, 'contentHeight')

//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高

let imgWidth = 595.28

let imgHeight = (592.28 / contentWidth * contentHeight)

console.log(imgHeight, 'imgHeight')

//返回图片dataURL,参数:图片格式和清晰度(0-1)

// let pageData = canvas.toDataURL('image/png', 1.0)

var pageData = new Image();

pageData.src = canvas.toDataURL('image/jpeg', 1.0);

imgArr.push(pageData)

if (imgArr.length == pdfDom_html.length) {

for(var j = 0; j < imgArr.length; j++) {

PDF.addImage(imgArr[j].src, 'JPEG', 0, 0, imgWidth, imgHeight)

if (j < imgArr.length - 1) {

PDF.addPage()

}

}

PDF.save(title + '.pdf')

}

})

}

}, 100)

}

}

}

html页面根据分辨率缩放,html2Canvas根据不同分辨率,生成pdf内容自适应相关推荐

  1. html页面导出pdf截断问题,html2canvas 与 jspdf 相结合生成 pdf 内容被截断的终极解决方案...

    欢迎关注我的公众号 <人生代码> 我有一个大胆的想法,我要一直写到死,那一天我不写了,可能就死了.哈哈. 哈喽,大家好,我是你们的攻城狮,人贱人爱的 Ken,一个永远充满激情的人. 最近接 ...

  2. HTML页面实现可编辑,保存,并生成PDF,完成签章。

    原本是应该用pageOffice实现在线打开word的编辑,保存,转换成PDF,并完成签章,由于公司预算不够,pageOffice组件不能购买,所以只能另想他法. 需要编辑的word文档的模板是固定的 ...

  3. 大屏页面三种缩放:按分辨率进行缩放、等比缩放(展示全部内容、展示部分内容和滚动条)

    前言 本文以width和height代表实际窗口的宽和高,且下文的overflow: hidden几乎不会隐藏什么东西,这么写只是一个保障. 一.按分辨率进行缩放 实现效果:无论如何拖拽浏览器窗口,都 ...

  4. 大屏网页手机缩放html,大屏页面三种缩放

    (1)按分辨率进行缩放 html,body{ margin: 0; padding: 0; font-size: 16px; overflow: hidden; font-family: " ...

  5. 前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏

    提示:前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏 前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏 说明 一.首先是适配屏幕的缩放比 1. ...

  6. 前端解决web端 125%,150%缩放,1366*768分辨率兼容问题

    最近做一个需求是在web项目中打开一个新的标签页,新的标签页是要适应大屏的,但是同时要适应125%,150%缩放,1366*768分辨率兼容.所以单独对这个页面进行了兼容处理 mounted () { ...

  7. [html] 写页面布局时你有考虑过分辨率因素吗?还要考虑哪些因素呢

    [html] 写页面布局时你有考虑过分辨率因素吗?还要考虑哪些因素呢 1.支持的最大和最小分辨率 2.流式布局还是响应式布局 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定 ...

  8. ubuntu 外接显示器设置 鼠标指针闪烁 屏幕缩放 相对位置设置 分辨率设置 -xrandr

    配置:通过 xrandr 直接查看 笔记本电脑 最高分辨率 2880x1800 外接的显示器 最高分辨率 1920x1200 场景:笔记本电脑外接显示器,左边为外接显示器,右边为笔记本电脑 #! /b ...

  9. LabVIEW自适应屏幕分辨率缩放

    文章目录 前言 一.子vi百度网盘自取 二.子vi使用方法 三.窗口大小设置 四.总结 前言 在使用 LabVIEW进行上位机项目开发的时候软件的分辨率是根据我们所开发的电脑所决定的,但是当开发完的上 ...

最新文章

  1. MariaDB三种方法安装及多实例实现
  2. PGA Usage Larger than PGA_AGGREGATE_TARGET setting?
  3. checkbox的常见问题
  4. Mac下Git与Github的简单使用
  5. Linux网络那点事
  6. 统考计算机和英语百度网盘,《计算机专业英语》在线考试系统
  7. 常见的 HTTP 状态代码及原因
  8. 机器学习入门一 ------- 什么是机器学习,机器学习的在实际中的用处
  9. c# 将doc转换为docx
  10. c语言 时间函数,C/C+时间相关的函数
  11. 计算机电脑故障,电脑常见故障解决方法
  12. java 英文句子切分_java 将英文文章 按句子,标点符号分割,正则表达式
  13. html页面字体缩小模糊怎么解决,如何解决网页字体模糊的问题
  14. 如何使用谷歌浏览器远程调试安卓/ios真机H5应用?
  15. 浅谈人工智能:现状、任务、构架与统一
  16. 2021年6月PMP考试紧急缓考怎么办理?
  17. 关机时没有退出clash代理,导致重启后浏览器无法访问网页
  18. D-Link DCS系列监控 账号密码信息泄露漏洞
  19. CSS 选择器 :last-child与:last-of-type的区别
  20. 移相器——移相器介绍

热门文章

  1. JAVA流程控制学习总结
  2. FusionCharts使用问题及解决方法(三)-FusionCharts常见问题大全
  3. 程序员容易不能生育?
  4. 【C++模板】特化与偏特化 template [partial] specialization
  5. python分句_Python循环中的分句,继续和其他子句
  6. 蓝牙耳机音量大解决办法_长时间使用蓝牙耳机的危害这么大?我们到底该选什么蓝牙耳机呢?...
  7. leetcode 738. 单调递增的数字(贪心算法)
  8. leetcode130. 被围绕的区域(bfs)
  9. react销毁方法钩子0_React钩子:使用React状态的新方法
  10. 选定用户与用户组启动流程(学习笔记)