怎样使生成的打印条码分辨率变低但不影响使用?

2020-07-06 08:23:53 +08:00
 a1609

系统要生成多个条码然后打印成 pdf, 现在 pdf 过大,导致下载和系统响应不过来。 求如何压缩图片质量或 pdf 质量? java 开发环境

3553 次点击
所在节点    Java
32 条回复
a1609
2020-07-06 13:10:48 +08:00
@ryh 不太懂,是条码实际是字符组成还是字符转换为条码呀?
我们是字母+数字的组合,转换为条码,然后确认条码数量转换为 pdf,最后打印 pdf 这样一个流程。
RadishWind
2020-07-06 13:25:05 +08:00
@a1609 1.矢量图 2.降低图片分辨率 3.降低 QRcode 的质量(容错率) 4.方便看看你的格式有多长吗? 5.图片压缩后放进 pdf 试试
MooRider
2020-07-06 13:25:23 +08:00
你现在保存的是图片, 再怎么压缩也不可能比纯文字保存体积小.
所以思路是不保存一维码为图片, 而是使用楼上那个字体将一维码转换为文字保存. 从而减小体积
就像扫描版图书和文字版图书转换为 pdf 一样, 体积相差好几十倍
ppgs8903
2020-07-06 13:32:15 +08:00
换劣质墨水
sivacohan
2020-07-06 13:43:49 +08:00
你要是想折腾,可以用我提到的字体,来拼 barcode 。你需要计算每个字体的大小。
如果你不想折腾,那就买 adobe acrobat pro dc,具体操作方法可以参照这篇文章
https://www.evermap.com/AddingBarcodeField.asp
sampeng
2020-07-06 20:49:14 +08:00
我想问…为什么要保存成图片…如果是为了打印,直接调用打印机接口不行么
a1609
2020-07-07 14:10:50 +08:00
试了下字体,本地能够生成条码了,大小也大幅压缩,但是今天上传到阿里云 linux 系统中,就出现找不到该文件的错误,求解
a1609
2020-07-07 14:11:35 +08:00
已换成字符,确实文件大小小超级多
a1609
2020-07-07 14:12:59 +08:00
已换成字符打印,生成的 pdf 变小了,本地运行没问题,但是上传到 lunix 服务器中报错,没有出来 pdf 的内容
a1609
2020-07-07 14:14:18 +08:00
@sivacohan 试了下字体,本地能够生成条码了,大小也大幅压缩,但是今天上传到阿里云 linux 系统中,就出现找不到该文件的错误,pdf 生成的页面为 404
求解
a1609
2020-07-07 14:18:27 +08:00
@lsylsy2 已采用 Libre Barcode 128 Text 的格式,就是现在再 linux 上执行还是有错误
a1609
2020-07-27 14:23:19 +08:00
该问题已解决,采用 Libre Barcode 128 Text 的格式
不过 linux 系统中需要加载一个语言字体包

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

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

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

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

© 2021 V2EX