本文介绍如何通过Java程序在PDF文档中添加条码和二维码。创建条码时,可创建多种不同类型的条码,包括Codebar、Code11、Code128A、Code128B、Code32、Code39、Code39 Extended 、Code93和Code93 Extended等等,本文以其中的Codebar、Code128A和Code39为例介绍创建方法,可通过参考此方法创建其他类型的条码。
本文中的程序测试环境包括:
- IDEA
- JDK 1.8.0
- Spire.Office.jar
注:jar导入,可通过创建Maven程序项目,并在pom.xml中配置Maven仓库路径,并指定Free Spire.Office for Java的Maven依赖,点击“Import Changes”即可导入JAR包。(如果使用的Eclipse, 点击保存按钮导入),配置如下:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.office.free</artifactId> <version>3.1.1</version> </dependency> </dependencies>
另外,也可通过下载jar包,手动导入Spire.Office.jar到Java程序。
Java代码
import com.spire.barcode.*; import com.spire.pdf.*; import com.spire.pdf.barcode.*; import com.spire.pdf.graphics.*; import java.awt.*; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; public class AddBarcodeInPDF { public static void main(String[] args) { //创建PdfDocument对象 PdfDocument pdf = new PdfDocument(); //添加一页 PdfPageBase page = pdf.getPages().add(); //初始化y变量 double y = 15; //创建字体 PdfFont font= new PdfFont(PdfFontFamily.Helvetica, 12,PdfFontStyle.Bold); // 绘制文本“Codebar:”到PDF,并绘制Codebar条码到PDF PdfTextWidget text = new PdfTextWidget(); text.setFont(font); text.setText("Codebar:"); PdfLayoutResult result = text.draw(page, 0, y); y =(float)(result.getBounds().getY()+ result.getBounds().getHeight() + 2); PdfCodabarBarcode codebar= new PdfCodabarBarcode("00:12-3456/7890");//创建条码 codebar.setBarcodeToTextGapHeight(1f); codebar.setBarHeight(25f); codebar.setEnableCheckDigit(true); codebar.setShowCheckDigit(true); codebar.setTextDisplayLocation(TextLocation.Bottom); PdfRGBColor blue = new PdfRGBColor(Color.blue); codebar.setTextColor(blue); Point2D.Float point = new Point2D.Float(); point.setLocation(0,y); codebar.draw(page,point);//绘制条码到PDF页面 y = codebar.getBounds().getY()+ codebar.getBounds().getHeight() + 5; //绘制文本“Code128-A:”到PDF,并绘制Code128A条码到PDF text.setText("Code128-A:"); result = text.draw(page, 0, y); page = result.getPage(); y =result.getBounds().getY()+ result.getBounds().getHeight() + 2; PdfCode128ABarcode code128 = new PdfCode128ABarcode("HELLO 00-123"); code128.setBarcodeToTextGapHeight(1f); code128.setBarHeight(25f); code128.setTextDisplayLocation(TextLocation.Bottom); code128.setTextColor(blue); point.setLocation(point.x,y); code128.draw(page, point); y =code128.getBounds().getY()+ code128.getBounds().getHeight() + 5; //绘制文本“Code39”到PDF,绘制Code39条形码到PDF text.setText("Code39:"); result = text.draw(page, 0, y); page = result.getPage(); y =result.getBounds().getY()+ result.getBounds().getHeight() + 2; PdfCode39Barcode code39 = new PdfCode39Barcode("16-273849");//绘制条码 code39.setBarcodeToTextGapHeight(1f); code39.setBarHeight(25f); code39.setTextDisplayLocation(TextLocation.Bottom); code39.setTextColor(blue); point.setLocation(point.x,y); code39.draw(page, point);//绘制条码到PDF页面 //生成二维码图片,绘制到PDF页面 text.setText("QRCode:");//绘制文本“QR Code:”到PDF result = text.draw(page, 200, 0); page = result.getPage(); BarcodeSettings settings = new BarcodeSettings();//创建二维码图形 settings.setType(BarCodeType.QR_Code); settings.setData("123456789"); settings.setData2D("123456789"); settings.setX(1f); settings.setLeftMargin(0); settings.setShowTextOnBottom(true); settings.setQRCodeECL(QRCodeECL.Q); settings.setQRCodeDataMode(QRCodeDataMode.Numeric); BarCodeGenerator generator = new BarCodeGenerator(settings); Image image = generator.generateImage(); PdfImage pdfImage = PdfImage.fromImage((BufferedImage)image);//绘制二维码图片到PDF y = result.getBounds().getY()+ result.getBounds().getHeight() + 2; page.getCanvas().drawImage(pdfImage,200,y); //保存PDF文档 pdf.saveToFile("添加条码、二维码.pdf"); pdf.dispose(); } }
相关推荐
本文介绍如何通过Java程序在PDF文档中添加条码和二维码。创建条码时,可创建多种不同类型的条码,包括Codebar、Code11、Code128A、Code128B、Code32、Code39、Code39 Extended 、Code93和Code93 Extended等等,本文...
添加条码、二维码;字体设置;文本框等。 2.应用场景:Word文档创建、编辑、转换、预览及保存等需求的程序设计、系统等。 3.适用人群:所有(包括初学者及任何用途的程序发布等) 4.特点:纯后端代码实现接口调用。...
条形码的标准有ENA条形码、UPC条形码、二五条形码、交叉二五条形码、库德巴条形码、三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码。EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,...
zxing是由google开源的1D/2D编解码类库,文档比较全面,能够生成条形码也能够生成二维码。 1.使用barcode4j生成/解析条形码 一维码用的比较多的编码是CODE39,CDDE128,GTIN-13(EAN13)、GTIN-14(ITF14)、GTIN-8(EAN8)...
条形码的标准有ENA条形码、UPC条形码、二五条形码、交叉二五条形码、库德巴条形码、三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码。EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2....二维码、条形码 - 10.web
工作5年精心整理_Java常用工具类源码 收集了java项目开中常用的工具操作类,方法非常全,可应用在大部份java 项目中。 ...二维码、条形码 - 10.web Java常用工具类大全,工作5年精心整理(最新版)
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2....二维码、条形码 - 10.web
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2....二维码、条形码 - 10.web
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2....二维码、条形码 - 10.web
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2....二维码、条形码 - 10.web
布局打印模版:通过拖拉拽的方式布局打印元素,目前支持的打印元素有线条、文本、图片、条码、二维码、HTML html元素在打印时控件可根据尺寸进行分页,其他元素则会在每页重复显示。 js代码与打印控件交互使用http...