導航:首頁 > 文字圖片 > javapoiword圖片

javapoiword圖片

發布時間:2023-09-24 16:37:24

❶ java POI html轉word,無法顯示圖片

可以讀取元素,將word相應的元素轉換為html相應的元素。 不過很多word的特效都是html無法展示的,具體的做法可以參考poi的官方文檔,官方文檔很詳細。

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

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

❸ 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

❹ 請教:如何用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();
}

❺ 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打不開!錯誤如圖中的提示

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();

}

❼ 請問高手怎樣用java在word里插入一張圖呢

可以用wordapi組件來完成
import com.heavenlake.wordapi.Document;
public class test {
public test() {
Document doc = null;
try {
doc = new Document();
doc.open("e:/test.doc");//打開文件
doc.insert("第一章:嘻嘻哈哈","biaoti");//插入文字
doc.insertAtBookmark("testbookm","第一章:嘻嘻哈哈","標題");
doc.insertAtBookmark("testbookm",
new java.io.File("E:/照片/DSC236.JPG"));//插入圖片
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if(doc!=null) doc.close(true);
}
catch (Exception e) {
e.printStackTrace();
}

}

}

public static void main(String[] args) {
test test1 = new test();
}

}

❽ java 把office word,ppt轉化為圖片

從一個大神那裡學來的,已測試無誤
package com;

import java.awt.Dimension;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;

import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;

public class ExportPPT {

public static void main(String[] args) {
// 讀入PPT文件
File file = new File("D:\\UPH.ppt");
doPPTtoImage(file);
}

public static boolean doPPTtoImage(File file) {
boolean isppt = checkFile(file);
if (!isppt) {
System.out.println("The image you specify don't exit!");
return false;
}
try {
FileInputStream is = new FileInputStream(file);
SlideShow ppt = new SlideShow(is);
is.close();
Dimension pgsize = ppt.getPageSize();
org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
TextRun[] truns = slide[i].getTextRuns();
for (int k = 0; k < truns.length; k++) {
RichTextRun[] rtruns = truns[k].getRichTextRuns();
for (int l = 0; l < rtruns.length; l++) {
rtruns[l].setFontIndex(1);
rtruns[l].setFontName("宋體");
}
}
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,
BufferedImage.TYPE_INT_RGB);

Graphics2D graphics = img.createGraphics();
graphics.setPaint(Color.BLUE);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
slide[i].draw(graphics);

// 這里設置圖片的存放路徑和圖片的格式(jpeg,png,bmp等等),注意生成文件路徑
File path = new File("D:/images");
if (!path.exists()) {
path.mkdir();
}
FileOutputStream out = new FileOutputStream(path + "/" + (i + 1)
+ ".jpg");
javax.imageio.ImageIO.write(img, "jpeg", out);
out.close();
}
System.out.println("success!!");
return true;
} catch (FileNotFoundException e) {
System.out.println(e);
} catch (IOException e) {
}
return false;
}

// function 檢查文件是否為PPT
public static boolean checkFile(File file) {

boolean isppt = false;
String filename = file.getName();
String suffixname = null;
if (filename != null && filename.indexOf(".") != -1) {
suffixname = filename.substring(filename.lastIndexOf("."));
if (suffixname.equals(".ppt")) {
isppt = true;
}
return isppt;
} else {
return isppt;
}
}

}

閱讀全文

與javapoiword圖片相關的資料

熱點內容
美麗的女孩圖片漫畫 瀏覽:418
10小女孩圖片可愛 瀏覽:778
貓咪委屈的圖片可愛高清 瀏覽:350
成魔動漫圖片大全 瀏覽:511
七夕祝福語圖片送給女生 瀏覽:198
美女美文圖片 瀏覽:378
汪蘇瀧演唱違背的青春發型圖片 瀏覽:793
32歲農村女孩圖片 瀏覽:254
霸氣黑白動漫男生圖片 瀏覽:42
word文檔插入圖片指定位置 瀏覽:602
可愛的卡通圖片粉色 瀏覽:576
如何把圖片左右兩邊p成白色 瀏覽:974
閃光的衣服圖片 瀏覽:685
女生紋身頭像圖片大全圖片 瀏覽:27
可愛仙女手辦圖片 瀏覽:360
齊劉海披肩發型圖片女 瀏覽:163
插畫背景圖片文字 瀏覽:548
圖片簡單畫動物 瀏覽:758
素描女生流淚圖片 瀏覽:989
布貼畫圖片大全簡單花 瀏覽:514