请教前端打印的方法

2018-09-29 20:08:28 +08:00
 zhuyw2006
目前是 vue + django 前后端分离,前端会做一些报表。
现在的思路是,前端提交表单到后台,后台查询后的数据会缓存一份(备用,避免二次查询)在返回给前端页面,
如果要下载 Excel 或者打印,就在提交一次给后台,后台会使用缓存得数据。
现在问题是,如果选择打印,后台是返回 PDF 还是 HTML 呢?(都是通过 Excel 转换的)
相同的数据 PDF 要大不少。
还是前端 js 呢?
5627 次点击
所在节点    Django
10 条回复
noe132
2018-09-29 20:11:47 +08:00
前端 HTML 打印不同浏览器会有不同效果。
最好是后端生成 pdf,前端下载后打印下载的 pdf
zhzer
2018-09-29 20:25:38 +08:00
建议砍功能
就提供 excel pdf 下载就够了,我想用户很少会直接打印没有合理排版的数据吧
P233
2018-09-29 20:35:15 +08:00
CSS media print 处理一下呢?
zhuyw2006
2018-09-29 20:41:10 +08:00
@zhzer 有道理,不过基本的打印功能还是要的
zhuyw2006
2018-09-29 20:41:54 +08:00
@noe132 我也是偏向这种方式的
leekafai
2018-09-29 23:13:18 +08:00
html +puppeteer。我之前做过一个这样的项目,是打印健康报告的,我觉得用 html+css media print 在后期比较好调整。
gy911201
2018-09-29 23:40:54 +08:00
不建议前端生成 PDF ……
深圳某社保就是前端生成 PDF 的模式……我在 Mac 下生成出来的 PDF 完全没法看……所以每次我要打社保清单的时候都要找一个 windows 的电脑去操作……非常麻烦……
STRRL
2018-09-30 00:01:31 +08:00
大学时候给 zf 做的网站,明确要求是 pdf。可以参考一下。。
jjplay
2018-09-30 01:14:31 +08:00
我之前直接用 js 读取 excel 然后输出 html 页面打印

https://github.com/SheetJS/js-xlsx
zhuyw2006
2018-09-30 08:40:03 +08:00
@P233 谢谢,我先了解一下

@leekafai 谢谢您的建议

@gy911201 确实是这样的

@STRRL 现在正打算用 pdf

@jjplay js 用的头晕啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/493957

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX