packageconv;importjava.io.BufferedWriter;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.util.Base64;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.ParserConfigurationException;importjavax.xml.transform.OutputKeys;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerException;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importorg.apache.poi.hwpf.HWPFDocument;importorg.apache.poi.hwpf.converter.PicturesManager;importorg.apache.poi.hwpf.converter.WordToHtmlConverter;importorg.apache.poi.hwpf.usermodel.PictureType;importorg.w3c.dom.Document;public classWord2HtmlAboutPic {public static voidmain(String argv[]) {try{

convert2Html("D://2.doc", "D://2.html");

}catch(Exception e) {

e.printStackTrace();

}

}public static voidwriteFile(String content, String path) {

FileOutputStream fos= null;

BufferedWriter bw= null;try{

File file= newFile(path);

fos= newFileOutputStream(file);

bw= new BufferedWriter(new OutputStreamWriter(fos, "GB2312"));

bw.write(content);

}catch(FileNotFoundException fnfe) {

fnfe.printStackTrace();

}catch(IOException ioe) {

ioe.printStackTrace();

}finally{try{if (bw != null)

bw.close();if (fos != null)

fos.close();

}catch(IOException ie) {

ie.printStackTrace();

}

}

}public static void write2File(byte[] content, String path) {

FileOutputStream fos= null;

BufferedWriter bw= null;try{

File file= newFile(path);

fos= newFileOutputStream(file);

fos.write(content);

fos.close();

}catch(FileNotFoundException fnfe) {

fnfe.printStackTrace();

}catch(IOException ioe) {

ioe.printStackTrace();

}finally{try{if (bw != null)

bw.close();if (fos != null)

fos.close();

}catch(IOException ie) {

ie.printStackTrace();

}

}

}public static voidconvert2Html(String fileName, String outPutFile)throwsTransformerException, IOException, ParserConfigurationException {

Base64.Encoder encoder=Base64.getEncoder();

HWPFDocument wordDocument= new HWPFDocument(newFileInputStream(fileName));

WordToHtmlConverter wordToHtmlConverter= newWordToHtmlConverter(

DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());

wordToHtmlConverter.setPicturesManager(newPicturesManager() {public String savePicture(byte[] content, PictureType pictureType, String suggestedName, floatwidthInches,floatheightInches) {

String encodedText= newString(encoder.encode(content));

String imgSrc= "data:" + pictureType.getMime() + ";" + "base64," +encodedText;returnimgSrc;

}

});

wordToHtmlConverter.processDocument(wordDocument);

Document htmlDocument=wordToHtmlConverter.getDocument();

ByteArrayOutputStream out= newByteArrayOutputStream();

DOMSource domSource= newDOMSource(htmlDocument);

StreamResult streamResult= newStreamResult(out);

TransformerFactory tf=TransformerFactory.newInstance();

Transformer serializer=tf.newTransformer();

serializer.setOutputProperty(OutputKeys.ENCODING,"UTF-8");

serializer.setOutputProperty(OutputKeys.INDENT,"yes");

serializer.setOutputProperty(OutputKeys.METHOD,"html");

serializer.transform(domSource, streamResult);

out.close();

write2File(out.toByteArray(), outPutFile);

}

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐