[英]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.