
不知道你是具体读取饥型Word里面的什么元素,下面以读取文字和图片为例吧,两个代码示例,你参考看看:
读取文本
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 = 0i <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 = 0i <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读取excel数据最大内族悔祥存失败是为什么”?内部文件损坏。poi是一套用户构建用户界面的渐进式框架,是自底向上逐层应用,在该应用读取excel数据过程中,显兆搏示最大内存失败的话,是因为应用文件包内部文件损坏,没有热补丁兼前配容导致的,出现这种情况应把poi文件包重新下载一遍即可。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)