Search in sources :

Example 1 with Barcode128

use of com.itextpdf.text.pdf.Barcode128 in project summer-bean by cn-cerc.

the class BarcodeDemo1 method createBarcode128.

public static void createBarcode128() throws IOException {
    Barcode128 code = new Barcode128();
    code.setCode(codeString);
    code.setAltText(codeString);
    Image codeImg = code.createAwtImage(Color.black, Color.white);
    BufferedImage img = new BufferedImage(450, 250, BufferedImage.TYPE_INT_RGB);
    // BufferedImage img = new BufferedImage(codeImg.getWidth(null),
    // codeImg.getHeight(null), BufferedImage.TYPE_INT_RGB);
    Graphics g = img.getGraphics();
    g.setColor(Color.white);
    g.fillRect(0, 0, 500, 300);
    // g.fillRect(0,0,codeImg.getWidth(null), codeImg.getHeight(null));
    g.drawImage(codeImg, 25, 10, 400, 200, Color.white, null);
    // g.drawImage(codeImg, 0, 0, codeImg.getWidth(null),
    // codeImg.getHeight(null), Color.white, null);
    /**
     ** 为图片添加条形码(文字),位置为条形码图片的下部居中 ***
     */
    Font font = new java.awt.Font("", java.awt.Font.PLAIN, 30);
    AttributedString ats = new AttributedString(codeString);
    ats.addAttribute(TextAttribute.FONT, font, 0, codeString.length());
    AttributedCharacterIterator iter = ats.getIterator();
    // 设置条形码(文字)的颜色为蓝色
    g.setColor(Color.BLUE);
    // 绘制条形码(文字)
    FontRenderContext fontRenderContext = ((Graphics2D) g).getFontRenderContext();
    int codeWidth = (int) font.getStringBounds(codeString, fontRenderContext).getWidth();
    g.drawString(iter, 25 + (400 - codeWidth) / 2, 235);
    /**
     **********
     */
    OutputStream os = new BufferedOutputStream(new FileOutputStream("d:/code128.png"));
    ImageIO.write(img, "PNG", os);
}
Also used : OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) BufferedOutputStream(java.io.BufferedOutputStream) Image(java.awt.Image) BufferedImage(java.awt.image.BufferedImage) BufferedImage(java.awt.image.BufferedImage) Font(java.awt.Font) AttributedCharacterIterator(java.text.AttributedCharacterIterator) Graphics2D(java.awt.Graphics2D) Graphics(java.awt.Graphics) Barcode128(com.itextpdf.text.pdf.Barcode128) AttributedString(java.text.AttributedString) FileOutputStream(java.io.FileOutputStream) FontRenderContext(java.awt.font.FontRenderContext) BufferedOutputStream(java.io.BufferedOutputStream)

Example 2 with Barcode128

use of com.itextpdf.text.pdf.Barcode128 in project summer-bean by cn-cerc.

the class BarcodeDemo2 method createPdf.

public void createPdf(String filename) throws IOException, DocumentException {
    BaseFont bf = null;
    Font fontChinese = null;
    try {
        // 使用iTextAsian.jar中的字体
        bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        // 使用Windows系统字体(TrueType)
        // BaseFont.createFont("C:/WINDOWS/Fonts/SIMYOU.TTF",
        // BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
        // 使用资源字体(ClassPath)
        // BaseFont.createFont("/SIMYOU.TTF",
        // BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
        fontChinese = new Font(bf, 12, Font.NORMAL);
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    // step 1
    Document document = new Document(new Rectangle(340, 842));
    // step 2
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    PdfContentByte cb = writer.getDirectContent();
    document.add(new Paragraph("各类条码生成范例:", fontChinese));
    // EAN 13
    document.add(new Paragraph("Barcode EAN.UCC-13"));
    BarcodeEAN codeEAN = new BarcodeEAN();
    codeEAN.setCode("4512345678906");
    document.add(new Paragraph("default:"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setGuardBars(false);
    document.add(new Paragraph("without guard bars"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBaseline(-1f);
    codeEAN.setGuardBars(true);
    document.add(new Paragraph("text above:"));
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBaseline(codeEAN.getSize());
    // UPC A
    document.add(new Paragraph("Barcode UCC-12 (UPC-A)"));
    codeEAN.setCodeType(Barcode.UPCA);
    codeEAN.setCode("785342304749");
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    // EAN 8
    document.add(new Paragraph("Barcode EAN.UCC-8"));
    codeEAN.setCodeType(Barcode.EAN8);
    codeEAN.setBarHeight(codeEAN.getSize() * 1.5f);
    codeEAN.setCode("34569870");
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    // UPC E
    document.add(new Paragraph("Barcode UPC-E"));
    codeEAN.setCodeType(Barcode.UPCE);
    codeEAN.setCode("03456781");
    document.add(codeEAN.createImageWithBarcode(cb, null, null));
    codeEAN.setBarHeight(codeEAN.getSize() * 3f);
    // EANSUPP
    document.add(new Paragraph("Bookland"));
    document.add(new Paragraph("ISBN 0-321-30474-8"));
    codeEAN.setCodeType(Barcode.EAN13);
    codeEAN.setCode("9781935182610");
    BarcodeEAN codeSUPP = new BarcodeEAN();
    codeSUPP.setCodeType(Barcode.SUPP5);
    codeSUPP.setCode("55999");
    codeSUPP.setBaseline(-2);
    BarcodeEANSUPP eanSupp = new BarcodeEANSUPP(codeEAN, codeSUPP);
    document.add(eanSupp.createImageWithBarcode(cb, null, BaseColor.BLUE));
    // CODE 128
    document.add(new Paragraph("Barcode 128"));
    Barcode128 code128 = new Barcode128();
    code128.setCode("0123456789 hello");
    document.add(code128.createImageWithBarcode(cb, null, null));
    code128.setCode("0123456789\uffffMy Raw Barcode (0 - 9)");
    code128.setCodeType(Barcode.CODE128_RAW);
    document.add(code128.createImageWithBarcode(cb, null, null));
    // Data for the barcode :
    String code402 = "24132399420058289";
    String code90 = "3700000050";
    String code421 = "422356";
    StringBuffer data = new StringBuffer(code402);
    data.append(Barcode128.FNC1);
    data.append(code90);
    data.append(Barcode128.FNC1);
    data.append(code421);
    Barcode128 shipBarCode = new Barcode128();
    shipBarCode.setX(0.75f);
    shipBarCode.setN(1.5f);
    shipBarCode.setSize(10f);
    shipBarCode.setTextAlignment(Element.ALIGN_CENTER);
    shipBarCode.setBaseline(10f);
    shipBarCode.setBarHeight(50f);
    shipBarCode.setCode(data.toString());
    document.add(shipBarCode.createImageWithBarcode(cb, BaseColor.BLACK, BaseColor.BLUE));
    // it is composed of 3 blocks whith AI 01, 3101 and 10
    Barcode128 uccEan128 = new Barcode128();
    uccEan128.setCodeType(Barcode.CODE128_UCC);
    uccEan128.setCode("(01)00000090311314(10)ABC123(15)060916");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.BLACK));
    uccEan128.setCode("0191234567890121310100035510ABC123");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.RED));
    uccEan128.setCode("(01)28880123456788");
    document.add(uccEan128.createImageWithBarcode(cb, BaseColor.BLUE, BaseColor.BLACK));
    // INTER25
    document.add(new Paragraph("Barcode Interleaved 2 of 5"));
    BarcodeInter25 code25 = new BarcodeInter25();
    code25.setGenerateChecksum(true);
    code25.setCode("41-1200076041-001");
    document.add(code25.createImageWithBarcode(cb, null, null));
    code25.setCode("411200076041001");
    document.add(code25.createImageWithBarcode(cb, null, null));
    code25.setCode("0611012345678");
    code25.setChecksumText(true);
    document.add(code25.createImageWithBarcode(cb, null, null));
    // POSTNET
    document.add(new Paragraph("Barcode Postnet"));
    BarcodePostnet codePost = new BarcodePostnet();
    document.add(new Paragraph("ZIP"));
    codePost.setCode("01234");
    document.add(codePost.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("ZIP+4"));
    codePost.setCode("012345678");
    document.add(codePost.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("ZIP+4 and dp"));
    codePost.setCode("01234567890");
    document.add(codePost.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("Barcode Planet"));
    BarcodePostnet codePlanet = new BarcodePostnet();
    codePlanet.setCode("01234567890");
    codePlanet.setCodeType(Barcode.PLANET);
    document.add(codePlanet.createImageWithBarcode(cb, null, null));
    // CODE 39
    document.add(new Paragraph("Barcode 3 of 9"));
    Barcode39 code39 = new Barcode39();
    code39.setCode("ITEXT IN ACTION");
    document.add(code39.createImageWithBarcode(cb, null, null));
    document.add(new Paragraph("Barcode 3 of 9 extended"));
    Barcode39 code39ext = new Barcode39();
    code39ext.setCode("iText in Action");
    code39ext.setStartStopText(false);
    code39ext.setExtended(true);
    document.add(code39ext.createImageWithBarcode(cb, null, null));
    // CODABAR
    document.add(new Paragraph("Codabar"));
    BarcodeCodabar codabar = new BarcodeCodabar();
    codabar.setCode("A123A");
    codabar.setStartStopText(true);
    document.add(codabar.createImageWithBarcode(cb, null, null));
    // PDF417
    document.add(new Paragraph("Barcode PDF417"));
    BarcodePDF417 pdf417 = new BarcodePDF417();
    String text = "Call me Ishmael. Some years ago--never mind how long " + "precisely --having little or no money in my purse, and nothing " + "particular to interest me on shore, I thought I would sail about " + "a little and see the watery part of the world.";
    pdf417.setText(text);
    Image img = pdf417.getImage();
    img.scalePercent(50, 50 * pdf417.getYHeight());
    document.add(img);
    document.add(new Paragraph("Barcode Datamatrix"));
    BarcodeDatamatrix datamatrix = new BarcodeDatamatrix();
    datamatrix.generate(text);
    img = datamatrix.createImage();
    document.add(img);
    document.add(new Paragraph("Barcode QRCode"));
    BarcodeQRCode qrcode = new BarcodeQRCode("http://www.mimrc.com", 1, 1, null);
    img = qrcode.getImage();
    document.add(img);
    // step 5
    document.close();
}
Also used : BarcodeEANSUPP(com.itextpdf.text.pdf.BarcodeEANSUPP) PdfWriter(com.itextpdf.text.pdf.PdfWriter) BarcodeQRCode(com.itextpdf.text.pdf.BarcodeQRCode) BarcodeInter25(com.itextpdf.text.pdf.BarcodeInter25) BarcodePDF417(com.itextpdf.text.pdf.BarcodePDF417) Rectangle(com.itextpdf.text.Rectangle) IOException(java.io.IOException) Document(com.itextpdf.text.Document) BarcodePostnet(com.itextpdf.text.pdf.BarcodePostnet) Image(com.itextpdf.text.Image) Font(com.itextpdf.text.Font) BaseFont(com.itextpdf.text.pdf.BaseFont) BarcodeCodabar(com.itextpdf.text.pdf.BarcodeCodabar) Paragraph(com.itextpdf.text.Paragraph) Barcode39(com.itextpdf.text.pdf.Barcode39) Barcode128(com.itextpdf.text.pdf.Barcode128) BarcodeEAN(com.itextpdf.text.pdf.BarcodeEAN) DocumentException(com.itextpdf.text.DocumentException) FileOutputStream(java.io.FileOutputStream) BarcodeDatamatrix(com.itextpdf.text.pdf.BarcodeDatamatrix) BaseFont(com.itextpdf.text.pdf.BaseFont) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte)

Example 3 with Barcode128

use of com.itextpdf.text.pdf.Barcode128 in project summer-bean by cn-cerc.

the class Barcode128Template method output.

@Override
public void output(Document document, PdfWriter writer) throws DocumentException, IOException {
    PdfContentByte cb = writer.getDirectContent();
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    // 设置中文字体和字体样式
    Font f8 = new Font(bfChinese, fontSize, Font.NORMAL);
    DataSet dataSet = this.getDataSet();
    dataSet.first();
    while (dataSet.fetch()) {
        // 条码信息
        Barcode128 code128 = new Barcode128();
        code128.setBarHeight(barHeight);
        String code = dataSet.getString("Code_");
        code128.setCode(code);
        // 反算条码宽度
        int length = code.length();
        float x = 125 / ((length + 2) * 11 + 2f);
        code128.setX(x);
        document.add(code128.createImageWithBarcode(cb, null, null));
        // 描述信息
        Paragraph paragraph = new Paragraph(dataSet.getString("Name_"), f8);
        paragraph.setAlignment(Element.ALIGN_CENTER);
        document.add(paragraph);
    }
}
Also used : Barcode128(com.itextpdf.text.pdf.Barcode128) DataSet(cn.cerc.jdb.core.DataSet) BaseFont(com.itextpdf.text.pdf.BaseFont) PdfContentByte(com.itextpdf.text.pdf.PdfContentByte) Font(com.itextpdf.text.Font) BaseFont(com.itextpdf.text.pdf.BaseFont) Paragraph(com.itextpdf.text.Paragraph)

Aggregations

Barcode128 (com.itextpdf.text.pdf.Barcode128)3 Font (com.itextpdf.text.Font)2 Paragraph (com.itextpdf.text.Paragraph)2 BaseFont (com.itextpdf.text.pdf.BaseFont)2 PdfContentByte (com.itextpdf.text.pdf.PdfContentByte)2 FileOutputStream (java.io.FileOutputStream)2 DataSet (cn.cerc.jdb.core.DataSet)1 Document (com.itextpdf.text.Document)1 DocumentException (com.itextpdf.text.DocumentException)1 Image (com.itextpdf.text.Image)1 Rectangle (com.itextpdf.text.Rectangle)1 Barcode39 (com.itextpdf.text.pdf.Barcode39)1 BarcodeCodabar (com.itextpdf.text.pdf.BarcodeCodabar)1 BarcodeDatamatrix (com.itextpdf.text.pdf.BarcodeDatamatrix)1 BarcodeEAN (com.itextpdf.text.pdf.BarcodeEAN)1 BarcodeEANSUPP (com.itextpdf.text.pdf.BarcodeEANSUPP)1 BarcodeInter25 (com.itextpdf.text.pdf.BarcodeInter25)1 BarcodePDF417 (com.itextpdf.text.pdf.BarcodePDF417)1 BarcodePostnet (com.itextpdf.text.pdf.BarcodePostnet)1 BarcodeQRCode (com.itextpdf.text.pdf.BarcodeQRCode)1