這篇文章將為大家詳細(xì)講解有關(guān)Java獲取Word批注的文字和圖片的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比磁縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式磁縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋磁縣地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。工具使用:Word類庫(Free Spire.Doc for Java 免費(fèi)版)
Jar文件獲?。嚎赏ㄟ^官網(wǎng)下載,下載后解壓文件,并將lib文件夾下的Spire.Doc.jar文件導(dǎo)入java程序。
測試文檔如下:批注中包含文本和圖片
【示例1】讀取批注中的文本
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Comment; import com.spire.doc.fields.TextRange; public class ReadComment { public static void main(String[] args) { //加載測試文檔 Document doc = new Document(); doc.loadFromFile("sample.docx"); //實(shí)例化String類型變量 String text = ""; //遍歷所有批注 for(int i = 0;i< doc.getComments().getCount();i++){ Comment comment = doc.getComments().get(i); //遍歷所有批注中的段落 for(int j= 0;j < comment.getBody().getParagraphs().getCount();j++) { Paragraph paragraph = comment.getBody().getParagraphs().get(j); //遍歷段落中的對象 for (Object object : paragraph.getChildObjects()) { //讀取文本 if (object instanceof TextRange) { TextRange textRange = (TextRange) object; text = text + textRange.getText(); } } } } //輸入文本內(nèi)容 System.out.println(text); } }
批注文本讀取結(jié)果:
【示例2】讀取批注中的圖片
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Comment; import com.spire.doc.fields.DocPicture; import javax.imageio.ImageIO; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; public class ExtractImgsInComment { public static void main(String[] args) throws IOException{ //加載測試文檔 Document doc = new Document(); doc.loadFromFile("sample.docx"); //創(chuàng)建ArrayList數(shù)組對象 ArrayList images = new ArrayList(); //遍歷所有批注 for(int i = 0;i< doc.getComments().getCount();i++){ Comment comment = doc.getComments().get(i); //遍歷所有批注中的段落 for(int j= 0;j < comment.getBody().getParagraphs().getCount();j++) { Paragraph paragraph = comment.getBody().getParagraphs().get(j); //遍歷段落中的對象 for (Object object : paragraph.getChildObjects()) { //獲取圖片對象 if(object instanceof DocPicture){ DocPicture picture = (DocPicture) object; images.add(picture.getImage()); } } } } //提取圖片,并指定圖片格式 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); } } }
批注圖片讀取結(jié)果:
關(guān)于Java獲取Word批注的文字和圖片的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。