JAVA使用Itext生成条形码、二维码。
使用jar包:itext-2.0.1.jar
条形码相关代码:
String strInfo="9009090909";
int barCodeWidth=150;
int barCodeHeight=60;
int HEIGHT_SPACE = 20;
//图片宽度
int imageWidth = barCodeWidth;
// 图片高度
int imageHeight = barCodeHeight + HEIGHT_SPACE ;
BufferedImage img = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) img.getGraphics();
g.fillRect(0, 0, imageWidth, imageHeight);
Font font = new java.awt.Font("", java.awt.Font.PLAIN, 12);
Barcode128 barcode128 = new Barcode128();
FontRenderContext fontRenderContext = g.getFontRenderContext();
//条形码(文字)的高度
int stringHeight = (int) font.getStringBounds("",fontRenderContext).getHeight();
// 图片横坐标开始位置
int startX = 0;
// 图片纵坐标开始位置
int imageStartY = 0;
int stringStartY = imageHeight-8;// 条形码(文字)开始位置
int codeWidth = (int) font.getStringBounds(strInfo, fontRenderContext).getWidth();
barcode128.setCode(strInfo);
java.awt.Image codeImg = barcode128.createAwtImage(Color.black, Color.white);
g.drawImage(codeImg, startX, imageStartY, barCodeWidth, barCodeHeight, Color.white, null);
//为图片添加条形码(文字),位置为条形码图片的下部居中
AttributedString ats = new AttributedString(strInfo);
ats.addAttribute(TextAttribute.FONT, font, 0, strInfo.length());
AttributedCharacterIterator iter = ats.getIterator();
// 设置条形码(文字)的颜色
g.setColor(Color.BLACK);
// 绘制条形码(文字)
g.drawString(iter, startX + (barCodeWidth - codeWidth) / 2, stringStartY);
g.dispose();
ImageIO.write(img, "PNG",new File("D:\\33333.png"));
二维码相关代码:
String strInfo="9009090909";
BarcodePDF417 barcodePDF417 = new BarcodePDF417();
barcodePDF417.setText(strInfo.getBytes("GBK"));
//计算公式为:(17 * codeColumns +3)+18
//得到的这个值,正是二维码图片的宽度
barcodePDF417.setCodeColumns(7);
//二维码的内容也就是setText的值,内容越多,高度也会变高
//是一个动态的高
barcodePDF417.setYHeight(2);
barcodePDF417.setOptions(BarcodePDF417.PDF417_FIXED_COLUMNS | BarcodePDF417.PDF417_USE_ERROR_LEVEL);
java.awt.Image pdfImg = barcodePDF417.createAwtImage(Color.black, Color.white);
BufferedImage img = new BufferedImage( pdfImg.getWidth(null),pdfImg.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = img.createGraphics();
g.drawImage(pdfImg, 0, 0, Color.WHITE, null);
g.dispose();
ImageIO.write(img, "PNG",new File("D:\\33333.png"));
分享到:
相关推荐
首先,iText5是一款强大的Java库,主要用于创建和编辑PDF文档,而ZXing(Zebra Crossing)是一个开源的条码读取库,支持多种条码格式,包括二维码。QRCore是ZXing的一个轻量级版本,专为Android平台设计,简化了在...
iTextPDF库也提供了`BarCode128`或`BarCodeQRCode`类来生成条形码和二维码。以下是一个生成条形码的例子: ```java Barcode128 code128 = new Barcode128(); code128.setCode("1234567890"); Image image = ...
Java生成条码并将其保存在PDF上的技术是一个实用的编程任务,常见于自动化文档处理、库存管理和产品标签等领域。在本示例中,我们将探讨如何使用Java实现这一功能,并涉及如何添加水印以增强PDF的安全性和标识性。 ...
最近项目中要用到征信授权的交易,需要生成pdf+二维码样式的pdf文件,供业务人员查看,不得已就网上查找改造了一把,本人需求是有样板pdf,往样板pdf中插入二维码影像,二维码位置大小可以自己改参数调整。...
二维码生成及黏贴到PDF上的技术涉及到多个IT领域的知识点,主要涵盖二维码的生成原理、Java编程、PDF处理和文件操作。下面将详细讲解这些内容。 首先,二维码(QR Code)是一种二维条形码,用于存储信息,如网址、...
7. `barcodes` - 支持生成条形码和二维码。 8. `font-asian` - 为亚洲语言(如中文、日文、韩文)提供字体支持。 9. `hyph` - 提供了断词处理,对于多语种文档特别有用。 接下来,让我们看一个简单的 iText 使用...
这篇教程将探讨如何使用PDF库(如iTextPDF)和二维码生成库(如ZXing)在已有的PDF模板上插入二维码图片,然后将其保存到本地。以下是你需要了解的关键知识点: 1. **iTextPDF**: iTextPDF是一款强大的Java库,...
在这个“java生成二维码与iReport报表pdf中文显示包”中,我们主要关注两个关键知识点:Java生成二维码和使用iReport设计并显示中文报表。 首先,让我们深入了解Java生成二维码。二维码(Quick Response Code)是一...
总结来说,Java Web开发中的二维码生成器和PDF生成器是两种强大的工具。它们使得开发者能够轻松地创建二维码以存储和传递信息,并且能够构建高质量的PDF文档。这些功能在电子商务、报告生成、用户手册等多种场景中都...
总的来说,这个压缩包提供的资源展示了如何在Java环境中利用模板和第三方库来动态生成包含文本、图片、条形码和二维码的PDF文件。这是一项在Web应用中广泛采用的技术,对于提高自动化文档生成的效率和一致性具有重要...
在Java中,生成条形码和二维码可以借助第三方库,如ZXing(Zebra Crossing)和Apache Commons Barcode。ZXing是一个开源的多格式一维/二维条码图像处理库,而Apache Commons Barcode则专注于一维条形码的生成。在这...
总而言之,Java结合iText库可以实现一套完整的PDF处理方案,包括电子签字、盖章、防伪二维码、水印和文件加密,为PDF的安全使用提供了强大的支持。在实际项目中,这些功能可以根据业务需求进行灵活组合和定制,以...
在Java编程语言中,生成和解析二维码是一种常见的需求,特别是在移动应用、网站链接分享和物联网设备通讯中。本文将深入探讨如何使用Java实现二维码(QR Code)实例,并结合提供的资源"ErWeiMa"来理解其具体操作。 ...
5. 条形码和二维码:IText可以生成和嵌入条形码和二维码到PDF文档中。 6. 文本和布局:支持复杂的文本布局和样式控制,如字体、颜色、对齐方式等。 7. 版本兼容:IText有多个版本,如IText5和IText7,每个版本都有其...
ZXing,全称为"Zebra Crossing",是一个开源的、多平台的条码读取库,支持多种格式的条码和二维码生成与解码。在本项目中,我们将探讨如何使用ZXing.jar这个工具来生成二维码图片,并进一步将其转换为A4大小的PDF...
结合标签中的`com.google.zxing`和`com.lowagie`,我们可以推测这个压缩包可能包含了一个使用ZXing库进行二维码生成,并利用iText进行输出和格式化的Java程序。`com.google.zxing`是ZXing库的包名,而`com.lowagie`...
ZXing支持QR码(Quick Response Code)和其他多种条码格式的读取、生成和解码。在电子发票场景中,二维码常用于存储发票的元数据,如发票号、金额等,便于机器快速识别和处理。 在"ExtractQrcode.java"文件中,我们...
6. **iText7-barcodes-7.0.2.jar**:支持生成各种类型的条形码和二维码,方便信息的快速识别和传递。 7. **iText7-sign-7.0.2.jar**:用于PDF文档的数字签名和认证,确保文档的安全性和完整性。 8. **iText7-forms...
ZXing提供了各种格式的条形码和二维码处理能力,包括QR码、Data Matrix、UPC和EAN等。在给定的压缩包中,包含了三个版本的ZXing库:zxing-3.3.2、zxing-core-2.1和zxing-javase-2.1。这些文件是Java开发中用于二维码...