2 xiyuan mc xiyuan_mc 于 2016.04.18 17:44 提问

用poi导出word(2003版)图片导不出来的问题 5C

如题:
现想将一个个人简历导出doc格式的word文档,但是简历中的照片一直导不出,执行导出的是PoiHwpfExtractContentImpl,求各位解答

2个回答

u011606457
u011606457   2016.06.06 15:04

/**

  • 获取 word 文档里面所有图片并另存到指定目录下
  • @param doc Document 对象
  • @param picPath 保存图片路径
  • @param suffix 后缀名 */ public void getPictures(HWPFDocument doc, String picPath, String suffix) { Range range = doc.getRange(); byte[] dataStream = doc.getDataStream(); int numChar = range.numCharacterRuns(); PicturesTable pTable = new PicturesTable(doc, dataStream, dataStream); for (int i = 0; i < numChar; ++i) { CharacterRun cuRun = range.getCharacterRun(i); boolean hasPic = pTable.hasPicture(cuRun); if (hasPic) { Picture picture = pTable.extractPicture(cuRun, true); try { picture.writeImageContent(new FileOutputStream(picPath + i + suffix)); } catch (Exception e) { e.printStackTrace(); } } } }
u011606457
u011606457   2016.06.06 15:04

/**

  • 获取 word 文档里面所有图片并另存到指定目录下
  • @param docx Document 对象
  • @param picPath 保存图片路径
  • @param suffix 后缀名 */ public void getPictures(XWPFDocument docx, String picPath, String suffix){ List wpdList = docx.getAllPictures(); if(wpdList != null && wpdList.size() > 0){ for (int i = 0; i < wpdList.size(); i++) { byte[] picByte = wpdList.get(i).getData(); //获取图片数据流 FileOutputStream fos = null; try { fos = new FileOutputStream(picPath + i + suffix); } catch (FileNotFoundException e) { e.printStackTrace(); }finally{ try { fos.write(picByte); } catch (IOException e) { e.printStackTrace(); } } } } }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!