簡體   English   中英

如何重新調整Barbecue API生成的文本大小?

[英]How to re-size the text generated by Barbecue API?

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

以下是條形碼的輸出圖像:

兩個部分的輸出

如您所見,代碼大小相同。 我怎樣才能減小它的尺寸? 請幫幫我。

謝謝。

條形碼b;

b.setFont(NULL);

這將幫助您將字體大小設置為0。

如果Barcode就像使用BarCodeBuilder

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

這個對我有用...

我想,您應該使用Barcode.setFont()方法來設置字體大小

參考

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

字體大小不是以像素為單位給出的! 我相信它的維度是分數。

我試過這個並且它有效:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM