开始时是这样的, 打印的控件是用iframe写的,图片用js一张张插入到div中,遇到的问题是长图片跨页分割,短图片挤在一页

解决方法

// 插入图片方法
function addImg() {var imgDiv = document.getElementById('imgDiv');imgDiv.setAttribute('style', 'overflow:hidden');for (var i = 0; i < imgArray.length; i++) {var imgEle = document.createElement('IMG');imgEle.style.cssText = 'width: 100%; max-height: 1000px; display: block;  page-break-after: always';imgEle.setAttribute('id', 'IMG'+i);imgDiv.appendChild(imgEle);}setTimeout(function () {for (var i = 0; i < imgArray.length; i++) {var imgEle = document.getElementById('IMG'+i);imgEle.onload = imgOnLoad;imgEle.setAttribute('src', imgArray[i]);}}, 100);}

主要代码

imgEle.style.cssText = 'width: 100%; max-height: 1000px; display: block;  page-break-after: always';
  • width: 100%:设置图片宽度平铺占满
  • max-height: 1000px:最高高度为纸张高度
  • display: block:设置图片为块级元素
  • page-break-after: always:在此标签后进行分页标签分页

更多内容参考:JavaScript 页面打印,预览,设置,分页

最终效果

一张图片占一页

JavaScript 网页打印预览,图片跨页分割相关推荐

  1. 网页打印预览为空白页,解决!!

    这种情况,多半是由于保护模式下 %Temp%\Low 文件夹工作不正常引起的(被误删除.移位等等). 这里给了两种解决方法: 方法一:IE 重置,直接还原为厂商默认设置.这个最是简单省事了!具体步骤, ...

  2. excel打印预览在哪里_在excel表格的打印预览界面调整页边距

    我们一般在打印excel表格之前都会查看一下打印预览,看看哪里有出错的问题没有,我们在excel打印预览里面如果看到页边距不合适,那么我们可以在excel表格的打印预览界面调整页边距,具体的调整页边距 ...

  3. WebBrowser 打印设置,打印预览,去页眉和页脚

    WebBrowser是IE内置的浏览器控件,无需用户下载. 一.WebBrowser控件 <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CL ...

  4. html打印预览出现重叠,html – 打印预览在每页上重复tfoot

    我的问题是,我有两个不同的html文件,其中包含一个包含theader,tfooter和tbody的表. 第一个是我自己创建的测试原因,它看起来像这样: The Invoice table.invoi ...

  5. excel 打印 ,打印预览每一页只有一个单元格的问题

    今天做了个excel报价单,但是打印预览的时候发现有问题,并不是原来的那种打印在一张纸上,而是分散打印在几十张纸上,并且每张纸上只有一个单元格的内容,如下图:                   怎么 ...

  6. 明明只有一页内容,但打印预览有两页,多出一个空白页。

    https://bbs.fanruan.com/wenda/question/108965.html 1.隐藏行列 2.调整行高,列宽 3.页面设置 ->选择 预定义的 纸张

  7. 网页中JS实现(调用)打印预览功能

    近期的项目中需要在页面中实现打印预览功能--点击网页中的"打印"(Print),弹出打印预览窗口,点击窗口页面中的"开始打印"(Print),则出现浏览器的打印 ...

  8. 网页打印问题,打印设置,打印预览,打印分页,纵打,横打及页面的边距

    1.控制"纵打". 横打"和"页面的边距 (1) <object  id="factory"  style="display ...

  9. 在网页中调用打印预览及打印设置

    在网页中调用打印预览及打印设置 以下内容为程序代码: <OBJECT  id=WB classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 heig ...

最新文章

  1. 使用进度条,让Python学习更加轻松快乐吧
  2. matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8
  3. 嵌入式小白到大神学习全攻略(学习路线+课程+学习书籍+练习项目)
  4. 使用Diskpart建立GPT磁盘分区图文教程
  5. scala 主构造函数_Scala-构造函数
  6. 酒鬼随机漫步(一个矢量类)
  7. 为什么python 为什么没有接口_python没有接口吗
  8. Vi和Vim的区别和联系
  9. linux 好用的命令行软件,比较好用的linux命令
  10. World Wind Java开发之九——阶段小结(转)
  11. 从不同解码策略看机器如何生成文本
  12. 七种方式教你在 SpringBoot 初始化时搞点事情
  13. 安徽新华学院计算机设计大赛,第十届中国大学生计算机设计大赛在安徽新华学院开幕...
  14. iOS AnchorPoint 引起的坐标问题
  15. 微信公众号教程(16)公司通讯录开发 终
  16. 李开复给大学生的第7封信:21世纪最需要的7种人才
  17. centos7 elasticsearch 安装启动问题
  18. IT项目管理追踪表格
  19. 高效能管理之要事第一 时间管理表格2
  20. AI缘起 —— 达特茅斯会议

热门文章

  1. PyTorch安装报错
  2. NYOJ-94-cigarettes-2013年09月26日22:19:03
  3. 【开源】ESP32怎样连接NEO6M模块接收GPS数据并显示在oled小屏幕上并可上传数据至Onenet云平台
  4. 膜拜大佬!21条MySQL性能调优经验
  5. android studio adb操作
  6. MySql 执行异常Cause: java.sql.SQLException: Incorrect key file for table
  7. 网易云易盾卓辉:如何实现移动APP安全隐患规避?
  8. 高校教育信息化改革的意义
  9. 【2023校招】厦门极致互动研发岗笔试AK
  10. 苹果手机apn怎么设置