龙空技术网

Java添加条形码到PDF表格

Java互联网技术栈 128

前言:

眼前同学们对“vbnet生成条形码”大概比较重视,看官们都需要学习一些“vbnet生成条形码”的相关内容。那么小编也在网上搜集了一些关于“vbnet生成条形码””的相关资讯,希望兄弟们能喜欢,朋友们快快来了解一下吧!

条码的应用已深入生活和工作的方方面面。在处理条码时,常需要和各种文档格式相结合。当需要在文档中插入、编辑或者删除条码时,可借助于一些专业的类库工具来实现。本文,以操作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>;/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—

标签: #vbnet生成条形码