代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
读取docx(带图片)
作者:
/ 发布于
2016/7/4
/
735
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.UUID; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFPictureData; import org.apache.poi.xwpf.usermodel.XWPFRun; import com.google.common.collect.Maps; public class Test { public static void main(String[] args){ String importPath = "D:/zyk_import/习题模板V1.4(2).docx"; String absolutePath = ""; try { FileInputStream inputStream = new FileInputStream(importPath); XWPFDocument xDocument = new XWPFDocument(inputStream); List<XWPFParagraph> paragraphs = xDocument.getParagraphs(); List<XWPFPictureData> pictures = xDocument.getAllPictures(); Map<String, String> map = Maps.newHashMap(); for(XWPFPictureData picture : pictures){ String id = picture.getPackageRelationship().getId(); File folder = new File(absolutePath); if (!folder.exists()) { folder.mkdirs(); } String rawName = picture.getFileName(); String fileExt = rawName.substring(rawName.lastIndexOf(".")); String newName = System.currentTimeMillis() + UUID.randomUUID().toString() + fileExt; File saveFile = new File(absolutePath + File.separator + newName); @SuppressWarnings("resource") FileOutputStream fos = new FileOutputStream(saveFile); fos.write(picture.getData()); System.out.println(saveFile.getAbsolutePath()); map.put(id, saveFile.getAbsolutePath()); } String text = ""; for(XWPFParagraph paragraph : paragraphs){ //System.out.println(paragraph.getParagraphText()); List<XWPFRun> runs = paragraph.getRuns(); for(XWPFRun run : runs){ if(run.getCTR().xmlText().indexOf("<w:pict>")!=-1){ String runXmlText = run.getCTR().xmlText(); int rIdIndex = runXmlText.indexOf("r:id"); int rIdEndIndex = runXmlText.indexOf("/>", rIdIndex); String rIdText = runXmlText.substring(rIdIndex, rIdEndIndex); System.out.println(rIdText.split("\"")[1].substring("rId".length())); String id = rIdText.split("\"")[1]; System.out.println(map.get(id)); text = text +"<img src = '"+map.get(id)+"'/>"; }else{ text = text + run; } } } System.out.println(text); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
试试其它关键字
读取docx
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3