zoukankan      html  css  js  c++  java
  • 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>

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

    二维码添加效果:

    (完)

  • 相关阅读:
    java线性表之顺序表实现
    Page Rank 算法
    逻辑回归梯度下降推导
    逻辑回归再理解
    最大似然估计的再理解
    DeepLearning中CRF计算原理
    评价指标-精确率、召回率、ROC曲线
    基于贝叶斯平均的新词发现算法
    统计学习方法概论
    多模字符串匹配算法-Aho–Corasick
  • 原文地址:https://www.cnblogs.com/Yesi/p/13278456.html
Copyright © 2011-2022 走看看