5

I need to set width of barcode generated by iText. I am using this code:

Barcode128 code128 = new Barcode128();
code128.setCode("P662130002");
code128.setBarHeight(80f); // great! but what about width???

java.awt.Image awtImage = code128.createAwtImage(Color.WHITE, Color.BLACK);

Is there any way how to set the width without scaling resulting image?

4

1 回答 1

9

使用它来设置条形码的宽度

code128.setX(10.0f) ;//  Sets the minimum bar width.

方法签名

public void setX(float x)

Sets the minimum bar width.

Parameters:
    x - the minimum bar width

编辑

public class BarCodeTest {

    public static void main(String[] a) throws FileNotFoundException, DocumentException {
        Barcode128 code128 = new Barcode128();
        code128.setCode("P662130002");
        code128.setBarHeight(80f); // great! but what about width???
        code128.setX(1f);
        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("hello.pdf"));
        document.open();

        PdfContentByte cb = writer.getDirectContent();

        Image barcodeimage = code128.createImageWithBarcode(cb, Color.BLACK, Color.WHITE);
        document.add(barcodeimage);

        document.close();

    }

}

使用最小值setX(1f);可以看出差异。

于 2013-04-19T09:21:09.690 回答