导航:首页 > 文字图片 > 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图片相关的资料

热点内容
四年级美术猜猜我是谁的图片男生 浏览:870
靖康重宝价格及图片 浏览:721
冬天画画图片大全图片 浏览:276
茶叶图片大全高清图片手绘 浏览:59
镇魂图片高清壁纸电视剧 浏览:192
商务简装衣服图片欣赏 浏览:688
怎么把一张图片上的字去掉 浏览:997
绘画衣服卡通图片 浏览:839
女孩穿长裙摔倒的图片 浏览:886
最帅光头发型图片 浏览:275
中短发辫子发型图片 浏览:17
极简有深度男生图片 浏览:473
怎么让图片有立体感 浏览:199
word批量插入图片并调整 浏览:256
水果图片文字 浏览:399
花卉图片高清图片可保存 浏览:807
男生心理受伤微笑的图片 浏览:888
怎么做能让对方不累文案图片 浏览:811
军人的图片高清图片 浏览:82
男生真实遮脸图片 浏览:41