为了账号安全,请及时绑定邮箱和手机立即绑定

Java 添加条码、二维码到Word文档

标签:
Java

本文介绍如何在Word文档中添加条码、二维码。可在文档正文段落中添加,也可在页眉页脚中添加。下面将通过Java代码示例介绍如何实现。

 使用工具:Free Spire.Office for Java(免费版)

关于Jar导入的方法:

方法1通过E-iceblue官网下载jar包,下载后,解压,将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导入结果如下图所示:

https://img1.sycdn.imooc.com//5f0e9a580001db2703570467.jpg


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();
     }
 }

条码添加效果:

https://img1.sycdn.imooc.com//5f0e9ac40001673305540392.jpg


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://img1.sycdn.imooc.com//5f0e9af400016fae05540400.jpg


(完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消