Java實(shí)現(xiàn)添加條碼或二維碼到Word文檔
本文介紹如何在Word文檔中添加條碼、二維碼??稍谖臋n正文段落中添加,也可在頁眉頁腳中添加。下面將通過Java代碼示例介紹如何實(shí)現(xiàn)。
使用工具:Free Spire.Office for Java(免費(fèi)版)
關(guān)于Jar導(dǎo)入的方法:
方法1:通過E-iceblue官網(wǎng)下載jar包,下載后,解壓,將lib文件夾下的Spire.Office.jar導(dǎo)入Java程序;
方法2:通過創(chuàng)建Maven程序,并配置在pom.xml文件中配置Maven倉庫路徑并指定Free Spire.Office for Java的Maven依賴,配置完成后,在IDEA中,點(diǎn)擊“Import Changes”導(dǎo)入JAR包。
<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導(dǎo)入結(jié)果如下圖所示:

Java代碼示例
1. 添加條碼到Word(這里以添加到Word正文、頁腳為例)
import com.spire.barcode.*;
import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class AddBarcode {
public static void main(String[] args) throws IOException {
//創(chuàng)建Document對(duì)象,加載Word文檔
Document doc = new Document();
doc.loadFromFile("test.docx");
//獲取所有section
for (int i = 0 ; i<doc.getSections().getCount();i++)
{
Section section = doc.getSections().get(i);
//使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類創(chuàng)建條碼并保存為圖片
BarcodeSettings settings = new BarcodeSettings();
settings.setType(BarCodeType.Code_128);
settings.setData("123456789");
settings.setData2D("123456789");
settings.setShowText(false);
settings.setBarHeight(4);
settings.setX(0.3f);
settings.hasBorder(true);
settings.setBorderWidth(0.5f);
settings.setBorderColor(new Color(135,206,250));
settings.setBackColor(new Color(240,255,255));
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
BufferedImage bufferedImage = barCodeGenerator.generateImage();
ImageIO.write(bufferedImage, "png", new File("Barcode.png"));
//添加條碼到正文段落
Paragraph paragraph = section.addParagraph();
paragraph.setText("收貨碼:");
paragraph.appendPicture("Barcode.png");
paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
//添加條碼圖片到Word頁腳
HeaderFooter footer = section.getHeadersFooters().getFooter();
Paragraph footerpara = footer.addParagraph();
footerpara.setText("掃碼識(shí)真?zhèn)危?);
footerpara.appendPicture("Barcode.png");
footerpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
}
//保存文檔
doc.saveToFile("BarCodeToWord.docx", FileFormat.Docx_2013);
doc.dispose();
}
}條碼添加效果:

2. 添加二維碼到Word(這里以添加到正文、頁眉為例)
import com.spire.barcode.*;
import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
public class AddQRCode {
public static void main(String[] args) throws IOException {
//創(chuàng)建Document對(duì)象,加載Word文檔
Document doc = new Document();
doc.loadFromFile("test.docx");
//獲取所有section
for (int i = 0 ; i<doc.getSections().getCount();i++)
{
Section section = doc.getSections().get(i);
//使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類創(chuàng)建二維碼并保存為圖片
BarcodeSettings settings = new BarcodeSettings();
settings.setType(BarCodeType.QR_Code);
settings.setData("123456");
settings.setData2D("123456");
settings.setX(0.7f);
settings.setLeftMargin(0);
settings.setShowTextOnBottom(true);
settings.setQRCodeECL(QRCodeECL.Q);
settings.setQRCodeDataMode(QRCodeDataMode.Numeric);
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.generateImage();
ImageIO.write((RenderedImage) image, "png", new File("QRCode.png"));
//添加二維碼到正文段落
Paragraph paragraph = section.addParagraph();
paragraph.appendPicture("QRCode.png");
paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
//添加二維碼圖片到Word頁眉
HeaderFooter header = section.getHeadersFooters().getHeader();
Paragraph headerpara = header.addParagraph();
headerpara.appendPicture("QRCode.png");
headerpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
//保存文檔
doc.saveToFile("QRCodeToWord.docx", FileFormat.Docx_2013);
doc.dispose();
}
}二維碼添加效果:

以上就是Java實(shí)現(xiàn)添加條碼或二維碼到Word文檔的詳細(xì)內(nèi)容,更多關(guān)于Java添加條碼 二維碼到Word的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java forEach對(duì)原數(shù)組的操作過程
forEach對(duì)于基本數(shù)據(jù)類型,是直接賦值,對(duì)于引用數(shù)據(jù)類型,是引用地址值,forEach遍歷時(shí),是創(chuàng)建的臨時(shí)變量,引用的數(shù)據(jù)地址,本文給大家介紹Java forEach對(duì)原數(shù)組的操作過程,感興趣的朋友一起看看吧2024-02-02
SpringBoot+SpringSession+Redis實(shí)現(xiàn)session共享及唯一登錄示例
這篇文章主要介紹了SpringBoot+SpringSession+Redis實(shí)現(xiàn)session共享及唯一登錄示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java中BigDecimal除法使用不當(dāng)導(dǎo)致精度問題
本文主要介紹了Java中BigDecimal除法使用不當(dāng)導(dǎo)致精度問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Java基礎(chǔ)MAC系統(tǒng)下IDEA連接MYSQL數(shù)據(jù)庫JDBC過程
最近一直在學(xué)習(xí)web項(xiàng)目,當(dāng)然也會(huì)涉及與數(shù)據(jù)庫的連接這塊,這里就總結(jié)一下在IDEA中如何進(jìn)行MySQL數(shù)據(jù)庫的連接,這里提一下我的電腦是MAC系統(tǒng),使用的編碼軟件是IDEA,數(shù)據(jù)庫是MySQL2021-09-09
Java的Struts2框架配合Ext JS處理JSON數(shù)據(jù)的使用示例
這篇文章主要介紹了Java的Struts2框架配合Ext JS處理JSON數(shù)據(jù)的使用示例,包括將Ext JS中的JSON數(shù)據(jù)解析為列表的方法,需要的朋友可以參考下2016-03-03
詳解SpringBoot 使用Spring Initializr 快速構(gòu)建工程(官方推薦)
本篇文章主要介紹了SpringBoot 使用Spring Initializr 快速構(gòu)建工程(官方推薦),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10
java HashMap,TreeMap與LinkedHashMap的詳解
這篇文章主要介紹了 java HashMap,TreeMap與LinkedHashMap的詳解的相關(guān)資料,這里提供實(shí)例代碼,幫助大家學(xué)習(xí)理解 這部分的內(nèi)容,需要的朋友可以參考下2016-11-11

