有人指出使用Java打印条形码标签的写入方向吗?我可以使用烧烤库(http://barbecue.sourceforge.net/)将条形码生成为图像,但我需要一种方法将图像(和人类可读的标题)放入Avery文档模板进行打印。
答案 0 :(得分:3)
iText库支持几乎所有可以想象的条形码。您可以生成pdf并保存或在内部打印。
答案 1 :(得分:3)
我建议使用barcode4j库而不是烧烤,原因有两个:
烧烤条形码对象不必要地耦合到Java UI组件(例如,Barcode类扩展了JComponent)。如果没有使用Java UI,这会产生不必要的依赖关系。用于基于批处理或命令行的应用程序如果他们想要将他们的条形码类与Java UI一起使用,他们应该使用聚合而不是继承。
Barcode4J看起来目前支持 - 版本2.0发布,版权日期为2012
然后您遇到将条形码转换为打印机可以理解的格式的问题。为此,我建议openlabelprint.org (我写的!) - 这是另一个使用barcode4j的开源项目并提供:
使用SVG(可缩放矢量图形 - 开放式w3c标准)定义标签布局的设施和
从barcode4j光栅化到SVG的位图(以及SVG中的周围标签布局)(openlabelprint应用优秀的Apache SVG Batik Java库进行光栅化以及其他SVG任务)
使用ZPL低级语言在Zebra打印机上打印位图。 openlabelprint具有内置实用程序,可将png位图转换为ZPL,并通过标准Java打印机系统将其发送到Zebra打印机。此外,openlabelprint提供API以扩展其他打印机语言,但某些非Zebra品牌支持ZPL
答案 2 :(得分:2)
我正在使用java打印条形码,但我使用的打印机具有预编程的打印条形码功能。所以我只告诉打印机要打印哪些代码,剩下的就是它。如果您愿意为打印机付款,可能会节省一些时间。
这可能对你有用,也可能没用,但我想我会提到它。
答案 3 :(得分:1)
我认为您必须使用标尺测量Avery标签页,然后在Java代码中,您必须创建一个完整的Letter / A4 /任何页面进行打印并将该页面上的条形码图像偏移到适当的位置根据您用尺子测量的位置。
答案 4 :(得分:0)
您是否尝试过打印“烧烤”中的图像?
答案 5 :(得分:0)
你应该尝试JZebra这是一个小程序和一个很好的起点,看一下java源代码。
http://code.google.com/p/jzebra/
对于斑马你这个简单的指南会帮助你。 在这个Zebra命令上
N
q609
Q203,26
B26,26,0,UA0,2,2,152,B,"777777"
A253,56,0,3,1,1,N,"JHON3:16"
A253,26,0,3,1,1,N,"JESUSLOVESYOU"
A253,86,0,3,1,1,N,"TEST TEST TEST"
A253,116,0,3,1,1,N,"ANOTHER TEST"
A253,146,0,3,1,1,N,"SOME LETTERS"
P1,1
在JZebra上
var applet = document.jzebra;
if (applet != null) {
applet.append("N\n");
applet.append("q609\n");
applet.append("Q203,26\n");
applet.append("B26,26,0,UA0,2,2,152,B,\"777777\"\n");
applet.append("A253,56,0,3,1,1,N,\"JHON3:16\"\n");
applet.append("A253,26,0,3,1,1,N,\"JESUSLOVESYOU\"\n");
applet.append("A253,86,0,3,1,1,N,\"TEST TEST TEST\"\n");
applet.append("A253,116,0,3,1,1,N,\"ANOTHER TEST\"\n");
applet.append("A253,146,0,3,1,1,N,\"SOME LETTERS\"\n");
applet.append("P1,1\n");}
明确这一点:
EPL是每行一个命令。命令以命令标识符(通常是字母)开头,后跟逗号分隔的特定于该命令的参数列表。您可以在EPL2编程文档中查找每个命令。这是上例中命令的英文版本。
所有起始线都相似。 10. [P]打印一份标签。