服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java实现添加条码或二维码到Word文档

Java实现添加条码或二维码到Word文档

2023-02-09 13:26E-iceblue Java教程

这篇文章主要介绍了如何在Word文档中添加条码、二维码。可在文档正文段落中添加,也可在页眉页脚中添加,感兴趣的小伙伴快跟随小编一起学习一下吧

本文介绍如何在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>

jar导入结果如下图所示:

Java实现添加条码或二维码到Word文档

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

条码添加效果:

Java实现添加条码或二维码到Word文档

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

二维码添加效果:

Java实现添加条码或二维码到Word文档

以上就是Java实现添加条码或二维码到Word文档的详细内容,更多关于Java添加条码 二维码到Word的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/Yesi/p/13278456.html

延伸 · 阅读

精彩推荐
  • Java教程swagger如何返回map字段注释

    swagger如何返回map字段注释

    这篇文章主要介绍了swagger如何返回map字段注释的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    xingsfdz11452021-09-25
  • Java教程java数据结构与算法之插入算法实现数值排序示例

    java数据结构与算法之插入算法实现数值排序示例

    这篇文章主要介绍了java数据结构与算法之插入算法实现数值排序的方法,结合简单实例形式分析了插入算法的节点操作与排序相关实现技巧,需要的朋友可以...

    modun3362020-06-03
  • Java教程Java实现俄罗斯方块的源码分享

    Java实现俄罗斯方块的源码分享

    俄罗斯方块是一个最初由阿列克谢帕吉特诺夫在苏联设计和编程的益智类视频游戏。本文将利用Java语言实现这一经典的小游戏,感兴趣的可以学习一下...

    遇安.1124322022-12-15
  • Java教程Java和Python现在都挺火,我应该怎么选?

    Java和Python现在都挺火,我应该怎么选?

    这篇文章主要介绍了Java和Python现在都挺火,我应该怎么选?本文通过全面分析给大家做个参考,需要的朋友可以参考下...

    一个小阿狸2772020-07-09
  • Java教程javaDSL简单实现示例分享

    javaDSL简单实现示例分享

    DSL领域定义语言,用来描述特定领域的特定表达。比如画图从起点到终点;路由中的从A到B。这是关于画图的一个简单实现 ...

    java教程网4742019-11-13
  • Java教程Java获取当前时间方法总结

    Java获取当前时间方法总结

    本篇文章给大家整理了关于Java获取当前时间方法,以及相关代码分享,有需要的朋友测试参考下吧。...

    彬菌4922021-04-07
  • Java教程Java筑基 - JNI到底是个啥

    Java筑基 - JNI到底是个啥

    在前面介绍Unsafe的文章中,简单的提到了java中的本地方法(Native Method),它可以通过JNI(Java Native Interface)调用其他语言中的函数来实现一些相对底层的功能,...

    码农参上6002021-05-11
  • Java教程浅谈Java中BIO、NIO和AIO的区别和应用场景

    浅谈Java中BIO、NIO和AIO的区别和应用场景

    这篇文章主要介绍了Java中BIO、NIO和AIO的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着...

    罗啦啦7702021-07-28