導航:首頁 > 文字圖片 > Java通過poi獲取Word中圖片

Java通過poi獲取Word中圖片

發布時間:2024-01-22 20:54:32

Ⅰ java 中用poi讀取word和用docx4j讀取word

不知道你是具體讀取Word裡面的什麼元素,下面以讀取文字和圖片為例吧,兩個代碼示例,你參考看看:

  1. 讀取文本

import com.spire.doc.Document;

import java.io.FileWriter;

import java.io.IOException;

public class ExtractText {

public static void main(String[] args) throws IOException {

//載入Word文檔
Document document = new Document();
document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//獲取文檔中的文本保存為String
String text=document.getText();

//將String寫入Txt文件
writeStringToTxt(text,"ExtractedText.txt");
}

public static void writeStringToTxt(String content, String txtFileName) throws IOException {

FileWriter fWriter= new FileWriter(txtFileName,true);
try {
fWriter.write(content);
}catch(IOException ex){
ex.printStackTrace();
}finally{
try{
fWriter.flush();
fWriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

}


2. 讀取圖片


import com.spire.doc.Document;

import com.spire.doc.documents.DocumentObjectType;

import com.spire.doc.fields.DocPicture;

import com.spire.doc.interfaces.ICompositeObject;

import com.spire.doc.interfaces.IDocumentObject;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

import java.util.Queue;

public class ExtractImages {

public static void main(String[] args) throws IOException {

//載入Word文檔

Document document = new Document();

document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//創建Queue對象

Queue nodes = new LinkedList();

nodes.add(document);

//創建List對象

List images = new ArrayList();

//遍歷文檔中的子對象

while (nodes.size() > 0) {

ICompositeObject node = nodes.poll();

for (int i = 0; i < node.getChildObjects().getCount(); i++) {

IDocumentObject child = node.getChildObjects().get(i);

if (child instanceof ICompositeObject) {

nodes.add((ICompositeObject) child);

//獲取圖片並添加到List

if (child.getDocumentObjectType() == DocumentObjectType.Picture) {

DocPicture picture = (DocPicture) child;

images.add(picture.getImage());

}

}

}

}

//將圖片保存為PNG格式文件

for (int i = 0; i < images.size(); i++) {

File file = new File(String.format("output/圖片-%d.png", i));

ImageIO.write(images.get(i), "PNG", file);

}

}

}

注意這里使用的jar包是spire.doc.jar,需要在java程序中先導入jar文件。

Ⅱ poi生成word後word裡面的圖片不變形

你好,你是問poi生成word後如何保證word裡面的圖片不變形嗎?
1、確保生成的圖片盡可能地與最終需要插入的Word文檔保持相同的比例。可以通過設置圖片大小或縮放來實現。
2、在將圖片插入到Word文檔之前,最好在一個圖片編輯軟體中打開並進行調整,以便將其完全適配Word頁面並按照正確的比例顯示。
3、推薦使用POI中提供的setAutoSize(true)方法自動調整頁面布局大小,這樣可以確保文本和圖片都能夠均勻分布且沒有間隔。
4、在將圖片插入到Word文檔中時,可以選擇「不鎖定縱橫比」選項搭清,以確保圖片在Word文檔中不變形。poi是基於OfficeOpenXML標准(OOXML)和Microsoft的OLE2復液擾合文檔格式(OLE2)處理各種文件知埋前格式的開源項目。

Ⅲ java 誰有poi讀取本地word然後在替換word的內容如table、圖片....的demo、然後再將word轉成pdf 在線等

對word文檔的寫操作沒做過,但POI是肯定支持的(包括word2003,2007,2010)。已經有最新的POI 3.8了。你可以參考。http://poi.apache.org/index.html

Ⅳ java 如何使用poi 在word 中插入圖片和數據,給我一個實現的例子,

實際上還真就得一個一個set進去
我現在做的程序就有這部分機能,思路就是excel→sheet→row
然後遍歷所有row,取出所有的cell放到一個存儲用結構體中。
無論如何,解析的過程都需要自己來寫的。
=======================================================
你的想法我明白,其實就是想要一個java與poi的databinding,定義好的數據模塊可以自動和excel的對應列進行匹配。但是這個東西確實就沒有啊,人家只封裝了讀取excel內容,沒有提供這樣的模塊,只有自己寫啊。即使是60個列,事實上綁定的邏輯也就只用寫一次,而且大部分的內容只要復制粘貼就好了。
如果像下面說的做循環,賦值簡單了,可是用的時候就痛苦了,要取某一個欄位的時候難道要用數組下標去取?
PS 鄙視5樓的,人家要的是數據導入,拷貝一段倒出的處理來。

怎麼使用JAVA,POI讀寫word文檔

如何使用JAVA、POI讀寫word文檔??
能不能將一個word的內容完全讀過來,放到一個新生成的word文件中去,要求能將word中的表格、圖片等保留,格式不變。最好能給個例子?網上多是很早以前的那個解決方法如下:,只能讀文本內容,且新生成的word文件打開時總是要提示選擇編碼,不太好用,希望能有新的解決方案??!!

poi操作word
1.1 添加poi支持:包下載地址

1.2 POI對Excel文件的讀取操作比較方便,POI還提供對Word的DOC格式文件的讀取。但在它的發行版本中沒有發布對Word支持的模塊,需要另外下載一個POI的擴展的Jar包。下載地址為;下載extractors-0.4_zip這個文件

2、提取Doc文件內容

public static String readDoc(String doc) throws Exception {
// 創建輸入流讀取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 創建WordExtractor
extractor = new WordExtractor();
// 對DOC文件進行提取
text = extractor.extractText(in);
return text;
}

public static void main(String[] args) {
try{
String text = WordReader.readDoc("c:/test.doc");
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}

3、寫入Doc文檔

import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class WordWriter {
public static boolean writeDoc(String path, String content) {
boolean w = false;
try {

// byte b[] = content.getBytes("ISO-8859-1");
byte b[] = content.getBytes();

ByteArrayInputStream s = new ByteArrayInputStream(b);

POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();

DocumentEntry de = directory.createDocument("WordDocument", s);

FileOutputStream ostream = new FileOutputStream(path);

fs.writeFilesystem(ostream);

s.close();
ostream.close();

} catch (IOException e) {
e.printStackTrace();
}
return w;
}
public static void main(String[] args) throws Exception{
String wr=WordReader.readDoc("D:\\test.doc");
boolean b = writeDoc("D:\\result.doc",wr);

Ⅵ 請教:如何用JAVA POI 向Word文檔里插圖片 請提供下代碼 謝謝!!!

樓主你可以這樣操作,導入java.io.*。org.apache.poi.hwpf.*。org.apache.poi.hwpf.usermodel.Picture

String savePath= "c:\\temp\\";
String docFile= savePath+ "test.doc";
String imgFile= savePath+ "img.jpg";

HWPFDocument poiDoc = new HWPFDocument(new FileInputStream(docFile));
List picList=poiDoc.getPicturesTable().getAllPictures();
Picture picture=(Picture)picList.get(0);
try {
picture.writeImageContent(new FileOutputStream(imgFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}

Ⅶ poi讀取word 。內容中包含圖片,怎麼整體讀取數據呢!(也就是需要整體當做一條數據插入資料庫)

文件當整體那就是位元組序列,與文件格式無關,也就是說是word還是exe都是等同的

Ⅷ poi操作word好像只能獲取版式為「嵌入型」的圖片,而其它版式的圖片如何獲取比如:"四周型"的。

poi沒用過不知道,WORD中「嵌入型」的圖片是與文字等同處理的,與前後字元緊密聯系,佔一行,只是它把一行撐得很高,如果你把行間距設為固定且小於圖片高度,則圖片顯示不全。其他版式均與此不同。

閱讀全文

與Java通過poi獲取Word中圖片相關的資料

熱點內容
文字圖片關於吃的 瀏覽:840
王子畫畫圖片簡單 瀏覽:337
記性太差可愛圖片 瀏覽:879
劉在石粉色衣服圖片 瀏覽:624
唯美帶字圖片女生動漫圖片 瀏覽:930
word圖片里的文字怎麼去掉邊框 瀏覽:131
飄逸頭發圖片男生 瀏覽:969
怎麼畫老鼠簡筆畫圖片 瀏覽:645
加油寶寶可愛圖片 瀏覽:790
卡通女孩人物圖片 瀏覽:624
徐璐愛在春天白衣服圖片 瀏覽:936
女生畫妝的圖片 瀏覽:204
excel表格圖片如何復制粘貼嵌入 瀏覽:717
無歡高清圖片謝霆鋒 瀏覽:176
私信的圖片怎麼轉發 瀏覽:464
word嵌入式圖片樣式 瀏覽:801
寡姐紅發型圖片 瀏覽:92
word排版四張圖片列印 瀏覽:10
小歡喜陶紅衣服圖片 瀏覽:1001
梅西可愛圖片 瀏覽:414