如何设置iText条码宽度?

时间:2013-04-19 09:08:46

标签: java itext barcode

我需要设置iText生成的条形码宽度。我正在使用此代码:

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

有没有办法在不缩放结果图像的情况下设置宽度?

1 个答案:

答案 0 :(得分:7)

使用它来设置BarCode的宽度

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);的最小值可以看出差异。