ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java添加条形码到PDF表格

2022-06-07 14:32:00  阅读:177  来源: 互联网

标签:条形码 Java barcode spire grid import PDF pdf


条码的应用已深入生活和工作的方方面面。在处理条码时,常需要和各种文档格式相结合。当需要在文档中插入、编辑或者删除条码时,可借助于一些专业的类库工具来实现。本文,以操作PDF文件为例,介绍如何在编辑表格时,向单元格中添加条形码。

 


 

【程序环境】

本次功能测试中,使用 Free Spire.PDF for Java

实现功能的大致思路:生成条形码,将条形码保存为图片,然后在PDF中的表格单元格中插入条码图片。

Spire.PDF for Java 中的Spire.Pdf.Barcode Package提供了多种Barcode类型,可用于创建不同类型的barcode,如图:

jar导入:

可按照如下方法来导入Spire.Pdf.jar 版本:5.1.0

方法1:将 Free Spire.PDF for Java 包下载到本地,解压,找到lib文件夹下的Spire.Pdf.jar文件。然后在IDEA中打开“Project Structure”界面,然后执行如图步骤来手动导入本地路径下的jar文件:

方法2:通过Maven仓库下载导入,如下配置pom.xml:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

下面,通过Java代码示例展示如何实现添加条形码到PDF中的表格。

 


 

【代码示例】

Java

import com.spire.pdf.*;
import com.spire.pdf.barcode.PdfCodabarBarcode;
import com.spire.pdf.barcode.TextLocation;
import com.spire.pdf.graphics.PdfBrushes;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfRGBColor;
import com.spire.pdf.graphics.PdfTrueTypeFont;
import com.spire.pdf.grid.PdfGrid;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class AddBarcodeToTable {
    public static void main(String[] args)throws IOException {
        //创建PDF文档
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.getPages().add();

        //创建PdfGrid类的表格对象
        PdfGrid grid = new PdfGrid();
        grid.getStyle().setCellPadding(new PdfPaddings(5,5,3,3));
        grid.getStyle().setFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN,10), true));
        grid.getStyle().setTextBrush(PdfBrushes.getBlack());

        //定义数据
        String[] data = {"产品代码;批次;交易单号;订单条码",
                "A1024;一批次;ORD10610; ;",
        };
        String[][] dataSource = new String[data.length][];
        for (int i = 0; i < data.length; i++) {
            dataSource[i] = data[i].split("[;]");
        }
        //填充数据到表格
        grid.setDataSource(dataSource);

        //创建条形码
        PdfCodabarBarcode barcode = new PdfCodabarBarcode("00:12-3456/7890");
        barcode.setBarcodeToTextGapHeight(1f);
        barcode.setNarrowBarWidth(2);
        barcode.setEnableCheckDigit(true);
        barcode.setShowCheckDigit(true);
        barcode.setTextDisplayLocation(TextLocation.Bottom);
        PdfRGBColor blue = new PdfRGBColor(Color.blue);
        barcode.setTextColor(blue);

        //将条码保存为.png图片并添加到单元格
        BufferedImage bufferedImage = barcode.toImage();
        ImageIO.write(bufferedImage, "png", new File("F:\\IDEAProject\\Table_PDF\\CODE128.png"));
        grid.getRows().get(1).getCells().get(3).getStyle().setBackgroundImage(PdfImage.fromFile("CODE128.png"));
        grid.getRows().get(1).setHeight(50f);
        grid.getColumns().get(3).setWidth(120f);

        //绘制表格到页面指定位置
        grid.draw(page, 50, 100);

        //保存PDF文档
        pdf.saveToFile("AddBarcodeToTable.pdf",FileFormat.PDF);
        pdf.dispose();
    }
}

文档效果:

 

 

★ 阅读推荐:C#/VB.NET 在PDF表格中添加条形码

 

—END—

 

标签:条形码,Java,barcode,spire,grid,import,PDF,pdf
来源: https://www.cnblogs.com/Yesi/p/16351636.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有