资讯专栏INFORMATION COLUMN

web打印一篇就够,jspdf,wkhtmltopdf

Galence / 1949人阅读

摘要:前端时间公司有一个项目要批量打印,主要是打印准考证,考试成绩,以及考试证书。一句话,一旦出现了问题,修复起来会非常困难,关键代码就一行。问题往往出现在,往往在测试环境没有问题,在正式环境上就不行。

前端时间公司有一个项目要批量打印,主要是打印准考证,考试成绩,以及考试证书。参考方案,前端打印,后端打印

后端打印

后端打印主要是用wkhtmltopdf这个,这个框架需要在后端安装一大堆东西,先生成pdf在打印。一句话,一旦出现了问题,修复起来会非常困难,关键代码就一行。但是调试起来却异常困难。

options = {
    "page-size": "A4",
    "orientation": "Landscape",
    "encoding": "utf-8",
    "zoom": 8,
    "margin-bottom": "0in",
    "margin-top": "0in",
    "margin-left": "0in",
    "margin-right": "0in",
}
config = pdfkit.configuration(wkhtmltopdf="/usr/local/bin/wkhtmltopdf")
pdfkit.from_url(weburl,filepath, options=options, configuration=config)

问题往往出现在pdfkit.from_url(),往往在测试环境没有问题,在正式环境上就不行。因为出问题的频率太过频繁,所以考虑换方案

前端打印

一番搜索就下列几种方式,比较好一点

jspdf 打印 addHTML





结论:存在问题打印时背景黑,数据量大后黑屏率100%

jspdf 打印 addImage




结论:存在问题打印时背景黑,数据量大后黑屏率100%,小数据量好一些

jquery.print

$("#myElementId").print({
    globalStyles: true,
    mediaPrint: false,
    stylesheet: null,
    noPrintSelector: ".no-print",
    iframe: true,
    append: null,
    prepend: null,
    manuallyCopyFormValues: true,
    deferred: $.Deferred(),
    timeout: 750,
    title: null,
    doctype: ""
});
结论:开源组织提供的,一般性打印需求可以满足,无法调整边距,纸张打印方向之类。底层都是window.print()实现,优点,使用起来非常方便

window.print 方法

这个是系统自带的,可以调整边距,可以调整纸张方向,我最终使用的是这个,不同浏览器自己做支持,要是出现了问题,一般都可以解决

//分页参数
style="page-break-before:always;height:667px"

@media print

css的属性,主要浏览器都支持

@media print {
  selector{
  ...
  }
}

Lodop插件

这个打印插件我并没有使用,需要用户安装,收费

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40923.html

相关文章

  • web打印一篇就够jspdfwkhtmltopdf

    摘要:前端时间公司有一个项目要批量打印,主要是打印准考证,考试成绩,以及考试证书。一句话,一旦出现了问题,修复起来会非常困难,关键代码就一行。问题往往出现在,往往在测试环境没有问题,在正式环境上就不行。 前端时间公司有一个项目要批量打印,主要是打印准考证,考试成绩,以及考试证书。参考方案,前端打印,后端打印 后端打印 后端打印主要是用wkhtmltopdf这个,这个框架需要在后端安装一大堆东...

    Miracle 评论0 收藏0
  • 50行Python代码,教你获取公众号全部文章

    摘要:今天介绍一种通过抓包端微信的方式去获取公众号文章的方法。如上图,通过抓包工具获取微信的网络信息请求,我们发现每次下拉刷新文章的时候都会请求这个接口。 本文首发自公众号:python3xxx 爬取公众号的方式常见的有两种 通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章 通过微信公众号的素材管理,获取公众号文章。缺点是需要申请自己的公众号。 showImg(//img.mukew...

    MartinHan 评论0 收藏0
  • Web应用程序如何创建 PDF

    摘要:在本文中,将探讨如何从一个应用程序中直接生成一个。然而,再次受到浏览器对和支持的限制。使用来实现规范尝试使用实现规范实际上是创建了。就从应用程序使用这些工具而言,需要在服务器上安装它们。希望这是一个有用的工具总结,可用帮你的应用程序创建。 为了保证的可读性,本文采用意译而非直译。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 在一些场景下,用户都要求一些需要的数...

    AlexTuan 评论0 收藏0
  • 前端实现html转pdf方法总结

    摘要:比上面的稍微好点,支持了一些方面的东西,具体看这个中文配置参数评价这种方法前端实现,灵活简单,而且在页面还原上是很好的,生成的过程不需要自己操心,页面样式还可控,可以说是非常不错的。 最近要搞前端html转pdf的功能。折腾了两天,略有所收,踩了一些坑,所以做些记录,为后来的兄弟做些提示,也算是回馈社区。经过一番调(sou)研(suo)发现html导出pdf一般有这几种方式,各有各有优...

    Heier 评论0 收藏0
  • 前端实现html转pdf方法总结

    摘要:比上面的稍微好点,支持了一些方面的东西,具体看这个中文配置参数评价这种方法前端实现,灵活简单,而且在页面还原上是很好的,生成的过程不需要自己操心,页面样式还可控,可以说是非常不错的。 最近要搞前端html转pdf的功能。折腾了两天,略有所收,踩了一些坑,所以做些记录,为后来的兄弟做些提示,也算是回馈社区。经过一番调(sou)研(suo)发现html导出pdf一般有这几种方式,各有各有优...

    gekylin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<