我正在尝试使用Barbecue API生成条形码。我面临的问题是,当我尝试重新调整条形码的大小时,打印在条形码下方的文本形式的代码保持相同的大小。我也需要减少它的一面。我尝试了以下代码:
第1部分:原始尺寸条形码
Barcode b = BarcodeFactory.create2of7("4561");
b.setBarHeight(5);
b.setBarWidth(1);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(b);
if (job.printDialog())
{
job.print();
}
第2部分:调整大小的代码
Barcode b = BarcodeFactory.create2of7("4561");
b.setBarHeight(5);
b.setBarWidth(1);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(b);
if (job.printDialog())
{
job.print();
}
下面是条形码的输出图像:
正如您所看到的,代码大小相同。我怎样才能减小它的尺寸?请帮帮我。
感谢。
答案 0 :(得分:1)
条形码b;
b.setFont(空);
这有助于您将字体大小设置为0。
答案 1 :(得分:0)
如果BarCodeBuilder
使用课程Barcode
就像
BarCodeBuilder b=new BarCodeBuilder();
b.setCodeText("abc123");
b.setSymbologyType(Symbology.Codabar);
b.setResolution(new Resolution(50f,40f,ResolutionMode.Graphics));
对我有用......
答案 2 :(得分:0)
我想,您应该使用Barcode.setFont()方法来设置字体大小
答案 3 :(得分:0)
由于 net.sourceforge.barbecue.Barcode 的getFont()返回一个好的旧null,你要么必须构造一个 Font 对象,要么从某个地方获取一个,并根据自己的喜好更改其大小,然后使用.setFont()将其分配给条形码。
使用此代码对我有用:
Graphics2D g2d = (Graphics2D) graphics;
Barcode b = BarcodeFactory.createCode128("Hello");
Font deriveFont = g2d.getFont().deriveFont(8.5f); //copy of original Font with given size
b.setFont(deriveFont);
字体尺寸不以像素为单位!我相信它的维度是分数。
答案 4 :(得分:0)
我试过这个并且有效:
Barcode barcode;
barcode = BarcodeFactory.createCode128B(Integer.toString("my barcode"));
barcode.setBarHeight(40);
barcode.setBarWidth(2);
barcode.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 10));