zhuyw2006
V2EX  ›  Django

请教前端打印的方法

  •  
  •   zhuyw2006 · Sep 29, 2018 · 6293 views
    This topic created in 2815 days ago, the information mentioned may be changed or developed.
    目前是 vue + django 前后端分离,前端会做一些报表。
    现在的思路是,前端提交表单到后台,后台查询后的数据会缓存一份(备用,避免二次查询)在返回给前端页面,
    如果要下载 Excel 或者打印,就在提交一次给后台,后台会使用缓存得数据。
    现在问题是,如果选择打印,后台是返回 PDF 还是 HTML 呢?(都是通过 Excel 转换的)
    相同的数据 PDF 要大不少。
    还是前端 js 呢?
    10 replies    2018-09-30 08:40:03 +08:00
    noe132
        1
    noe132  
       Sep 29, 2018   ❤️ 3
    前端 HTML 打印不同浏览器会有不同效果。
    最好是后端生成 pdf,前端下载后打印下载的 pdf
    zhzer
        2
    zhzer  
       Sep 29, 2018 via Android
    建议砍功能
    就提供 excel pdf 下载就够了,我想用户很少会直接打印没有合理排版的数据吧
    P233
        3
    P233  
       Sep 29, 2018
    CSS media print 处理一下呢?
    zhuyw2006
        4
    zhuyw2006  
    OP
       Sep 29, 2018
    @zhzer 有道理,不过基本的打印功能还是要的
    zhuyw2006
        5
    zhuyw2006  
    OP
       Sep 29, 2018
    @noe132 我也是偏向这种方式的
    leekafai
        6
    leekafai  
       Sep 29, 2018 via Android
    html +puppeteer。我之前做过一个这样的项目,是打印健康报告的,我觉得用 html+css media print 在后期比较好调整。
    xiaolanglang
        7
    xiaolanglang  
       Sep 29, 2018
    不建议前端生成 PDF ……
    深圳某社保就是前端生成 PDF 的模式……我在 Mac 下生成出来的 PDF 完全没法看……所以每次我要打社保清单的时候都要找一个 windows 的电脑去操作……非常麻烦……
    STRRL
        8
    STRRL  
       Sep 30, 2018 via Android
    大学时候给 zf 做的网站,明确要求是 pdf。可以参考一下。。
    jjplay
        9
    jjplay  
       Sep 30, 2018
    我之前直接用 js 读取 excel 然后输出 html 页面打印

    https://github.com/SheetJS/js-xlsx
    zhuyw2006
        10
    zhuyw2006  
    OP
       Sep 30, 2018
    @P233 谢谢,我先了解一下

    @leekafai 谢谢您的建议

    @gy911201 确实是这样的

    @STRRL 现在正打算用 pdf

    @jjplay js 用的头晕啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2788 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 15:16 · PVG 23:16 · LAX 08:16 · JFK 11:16
    ♥ Do have faith in what you're doing.