html转换为canvas再下载为pdf的办法网上已经很多了,(我用的是两个插件一个js文件的那种办法,html2canvas,jspdf)。

然而这种方法有个问题,如果我的图片中有表格或者图,并且分了好几页,那很可能我的图片会被分页隔断,如图:

一张图被割到了两页。

我的这张表是点击查看按钮 只打开网页图,点击下载按钮会先打开页面,再实时生成canvas,然后下载为pdf,两个按钮打开的是同一个页面,但是功能不一样。

解决的思路是在转换为canvas之前,在图片前面添加一块空白(注意,这里是转换为canvas之前,而不是在页面初次渲染就给渲染成这样,不然如果只是点击查看的话图表前面很大一块空白会很奇怪)

实现方法为:

html部分:(添加个空的 id为filler1的div)

<div id ="filler1"></div>
<div id="chart" style="width: 100%; height: 500px;clear: both;"></div><br/>

js部分:(点击下载的时候,在filler1里添加高为20px的空白块)

    //下载文件download(){if(this.ifDownload){this.downloadPdf(false)/建立一个有一定高度的空白块div作为填充物let son = document.createElement("div")son.style.height = 20 +'px'document.querySelector('#filler1').appendChild(son)}

这样就可以分页不隔断图片了。注意!我这里的20px是计算好的,写死的,网上的htmltopdf的js文件中有个问题,它生成的canvas图片由于宽高比的设置,在屏幕分辨率宽不同时,生成的图片高也是不一样的,所以实际操作时代码中得写个判断,在分辨率宽不同时添加的div的高度应是不同的。

实现html下载为pdf时分页不切断table表格或者echarts图片相关推荐

  1. 【已解决】Word转换PDF时自动更新域导致图片表格的引用编号全部乱掉

    问题背景 最近在排版毕业设计,因为有很多图片和表格,为了省事,直接在文中引用图片,表格,就不用编号了,(这个时候文章的一级标题是'第1章'),但是学校要求一级标题的格式为"第一章" ...

  2. word中存储矢量图,word转为PDF时矢量图不失真。以及Visio图片放入word后有大量空白

    一.使用draw.io绘制好,然后导出为vsdx 1.我们可以在Visio中绘制图形(或者使用diagrams.net:Flowchart Maker & Online Diagram Sof ...

  3. 解决xhtmlrenderer flying-saucer-pdf-itext5 生成pdf时html中table分页内容太多挤到第二页问题。

    使用 flying-saucer-pdf-itext5 生成pdf时html中table的行如果太高的话会被挤到第二页展示,导致第一页中空白一大块. 解决办法: 修改org.xhtmlrenderer ...

  4. 前端vue项目-关于下载文件pdf/excel

    最近在做一些需求,需要下载一些文件信息,最频繁的就是下载excel文件到本地了 看过了很多方法,做个整理吧哈哈哈哈 参考的文章链接: https://www.cnblogs.com/jiangweic ...

  5. SpringBoot+Vue+Itext实现前端请求文件流的方式导出PDF时在指定位置添加照片

    场景 SpringBoot+Vue+Itext实现前端请求文件流的方式下载PDF: SpringBoot+Vue+Itext实现前端请求文件流的方式下载PDF_BADAO_LIUMANG_QIZHI的 ...

  6. java 模板 word转pdf 可分页 带图片

    java 模板 word转pdf 可分页 带图片 之前写过一个简单的案例,但是在项目中完全不能满足客户的需求,所以重新用啦一种方式来写,采用了word转换pdf的方式,这种经过不断研究,满足了可分页, ...

  7. 计算机中pdf怎么预览,如何在浏览器中开启PDF时默认显示Adobe Reader XI工具栏

    如何在浏览器中开启PDF时默认显示Adobe Reader XI工具栏_电脑基础知识_IT/计算机_资料 3682人阅读|3次下载 如何在浏览器中开启PDF时默认显示Adobe Reader XI工具 ...

  8. 解决 linux(centos7)word转换pdf时,pdf乱码问题

    本文解决当word转换为pdf时,pdf文档中的中文字体全部都是乱码(方框)的问题. 先简单的写一下word转换pdf的代码,这个网上有很多(最下方有引用一遍博客详细的讲解了如何转换) /**** @ ...

  9. linux中安装openoffice,及解决转pdf时中文乱码或者中文不显示问题【离线】

    linux中安装openoffice[离线] 目录安装openoffice启动openoffice查看openoffice运行状态启动时可能出现的问题openoffice在转pdf时,中文乱码或者中文 ...

最新文章

  1. Linux_SystemLogManager
  2. 处理字符串_11_判断一个字符是否是数字
  3. Android 高级Drawable资源---复合Drawable----变换Drawable---RotateDrawable用法实例
  4. .Net Core with 微服务 - Polly 服务降级熔断
  5. 详解ASP.NET页面生命周期事件
  6. Python 进程池 multiprocessing.Pool - Python零基础入门教程
  7. Filecoin网络目前总质押量约为3570万枚FIL
  8. mysql指令按顺序排列_《深入浅出MySQL》读书笔记(一)sql基础,常用的操作语句。...
  9. Unity 协同程序
  10. 错误未找到引用源_你好,C++(77)12.1 用右值引用榨干C++的性能
  11. JVM 新生代,老年代,永久代
  12. ESB 分布式处理技术 Remoting
  13. 【期末复习】电子商务
  14. 全球及中国钢铁行业投资产量趋势及营销盈利模式研究报告2021版
  15. go语言:sync.Once的用法(转)
  16. Arduino测试一块5路非自锁开关量输入模块ardunio中断编程示例
  17. 【UiBot干货】UiBot屏幕锁屏常见的7个问题
  18. 使用CVXQUAD时出现,函数或变量 ‘op_rel_entr_epi_cone‘ 无法识别。
  19. Python代码画小鸭穿雨靴--turtle绘图
  20. 计算机房疏散门宽度,13.2 防火与疏散 - 数据中心设计规范 GB50174-2017 - 消防规范大全 - 消防资源网!...

热门文章

  1. 回字的四种写法之编程
  2. 重新启动mysql服务器
  3. JMeter学习笔记1-安装环境
  4. 编译ffmpeg+dl等库
  5. 22、R329刷机受阻和测试仿真环境demo
  6. VP9编码(1)-- 简介
  7. EMC启航:我们为什么要做EMC
  8. 【源码解读】BertLayer
  9. W800/W801学习记录网络部分(一):WIFI的扫描和连接
  10. [作业]英语作业,无聊记事