導航:首頁 > 文字圖片 > poi隱藏word圖片

poi隱藏word圖片

發布時間:2024-07-05 09:23:54

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

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

B. poi word 圖片 設置位置

選中圖片 右鍵 選擇大小和位置 選擇 文字環繞 在選擇 浮於文字上方即可

C. 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文件。

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

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

E. 請教用POI向word中插入圖片的基本步驟。

請看乎譽消圖片中虛檔的例歲知子

F. 請問用poi可以向word中插入圖片么

可以!

G. 我想用POI在Word里插入一張圖片,這是我的測試代碼。執行之後word打不開!錯誤如圖中的提示

publicvoidaddPicture(stringfilepath,stringoldfileName,uintid)

{

System.IO.FileStreamgfs=newSystem.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read);

XWPFParagraphpara=doc.CreateParagraph();

XWPFRunr=para.CreateRun();

XWPFPicturepic=r.AddPicture(gfs,(int)NPOI.XWPF.UserModel.PictureType.JPEG,oldfileName,1000000,1000000);

NPOI.OpenXmlFormats.Dml.WordProcessing.CT_Inlineinline=r.GetCTR().GetDrawingList()[0].inline[0];

inline.docPr.id=id;//默認插入少了這個ID號,它就是圖片的序號,從1開始編號的。這個是我折騰了一整天弄才弄好的。

gfs.Close();

}

H. POI操作word插入相同圖片

這么做還是有個小問題,就是連續插入兩個圖片,不在同一行。

解決方案是給createPicture添加一個參數XWPFParagraph paragraph,換掉方法內部的
調用的時候,插入的兩個圖片用同一個paragraph,代碼如下
XWPFParagraph paragraph = doc.createParagraph();
// 插入第一個圖片
doc.createPicture(paragraph, 。。。);
//還可以插入一些文字唯粗
// doc.createRun().setText(" -----> ");
// 插入第二個圖片
doc.createPicture(paragraph, 。。。);
--------------- 原因:

word的模型是
整岩山液個是一個document
然後裡面有多很多個paragraph,
段落
段落和段落之間按照回車換行分割

每一段內,又可以有多個range
在這個定義的插入顯示的圖片的類里

一上來就創建了一個段落
只要把兩次插入的圖片,放到同一個段落
就在一行了。沒有回車了。

通過這個方法,把段落從插入圖片中提出來,還可以在兩個圖片之間,加入其它東西,比較文字或空格來定位。

————————————————
版權聲明:本文為CSDN博主「kimmking」的原創文章粗物,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/KimmKing/java/article/details/8205439

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

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

閱讀全文

與poi隱藏word圖片相關的資料

熱點內容
冬天畫畫圖片大全圖片 瀏覽:276
茶葉圖片大全高清圖片手繪 瀏覽:59
鎮魂圖片高清壁紙電視劇 瀏覽:192
商務簡裝衣服圖片欣賞 瀏覽:688
怎麼把一張圖片上的字去掉 瀏覽:997
繪畫衣服卡通圖片 瀏覽:839
女孩穿長裙摔倒的圖片 瀏覽:886
最帥光頭發型圖片 瀏覽:275
中短發辮子發型圖片 瀏覽:17
極簡有深度男生圖片 瀏覽:473
怎麼讓圖片有立體感 瀏覽:199
word批量插入圖片並調整 瀏覽:256
水果圖片文字 瀏覽:399
花卉圖片高清圖片可保存 瀏覽:807
男生心理受傷微笑的圖片 瀏覽:888
怎麼做能讓對方不累文案圖片 瀏覽:811
軍人的圖片高清圖片 瀏覽:82
男生真實遮臉圖片 瀏覽:41
凱爾特女孩圖片 瀏覽:337
動漫男生背對趴著看你圖片 瀏覽:561