电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

用Java从Doc和Docx格式的Word文档中提取图片VIP免费

用Java从Doc和Docx格式的Word文档中提取图片_第1页
1/12
用Java从Doc和Docx格式的Word文档中提取图片_第2页
2/12
用Java从Doc和Docx格式的Word文档中提取图片_第3页
3/12
用Java从Doc和Docx格式的Word文档中提取图片Doc和Docx的文档格式因为存储格式不一样,所以需要用不通的方法提取图片。Docx格式的文档实际上是压缩文件,用程序提取图片相对实际上只需要对文章进行解压缩,然后到指定文件夹找到图片即可。Doc文档则需要把图片数据读出来,再生成文件。下面代码均可直接运行。从Docx文件中提取图片的代码:packagecom.onlan.docx;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.util.Enumeration;importjava.util.zip.ZipEntry;importjava.util.zip.ZipFile;publicclassImgExt4Docx{/***@paramargs*/staticfinalintBUFFER=2048;publicstaticvoidmain(String[]args){StringinputFilename="D:/work/test.docx";StringunZipPathname="D:/work/unZipDir/";ImgExt4Docxied=newImgExt4Docx();System.out.println(ied.unZipDocx(inputFilename,unZipPathname));}/**returnthefoldoftheimages*/publicStringunZipDocx(Stringdocxfile,StringdestDir){try{StringinputFilename=docxfile;StringunZipPathname=destDir;ZipFilezipFile=newZipFile(inputFilename);Enumerationenu=zipFile.entries();inti=0;while(enu.hasMoreElements()){ZipEntryzipEntry=(ZipEntry)enu.nextElement();if(zipEntry.isDirectory()){newFile(unZipPathname+zipEntry.getName()).mkdirs();continue;}BufferedInputStreambis=newBufferedInputStream(zipFile.getInputStream(zipEntry));Filefile=newFile(unZipPathname+zipEntry.getName());Fileparent=file.getParentFile();if(parent!=null&&!parent.exists()){parent.mkdirs();}FileOutputStreamfos=newFileOutputStream(file);BufferedOutputStreambos=newBufferedOutputStream(fos,BUFFER);intcount;byte[]array=newbyte[BUFFER];while((count=bis.read(array,0,BUFFER))!=-1){bos.write(array,0,BUFFER);}bos.flush();bos.close();bis.close();}returndestDir+"word/media";}catch(Exceptione){e.printStackTrace();returnnull;}}}从Doc文件中提取图片的代码,该代码不仅可以从文档中提取图片,还可以把Doc文档中图片所在位置加上标签以及图片文件名,与提取的图片对应起来:packagecom.onlan;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.InputStream;importjava.io.OutputStream;importorg.apache.poi.hwpf.HWPFDocument;importorg.apache.poi.hwpf.model.PicturesTable;importorg.apache.poi.hwpf.usermodel.CharacterRun;importorg.apache.poi.hwpf.usermodel.Picture;importorg.apache.poi.hwpf.usermodel.Range;publicclassImgExt4Doc{publicvoidreadWord(StringdocFile,StringimgStoreDir)throwsException{Filef=newFile(docFile);///Filef=newFile("D:\\work\\test.doc");//InputStreamin=newFileInputStream(f);HWPFDocumentmsWord=newHWPFDocument(in);Stringtext="";PicturesTablepTable=msWord.getPicturesTable();intnumCharacterRuns=msWord.getRange().numCharacterRuns();//ArrayListpList=msWord.getParagraphTable().getParagraphs();//PAPXp=pList.get(0);intunderlinecode=0;intimgcount=0;OutputStreamout=null;intstartOffset=0,endOffset;intenterCount=0;for(inti=0;i";imgcount++;}}in.close();System.out.println(text);}/***@paramargs*/publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstubImgExt4Docpt1=newImgExt4Doc();pt1.readWord("D:\\work\\test.doc","D:\\work\\imgOutput\\");}}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

用Java从Doc和Docx格式的Word文档中提取图片

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部