`

Java 添加条码、二维码到PDF文档

阅读更多

本文介绍如何通过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();
    }
}

 

 

 

 

0
1
分享到:
评论

相关推荐

    Java 添加条码、二维码到PDF文档.docx

    在Java编程环境中,生成带有条码和二维码的PDF文档是一项常见的任务,特别是在自动化报告或数据交换的场景下。本文将详细讲解如何利用Java程序在PDF文档中添加条码,特别是Codebar、Code128A和Code39类型。为了实现...

    二维码生成以及黏贴到pdf上

    二维码生成及黏贴到PDF上的技术涉及到多个IT领域的知识点,主要涵盖二维码的生成原理、Java编程、PDF处理和文件操作。下面将详细讲解这些内容。 首先,二维码(QR Code)是一种二维条形码,用于存储信息,如网址、...

    Java 生成条码 保存在pdf上例子(亲测)

    这个过程展示了如何在Java中生成条码并将其保存到PDF文件中,同时添加水印。实践中,你可能需要根据具体需求调整代码,比如改变条码尺寸、颜色、位置以及水印的样式和透明度。理解这些基本步骤后,你可以灵活地定制...

    itextpdf按模版导出PDF(表单,表格,条码,二维码)

    在这个场景中,我们将探讨如何使用iTextPDF来根据模板生成包含表单、表格、条形码和二维码的PDF文档。以下是一个详细的步骤和知识点介绍: 1. **引入iTextPDF库** 首先,你需要在你的项目中添加iTextPDF依赖。如果...

    完整的利用itext5、zxing、QRCore制作pdf、二维码图片插入pdf,并解析pdf中的二维码信息

    首先,iText5是一款强大的Java库,主要用于创建和编辑PDF文档,而ZXing(Zebra Crossing)是一个开源的条码读取库,支持多种条码格式,包括二维码。QRCore是ZXing的一个轻量级版本,专为Android平台设计,简化了在...

    java实现pdf文件的电子签字+盖章+防伪二维码+水印+PDF文件加密

    使用Java的ZXing库(Zebra Crossing)可以生成二维码,然后将其集成到PDF中。iText库提供了将图像插入PDF的方法,可以将生成的二维码图片插入到PDF的合适位置。 **水印** 水印通常用于标记PDF的所有权或版权,可以...

    二维码生成器和pdf生成器

    它们使得开发者能够轻松地创建二维码以存储和传递信息,并且能够构建高质量的PDF文档。这些功能在电子商务、报告生成、用户手册等多种场景中都有广泛应用。下载提供的jar包并参考示例,你可以快速地在自己的项目中...

    java生成二维码(文档+代码)

    提供的`如何使用Java、Servlet创建二维码.pdf`文档应该详细介绍了如何集成Zxing库到Java项目中,以及如何在Servlet中使用这些功能。这份文档通常会涵盖二维码的配置参数、错误处理以及实际应用中的最佳实践。 5. *...

    Python zxing 库(条形码二维码识别)

    总结,Python ZXing库提供了一种方便的方式来集成二维码和条形码识别功能到Python项目中,它允许开发者利用强大的ZXing库来处理各种类型的条码和二维码,无需编写复杂的图像处理代码。通过理解和熟练使用这个库,...

    使用pdf+zxing+itextpdf 使用已有的pdf模板 插入二维码图片,并下载到本地

    接着,你可以使用iTextPDF的`Image`类将这个图像转换成PDF可识别的格式,并添加到PDF文档的特定位置。 4. **PDF模板**: 在已有的PDF模板上插入二维码,意味着你需要定位到模板中的特定页面和坐标。iTextPDF提供了...

    JAVA根据PDF模板生成PDF文件.rar

    iText允许开发者创建、编辑和修改PDF文档,包括插入文本、图片、条形码和二维码。在这个例子中,`PdfUtilsPic.java`可能实现了从模板中读取元素,并将动态数据插入到相应位置的方法。 在`M8.pdf`模板文件中,我们...

    生成PDF417条码的JAVA包

    Java包提供的功能是生成PDF417条码,这对于需要在应用程序中集成条码生成能力的开发者来说非常有用。 此Java包包含了反编译和原始文件,这表明它可能是一个开源项目,允许用户查看和修改源代码以适应特定需求。反...

    itext生成PDF开发文档

    7. `barcodes` - 支持生成条形码和二维码。 8. `font-asian` - 为亚洲语言(如中文、日文、韩文)提供字体支持。 9. `hyph` - 提供了断词处理,对于多语种文档特别有用。 接下来,让我们看一个简单的 iText 使用...

    java生成二维码与iReport报表pdf中文显示包

    二维码(Quick Response Code)是一种二维条形码,可以存储大量的文本、数字、网址等信息。在Java中,我们可以利用开源库如ZXing(Zebra Crossing)来生成二维码。ZXing提供了一个完整的框架,支持读取、生成多种一...

    LZ玉米,二维码和PDF相关demo

    这个"Demo01"压缩包文件似乎提供了一个实例,展示了如何将PDF文档中的数据提取出来,生成二维码,并将这些二维码与原始数据一起整合回PDF文件中。以下是对这一过程的详细解释: 首先,我们要理解PDF(Portable ...

    二维码条形码解析插件

    总的来说,"二维码条形码解析插件"是基于ZXing的强大工具,为开发者提供了一站式的解决方案,简化了条码和二维码在各领域的应用。无论是零售行业的库存管理,还是移动应用中的交互设计,都能从中受益。通过深入理解...

    识别电子发票、处理pdf文件及二维码识别

    `ZXing`(Zebra Crossing)是一个开源的二维码和条形码读取库,支持多种编程语言,包括Java和.NET。使用`ZXing`,开发者可以轻易地从图像中读取二维码,获取其包含的数据,进一步处理这些信息,例如验证发票的真伪...

    zXing.jar生成二维码并下载到pdf

    在本项目中,我们将探讨如何使用ZXing.jar这个工具来生成二维码图片,并进一步将其转换为A4大小的PDF文档,最后实现PDF的下载。 首先,我们需要了解ZXing库的基本用法。ZXing提供了Java API,可以方便地在Java环境...

    Jaspersoft生成条形码所需jar包

    Jaspersoft是一个功能强大的商业智能和报表工具,它提供了丰富的API和组件,使得开发者能够轻松地在PDF文档中集成条形码。本篇文章将深入探讨如何使用Jaspersoft与特定的jar包来实现这一功能。 首先,我们需要了解`...

    java生成二维码

    二维码(Quick Response Code)是一种二维条形码,能够存储大量的文本、URL、联系人信息等,并且可以被快速扫描读取。在Java中生成二维码,我们可以利用开源库如`com.google.zxing`(ZXing,意为“Zebra Crossing”...

Global site tag (gtag.js) - Google Analytics