日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 读取Word文本框中的文本/图片/表格

發布時間:2023/12/18 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 读取Word文本框中的文本/图片/表格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Word可插入文本框,文本框中可嵌入文本、圖片、表格等內容。對文檔中的已有文本框,也可以讀取其中的內容。本文以Java程序代碼來展示如何讀取文本框,包括讀取文本框中的文本、圖片以及表格等。

【程序環境】

程序編輯環境為IntelliJ IDEA,并在程序中引入了free Spire.Doc.jar,安裝的Jdk版本為1.8.0。

【源文檔】

程序中用于測試的Word源文檔如下圖:

【程序代碼】

1.讀取文本框中的文本

import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.TextBox; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class ExtractText {public static void main(String[] args) throws IOException {//加載含有文本框的Word文檔Document doc = new Document();doc.loadFromFile("sample.docx");//獲取文本框TextBox textbox = doc.getTextBoxes().get(0);//保存文本框中的文本到指定文件File file = new File("ExtractedText.txt");if (file.exists()){file.delete();}file.createNewFile();FileWriter fw = new FileWriter(file, true);BufferedWriter bw = new BufferedWriter(fw);//遍歷文本框中的對象for (Object object:textbox.getBody().getChildObjects()){//判定是否為文本段落if(object instanceof Paragraph){//獲取段落中的文本String text = ((Paragraph) object).getText();//寫入文本到txt文檔bw.write(text);}}bw.flush();bw.close();fw.close();} }

2.讀取文本框中的圖片

import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextBox; import javax.imageio.ImageIO; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List;public class ExtractImg {public static void main(String[] args) throws IOException {//加載含有文本框的Word文檔Document doc = new Document();doc.loadFromFile("sample.docx");//獲取文本框TextBox textbox = doc.getTextBoxes().get(0);//創建List對象List images = new ArrayList();//遍歷文本框中所有段落for (int i = 0 ; i < textbox.getBody().getParagraphs().getCount();i++){Paragraph paragraph = textbox.getBody().getParagraphs().get(i);//遍歷段落中的所有子對象for (int j = 0; j < paragraph.getChildObjects().getCount(); j++){Object object = paragraph.getChildObjects().get(j);//判定對象是否為圖片if (object instanceof DocPicture){//獲取圖片DocPicture picture = (DocPicture) object;images.add(picture.getImage());}}}//將圖片以PNG文件格式保存for (int z = 0; z < images.size(); z++) {File file = new File(String.format("圖片-%d.png", z));ImageIO.write((RenderedImage) images.get(z), "PNG", file);}} }

3.讀取文本框中的表格

import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.TextBox;import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class ExtractTable {public static void main(String[]args) throws IOException {//加載Word測試文檔Document doc = new Document();doc.loadFromFile("sample.docx");//獲取文本框TextBox textbox = doc.getTextBoxes().get(0);//獲取文本框中的表格Table table = textbox.getBody().getTables().get(0);//保存到文本文件File file = new File("ExtractedTable.txt");if (file.exists()){file.delete();}file.createNewFile();FileWriter fw = new FileWriter(file, true);BufferedWriter bw = new BufferedWriter(fw);//遍歷表格中的段落并提取文本for (int i = 0; i < table.getRows().getCount(); i++){TableRow row = table.getRows().get(i);for (int j = 0; j < row.getCells().getCount(); j++){TableCell cell = row.getCells().get(j);for (int k = 0; k < cell.getParagraphs().getCount(); k++){Paragraph paragraph = cell.getParagraphs().get(k);bw.write(paragraph.getText() + "\t");}}bw.write("\r\n");}bw.flush();bw.close();fw.close();} }

(完))

?

總結

以上是生活随笔為你收集整理的Java 读取Word文本框中的文本/图片/表格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。