Java 添加條碼、二維碼到Word文檔


本文介紹如何在Word文檔中添加條碼、二維碼。可在文檔正文段落中添加,也可在頁眉頁腳中添加。下面將通過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包。

Xml代碼  
  1. <repositories>  
  2.         <repository>  
  3.             <id>com.e-iceblue</id>  
  4.             <url>http://repo.e-iceblue.cn/repository/maven-public/</url>  
  5.         </repository>  
  6. </repositories>  
  7.   
  8. <dependencies>  
  9.     <dependency>  
  10.        <groupId>e-iceblue</groupId>  
  11.   <artifactId>spire.office.free</artifactId>  
  12.   <version>3.1.1</version>  
  13. </dependency>  
  14. </dependencies>  

 (Ecllipse的導入方法,參考這篇文章

 

二、Java代碼示例

 

1. 添加條碼到Word(這里以添加到Word正文、頁腳為例)

Java代碼  
  1. import com.spire.barcode.*;  
  2. import com.spire.doc.*;  
  3. import com.spire.doc.documents.HorizontalAlignment;  
  4. import com.spire.doc.documents.Paragraph;  
  5.   
  6. import javax.imageio.ImageIO;  
  7. import java.awt.*;  
  8. import java.awt.image.BufferedImage;  
  9. import java.io.File;  
  10. import java.io.IOException;  
  11.   
  12. public class AddBarcode {  
  13.     public static void main(String[] args) throws IOException {  
  14.         //創建Document對象,加載Word文檔  
  15.         Document doc = new Document();  
  16.         doc.loadFromFile("test.docx");  
  17.   
  18.         //獲取所有section  
  19.         for (int i = 0 ; i<doc.getSections().getCount();i++)  
  20.         {  
  21.             Section section = doc.getSections().get(i);  
  22.   
  23.             //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類創建條碼並保存為圖片  
  24.             BarcodeSettings settings = new BarcodeSettings();  
  25.             settings.setType(BarCodeType.Code_128);  
  26.             settings.setData("123456789");  
  27.             settings.setData2D("123456789");  
  28.             settings.setShowText(false);  
  29.             settings.setBarHeight(4);  
  30.             settings.setX(0.3f);  
  31.             settings.hasBorder(true);  
  32.             settings.setBorderWidth(0.5f);  
  33.             settings.setBorderColor(new Color(135,206,250));  
  34.             settings.setBackColor(new Color(240,255,255));  
  35.             BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);  
  36.             BufferedImage bufferedImage = barCodeGenerator.generateImage();  
  37.             ImageIO.write(bufferedImage, "png", new File("Barcode.png"));  
  38.   
  39.             //添加條碼到正文段落  
  40.             Paragraph paragraph = section.addParagraph();  
  41.             paragraph.setText("收貨碼:");  
  42.             paragraph.appendPicture("Barcode.png");  
  43.             paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);  
  44.   
  45.             //添加條碼圖片到Word頁腳  
  46.             HeaderFooter footer = section.getHeadersFooters().getFooter();  
  47.             Paragraph footerpara = footer.addParagraph();  
  48.             footerpara.setText("掃碼識真偽:");  
  49.             footerpara.appendPicture("Barcode.png");  
  50.             footerpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);  
  51.         }  
  52.   
  53.         //保存文檔  
  54.         doc.saveToFile("BarCodeToWord.docx", FileFormat.Docx_2013);  
  55.         doc.dispose();  
  56.     }  
  57. }  

 

2. 添加二維碼到Word(這里以添加到正文、頁眉為例)

Java代碼  
  1. import com.spire.barcode.*;  
  2. import com.spire.doc.*;  
  3. import com.spire.doc.documents.HorizontalAlignment;  
  4. import com.spire.doc.documents.Paragraph;  
  5.   
  6. import javax.imageio.ImageIO;  
  7. import java.awt.*;  
  8. import java.awt.image.RenderedImage;  
  9. import java.io.File;  
  10. import java.io.IOException;  
  11.   
  12. public class AddQRCode {  
  13.     public static void main(String[] args) throws IOException {  
  14.         //創建Document對象,加載Word文檔  
  15.         Document doc = new Document();  
  16.         doc.loadFromFile("test.docx");  
  17.   
  18.         //獲取所有section  
  19.         for (int i = 0 ; i<doc.getSections().getCount();i++)  
  20.         {  
  21.             Section section = doc.getSections().get(i);  
  22.   
  23.             //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator類創建二維碼並保存為圖片  
  24.             BarcodeSettings settings = new BarcodeSettings();  
  25.             settings.setType(BarCodeType.QR_Code);  
  26.             settings.setData("123456");  
  27.             settings.setData2D("123456");  
  28.             settings.setX(0.7f);  
  29.             settings.setLeftMargin(0);  
  30.             settings.setShowTextOnBottom(true);  
  31.             settings.setQRCodeECL(QRCodeECL.Q);  
  32.             settings.setQRCodeDataMode(QRCodeDataMode.Numeric);  
  33.             BarCodeGenerator generator = new BarCodeGenerator(settings);  
  34.             Image image = generator.generateImage();  
  35.             ImageIO.write((RenderedImage) image, "png", new File("QRCode.png"));  
  36.   
  37.             //添加二維碼到正文段落  
  38.             Paragraph paragraph = section.addParagraph();  
  39.             paragraph.appendPicture("QRCode.png");  
  40.             paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);  
  41.               
  42.             //添加二維碼圖片到Word頁眉  
  43.             HeaderFooter header = section.getHeadersFooters().getHeader();  
  44.             Paragraph headerpara = header.addParagraph();  
  45.             headerpara.appendPicture("QRCode.png");  
  46.             headerpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);  
  47.         }  
  48.   
  49.         //保存文檔  
  50.         doc.saveToFile("QRCodeToWord.docx", FileFormat.Docx_2013);  
  51.         doc.dispose();  
  52.     }  
  53. }  

 

(完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM