java用Itext生成条形码跟二维码
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 后台框架源码