别笑菜:固定格式的针式票据或文件打印具体是怎么实现的?

2023-11-20 16:00:55 +08:00
 tlerbao

请问:

那种三联四联一组的打印纸,提前印刷出固定格式范本,留有空位,塞到针式打印机后,相应字段打印到相应位置,是怎么实现的?

假设现在有 Vue+PHP 开发的系统,从系统读出数据后,放入固定格式的打印纸,是怎么把相应字段数据打印到相应位置的?

1335 次点击
所在节点    程序员
8 条回复
mightybruce
2023-11-20 16:08:26 +08:00
你的这个做法很难行得通的,因为这种 typesetting 问题研究了几十年,中间还出来 latex 这种语言。

你倒不如反过来把打印纸通过 ocr 识别扫描变为 pdf 或 word, 此时就没那么多 typesetting 兼容性考虑(比如换行、词语换行等各类问题)
pi1ot
2023-11-20 16:12:55 +08:00
差不多 20 多年前我还在学校读书写 delphi 赚外快时也遇到过这个针式打印机排版的问题,没想到到现在也还是老办法。
kd9yYw2RyhQwAwzn
2023-11-20 16:18:39 +08:00
用那种报表 画出来表格跟打印样式 填充字段 链接那种针式打印机打印
encro
2023-11-20 16:26:32 +08:00
这个是设备实现的。
设备走固定格式的纸,每次设置好刚好那么大尺寸。
你只需要将内容打到纸上就行了。


比如纸张是 A4 ,你需要:

1 ,php 生成一个 a4 的 pdf 或者 image 等;
2 ,然后调用 windows 打印 api 将 pdf 发送到可打印设备即可。

我们就是 PHP 后端,然后后端自动打印是 C++写的。

后台自动打印:你这简单打印可以直接调系统命令,或者第三方工具。
前台用户打印:直接调 js 的 window.print()方法,或其他第三方库,如: https://github.com/crabbly/print.js ,这个不需要生成 PDF ,网页也能打印。
967182
2023-11-20 16:40:37 +08:00
搜索关键字: 套打
sss15
2023-11-20 16:44:52 +08:00
lodop 不就可以实现吗
样例 4:套打 https://www.lodop.net/demolist/PrintSample4.html
lff0305
2023-11-20 17:00:06 +08:00
先生成一个 PDF 当模板,保证这个 PDF 能打印到这个票据的合适的位置

真正打印的时候用相应的库来编辑 PDF 模板,写入数据,然后打印
Yjhenan
2023-11-20 17:45:38 +08:00
就是套打,尺寸对上就可以,调试的时候带张背景图调

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

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

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

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

© 2021 V2EX