Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何重新调整烧烤API生成的文本的大小?_Java_Resize_Barcode_Barbecue - Fatal编程技术网

Java 如何重新调整烧烤API生成的文本的大小?

Java 如何重新调整烧烤API生成的文本的大小?,java,resize,barcode,barbecue,Java,Resize,Barcode,Barbecue,我正在尝试使用烧烤API生成条形码。我面临的问题是,当我尝试重新调整条形码的大小时,打印在条形码下方的文本形式的代码保持相同的大小。我也需要减少它的侧面。我尝试了以下代码: 第1部分:原始尺寸条形码 Barcode b = BarcodeFactory.create2of7("4561"); b.setBarHeight(5); b.setBarWidth(1); PrinterJob job = PrinterJob.getPrinterJob(); job.setPrintable(b);

我正在尝试使用烧烤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();
}
下面是条形码的输出图像:

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


谢谢。

如果
条形码
就像

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

它适合我…

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

条形码b

b、 setFont(空)


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

因为net.sourceforge.barbage.Barcode的getFont()返回一个很好的空值,您要么构造一个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);

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

我尝试了这个,它成功了:

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

你用的是哪个版本的烤肉?我认为Aspose是付费的,是吗?我需要开源。下载。答案基于其他库,而问题明确要求基于烧烤的解决方案。你能告诉我你是如何做到这一点的吗