你的位置:首页 > Java教程

[Java教程]java用Itext生成条形码和二维码


JAVA使用Itext生成条形码、二维码。

使用jar包:itext-2.0.1.jar

条形码相关代码:

1.String strInfo="9009090909"; 2.     3.int barCodeWidth=150; 4.int barCodeHeight=60; 5.int HEIGHT_SPACE = 20;   6.     7.//图片宽度   8.int imageWidth = barCodeWidth;   9.// 图片高度   10.int imageHeight = barCodeHeight + HEIGHT_SPACE ;  11.     12.BufferedImage img = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB); 13. 14.Graphics2D g = (Graphics2D) img.getGraphics();  15.g.fillRect(0, 0, imageWidth, imageHeight);  16. 17.Font font = new java.awt.Font("", java.awt.Font.PLAIN, 12);  18.     19.Barcode128 barcode128 = new Barcode128(); 20.     21.FontRenderContext fontRenderContext = g.getFontRenderContext();  22.     23.//条形码(文字)的高度   24.int stringHeight = (int) font.getStringBounds("",fontRenderContext).getHeight();   25.// 图片横坐标开始位置   26.int startX = 0;   27.// 图片纵坐标开始位置   28.int imageStartY = 0;   29.int stringStartY = imageHeight-8;// 条形码(文字)开始位置  30.     31.int codeWidth = (int) font.getStringBounds(strInfo, fontRenderContext).getWidth(); 32.barcode128.setCode(strInfo); 33.java.awt.Image codeImg = barcode128.createAwtImage(Color.black, Color.white); 34. 35.g.drawImage(codeImg, startX, imageStartY, barCodeWidth, barCodeHeight, Color.white, null); 36. 37.//为图片添加条形码(文字),位置为条形码图片的下部居中 38.AttributedString ats = new AttributedString(strInfo);  39.ats.addAttribute(TextAttribute.FONT, font, 0, strInfo.length());  40.AttributedCharacterIterator iter = ats.getIterator(); 41. 42.// 设置条形码(文字)的颜色  43. g.setColor(Color.BLACK);   44.// 绘制条形码(文字)   45.g.drawString(iter, startX + (barCodeWidth - codeWidth) / 2, stringStartY);  46.g.dispose();  47. 48.ImageIO.write(img, "PNG",new File("D:\\33333.png")); 

二维码相关代码:

1.String strInfo="9009090909"; 2. 3.BarcodePDF417 barcodePDF417 = new BarcodePDF417(); 4. 5.barcodePDF417.setText(strInfo.getBytes("GBK")); 6. 7.//计算公式为:(17 * codeColumns +3)+18 8.//得到的这个值,正是二维码图片的宽度 9.barcodePDF417.setCodeColumns(7); 10.//二维码的内容也就是setText的值,内容越多,高度也会变高 11.//是一个动态的高 12.barcodePDF417.setYHeight(2); 13.barcodePDF417.setOptions(BarcodePDF417.PDF417_FIXED_COLUMNS | BarcodePDF417.PDF417_USE_ERROR_LEVEL); 14. 15.java.awt.Image pdfImg = barcodePDF417.createAwtImage(Color.black, Color.white); 16. 17.BufferedImage img = new BufferedImage( pdfImg.getWidth(null),pdfImg.getHeight(null), BufferedImage.TYPE_INT_RGB); 18. 19.Graphics g = img.createGraphics(); 20.g.drawImage(pdfImg, 0, 0, Color.WHITE, null); 21.g.dispose();  22. 23.ImageIO.write(img, "PNG",new File("D:\\33333.png")); 

获取【下载地址】 【新技术】现在最流行的java后台框架组合java springmvc mybaits mysql oracle html5 后台框架源码