3

我正在尝试使用 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();
}

下面是条形码的输出图像:

两部分的输出

如您所见,代码大小保持不变。我怎样才能减小它的大小?请帮帮我。

谢谢。

4

5 回答 5

1

条形码 b;

b.setFont(null);

这将帮助您将字体大小设置为 0。

于 2015-07-27T21:26:25.233 回答
0

BarCodeBuilder如果Barcode 只是喜欢, 请改用类

  BarCodeBuilder b=new BarCodeBuilder();
  b.setCodeText("abc123");
  b.setSymbologyType(Symbology.Codabar);
  b.setResolution(new Resolution(50f,40f,ResolutionMode.Graphics));

这个对我有用...

于 2012-10-08T07:16:05.657 回答
0

我想,你应该使用 Barcode.setFont() 方法来设置字体大小

参考

于 2014-04-12T09:45:09.190 回答
0

由于net.sourceforge.barbecue.Barcode的 getFont() 返回一个很好的旧 null,您要么必须构造一个Font对象,要么从某个地方获取一个,并根据自己的喜好更改其大小,然后将其分配给带有.设置字体()。

它适用于我的代码:

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);

字体大小不是以像素为单位的!我相信它的维度是点。

于 2015-11-11T13:42:10.377 回答
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));
于 2017-06-14T13:46:03.057 回答