-
Java 添加条码、二维码到Word文档
本文介绍如何在Word文档中添加条码、二维码。可在文档正文段落中添加,也可在页眉页脚中添加。下面将通过Java代码示例介绍如何实现。
使用工具:Free Spire.Office for Java(免费版)
关于Jar导入的方法:
方法1:通过E-iceblue官网下载jar包 https://www.e-iceblue.cn/Downloads/Free-Spire-Office-JAVA.html,下载后,解压,将lib文件夹下的Spire.Office.jar导入Java程序;
方法2:通过创建Maven程序,并配置在pom.xml文件中配置Maven仓库路径并指定Free Spire.Office for Java的Maven依赖,配置完成后,在IDEA中,点击“Import Changes”导入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>
(Ecllipse的导入方法,参考这篇文章)
jar导入结果如下图所示:
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 { //创建Document对象,加载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类创建条码并保存为图片 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("扫码识真伪:"); 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 { //创建Document对象,加载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类创建二维码并保存为图片 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(); } }
二维码添加效果:
出 处:https://www.cnblogs.com/Yesi/p/13278456.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比