67,550
社区成员




通过 new IImageExtractor
new IURIResolver
#####################################
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String ymd = sdf.format(new Date());
savePath += ymd + "/";
saveUrl += ymd + "/";
XHTMLOptions options = XHTMLOptions.create();
// Extract image
// File imageFolder = new File( FileTools.getInstance().getRoot() + savePath);
IImageExtractor extractor= new IImageExtractor() {
private String savePath="";
public IImageExtractor setSavePath(String savePath) {
this.savePath = savePath;
return this;
}
@Override
public void extract(String arg0, byte[] arg1) throws IOException {
byte[] bytev =arg1;
String fileName = arg0.substring(arg0.lastIndexOf("/")+1);
FileTools.getInstance().saveFile(savePath, fileName,bytev);
}
}.setSavePath(savePath) ;
options.setExtractor(extractor );
options.URIResolver( new IURIResolver() {
private String savePath="";
public IURIResolver init(String savePath) {
this.savePath = savePath;
return this;
}
@Override
public String resolve(String arg0) {
String fileName = arg0.substring(arg0.lastIndexOf("/")+1);
return savePath+ fileName + ".html";
}
} .init(saveUrl));
ByteArrayOutputStream out = new ByteArrayOutputStream();
XHTMLConverter.getInstance().convert( doc, out, options );
String str = out.toString();
InputStream is = null;
try {
is = new FileInputStream(src);
XWPFDocument document = new XWPFDocument(is);
XHTMLOptions options = XHTMLOptions.create().indent(4);
//img的src属性 后面会自动添加/word/media
//这里就是images/word/media/ + 图片名字
options.URIResolver(new BasicURIResolver("images"));
//>> 文件的保存路径 之后自动会添加 word\media子路径
FileImageExtractor extractor = new FileImageExtractor(new File(
htmlImagesPath));
options.setExtractor(extractor);
XHTMLConverter.getInstance().convert(document,
new FileOutputStream(des), options);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
不需要手动添加代码保存图片
options.URIResolver( new BasicURIResolver("uri/folder"));