Java實(shí)現(xiàn)添加條碼或二維碼到Word文檔
本文介紹如何在Word文檔中添加條碼、二維碼??稍谖臋n正文段落中添加,也可在頁(yè)眉頁(yè)腳中添加。下面將通過(guò)Java代碼示例介紹如何實(shí)現(xiàn)。
使用工具:Free Spire.Office for Java(免費(fèi)版)
關(guān)于Jar導(dǎo)入的方法:
方法1:通過(guò)E-iceblue官網(wǎng)下載jar包,下載后,解壓,將lib文件夾下的Spire.Office.jar導(dǎo)入Java程序;
方法2:通過(guò)創(chuàng)建Maven程序,并配置在pom.xml文件中配置Maven倉(cāng)庫(kù)路徑并指定Free Spire.Office for Java的Maven依賴(lài),配置完成后,在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正文、頁(yè)腳為例)
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類(lèi)創(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頁(yè)腳 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(這里以添加到正文、頁(yè)眉為例)
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類(lèi)創(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頁(yè)眉 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ù)組的操作過(guò)程
forEach對(duì)于基本數(shù)據(jù)類(lèi)型,是直接賦值,對(duì)于引用數(shù)據(jù)類(lèi)型,是引用地址值,forEach遍歷時(shí),是創(chuàng)建的臨時(shí)變量,引用的數(shù)據(jù)地址,本文給大家介紹Java forEach對(duì)原數(shù)組的操作過(guò)程,感興趣的朋友一起看看吧2024-02-02SpringBoot+SpringSession+Redis實(shí)現(xiàn)session共享及唯一登錄示例
這篇文章主要介紹了SpringBoot+SpringSession+Redis實(shí)現(xiàn)session共享及唯一登錄示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Java中BigDecimal除法使用不當(dāng)導(dǎo)致精度問(wèn)題
本文主要介紹了Java中BigDecimal除法使用不當(dāng)導(dǎo)致精度問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Java基礎(chǔ)MAC系統(tǒng)下IDEA連接MYSQL數(shù)據(jù)庫(kù)JDBC過(guò)程
最近一直在學(xué)習(xí)web項(xiàng)目,當(dāng)然也會(huì)涉及與數(shù)據(jù)庫(kù)的連接這塊,這里就總結(jié)一下在IDEA中如何進(jìn)行MySQL數(shù)據(jù)庫(kù)的連接,這里提一下我的電腦是MAC系統(tǒng),使用的編碼軟件是IDEA,數(shù)據(jù)庫(kù)是MySQL2021-09-09Java分頁(yè)查詢(xún)的幾種實(shí)現(xiàn)方法舉例
這篇文章主要給大家介紹了關(guān)于Java分頁(yè)查詢(xún)的幾種實(shí)現(xiàn)方法,分頁(yè)是系統(tǒng)中常用到的功能,只要涉及到查詢(xún)必定伴隨而來(lái)的就是分頁(yè),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Java的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-10java HashMap,TreeMap與LinkedHashMap的詳解
這篇文章主要介紹了 java HashMap,TreeMap與LinkedHashMap的詳解的相關(guān)資料,這里提供實(shí)例代碼,幫助大家學(xué)習(xí)理解 這部分的內(nèi)容,需要的朋友可以參考下2016-11-11