一张票据需要的东西其实很少
需要的信息只有几类:谁开给谁、编号与日期、每行多少钱、税与折扣、怎么付款。 剩下的都是排版。既然排版与算术都能在浏览器里完成,把客户名单和报价上传给第三方就没有必要 —— 尤其是当你和客户的合作关系本身就要求谨慎的时候。
为什么「打印成 PDF」比「JS 生成 PDF」更对
这里的取舍值得讲清楚:在浏览器里用 JS 直接产出 PDF 是可行的,但要正确显示中文, 必须先把一份中文字体(子集也有几 MB)嵌进文件,否则要么乱码、要么空白。 而浏览器自带的打印引擎已经带着完整的排中文能力,输出时自动嵌入字体。 所以本页选择让浏览器去生成 PDF —— 少几 MB 下载,少一类「字体没嵌好」的事故。