最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)添加條形碼到PDF表格的方法詳解

 更新時間:2022年06月07日 14:52:43   作者:E-iceblue  
條碼的應(yīng)用已深入生活和工作的方方面面。本文以操作PDF文件為例,介紹如何利用Java語言在編輯表格時,向單元格中添加條形碼,感興趣的可以學(xué)習(xí)一下

條碼的應(yīng)用已深入生活和工作的方方面面。在處理條碼時,常需要和各種文檔格式相結(jié)合。當(dāng)需要在文檔中插入、編輯或者刪除條碼時,可借助于一些專業(yè)的類庫工具來實(shí)現(xiàn)。本文,以操作PDF文件為例,介紹如何在編輯表格時,向單元格中添加條形碼。

程序環(huán)境

本次功能測試中,使用 Free Spire.PDF for Java

實(shí)現(xiàn)功能的大致思路:生成條形碼,將條形碼保存為圖片,然后在PDF中的表格單元格中插入條碼圖片。

Spire.PDF for Java 中的Spire.Pdf.Barcode Package提供了多種Barcode類型,可用于創(chuàng)建不同類型的barcode,如圖:

jar導(dǎo)入:

可按照如下方法來導(dǎo)入Spire.Pdf.jar 版本:5.1.0

方法1:將 Free Spire.PDF for Java 包下載到本地,解壓,找到lib文件夾下的Spire.Pdf.jar文件。然后在IDEA中打開“Project Structure”界面,然后執(zhí)行如圖步驟來手動導(dǎo)入本地路徑下的jar文件:

方法2:通過Maven倉庫下載導(dǎo)入,如下配置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代碼示例展示如何實(shí)現(xiàn)添加條形碼到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 {
        //創(chuàng)建PDF文檔
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.getPages().add();

        //創(chuàng)建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());

        //定義數(shù)據(jù)
        String[] data = {"產(chǎn)品代碼;批次;交易單號;訂單條碼",
                "A1024;一批次;ORD10610; ;",
        };
        String[][] dataSource = new String[data.length][];
        for (int i = 0; i < data.length; i++) {
            dataSource[i] = data[i].split("[;]");
        }
        //填充數(shù)據(jù)到表格
        grid.setDataSource(dataSource);

        //創(chuàng)建條形碼
        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();
    }
}

文檔效果:

到此這篇關(guān)于Java實(shí)現(xiàn)添加條形碼到PDF表格的方法詳解的文章就介紹到這了,更多相關(guān)Java添加條形碼到PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于JwtToken使用-重點(diǎn)看一下過期時間

    關(guān)于JwtToken使用-重點(diǎn)看一下過期時間

    這篇文章主要介紹了關(guān)于JwtToken使用-重點(diǎn)看一下過期時間,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • springboot2.X整合prometheus監(jiān)控的實(shí)例講解

    springboot2.X整合prometheus監(jiān)控的實(shí)例講解

    這篇文章主要介紹了springboot2.X整合prometheus監(jiān)控的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Java實(shí)現(xiàn)調(diào)用MySQL存儲過程詳解

    Java實(shí)現(xiàn)調(diào)用MySQL存儲過程詳解

    相信大家都知道存儲過程是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL語句集。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。Java調(diào)用mysql存儲過程,實(shí)現(xiàn)如下,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Java 添加、刪除、替換、格式化Word中的文本的步驟詳解(基于Spire.Cloud.SDK for Java)

    Java 添加、刪除、替換、格式化Word中的文本的步驟詳解(基于Spire.Cloud.SDK for Java)

    這篇文章主要介紹了Java 添加、刪除、替換、格式化Word中的文本(基于Spire.Cloud.SDK for Java),本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • java正則表達(dá)式匹配所有數(shù)字的案例

    java正則表達(dá)式匹配所有數(shù)字的案例

    這篇文章主要介紹了java正則表達(dá)式匹配所有數(shù)字的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • java?process.waitfor返回1的原因及解決

    java?process.waitfor返回1的原因及解決

    這篇文章主要介紹了java?process.waitfor返回1的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JAVA 深層拷貝 DeepCopy的使用詳解

    JAVA 深層拷貝 DeepCopy的使用詳解

    最近需要用到比較兩個對象屬性的變化,其中一個是oldObj,另外一個是newObj,oldObj是newObj的前一個狀態(tài),所以需要在newObj的某個狀態(tài)時,復(fù)制一個一樣的對象,由于JAVA不支持深層拷貝,因此專門寫了一個方法
    2013-07-07
  • Spring深入刨析聲明式事務(wù)注解的源碼

    Spring深入刨析聲明式事務(wù)注解的源碼

    在spring注解中,使用聲明式事務(wù),需要用到兩個核心的注解:@Transactional注解和@EnableTransactionManagement注解。將@Transactional注解加在方法上,@EnableTransactionManagement注解加在配置類上
    2022-07-07
  • mybatis @Alias注解在類上的使用方式(推薦)

    mybatis @Alias注解在類上的使用方式(推薦)

    這篇文章主要介紹了mybatis @Alias注解在類上的使用方式,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • 詳解如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API

    詳解如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API

    作為后端程序員,我們的日常工作就是調(diào)用一些第三方服務(wù),將數(shù)據(jù)存入數(shù)據(jù)庫,返回信息給前端。本文為大家介紹了如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API,需要的可以參考一下
    2022-12-12

最新評論

繁昌县| 桂阳县| 诸暨市| 巴东县| 武功县| 乌苏市| 永城市| 东乡族自治县| 平江县| 宜兰市| 瑞昌市| 佛教| 澄迈县| 科技| 桦甸市| 孝感市| 康马县| 迁安市| 安达市| 绩溪县| 吴堡县| 双城市| 连江县| 禄丰县| 荔波县| 西畴县| 江安县| 永德县| 德令哈市| 修水县| 兴国县| 梅河口市| 福鼎市| 九龙坡区| 兴宁市| 宁阳县| 拜泉县| 扎鲁特旗| 乌拉特中旗| 平利县| 浦县|