需要的jar包有:有一些是依赖包,可以使用maven下载

doc文件转换为html文件

packagecom.gsww.sxzz.controller.service;importorg.apache.poi.hwpf.HWPFDocument;importorg.apache.poi.hwpf.converter.PicturesManager;importorg.apache.poi.hwpf.converter.WordToHtmlConverter;importorg.apache.poi.hwpf.usermodel.Picture;importorg.apache.poi.hwpf.usermodel.PictureType;importorg.jsoup.Jsoup;importorg.w3c.dom.Document;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;import java.io.*;importjava.util.List;/*** Created by Carey on 15-2-2.*/
public classdocTohtml {public static voidmain(String argv[]) {try{convert2Html("D:\\b.doc","D:\\1.html");}catch(Exception e) {e.printStackTrace();}}//输出html文件public static voidwriteFile(String content, String path) {FileOutputStream fos= null; BufferedWriter bw= null;org.jsoup.nodes.Document doc=Jsoup.parse(content);String styleOld=doc.getElementsByTag("style").html();//统一字体格式为宋体styleOld=styleOld.replaceAll("font-family:.+(?=;\\b)", "font-family:SimSun");doc.getElementsByTag("head").empty();doc.getElementsByTag("head").append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></meta>");doc.getElementsByTag("head").append(" <style type=\"text/css\"></style>");doc.getElementsByTag("style").append(styleOld);/*正则表达式查询字体内容:font-family:.+(?=;\b)*/System.out.println(content);content=doc.html();content=content.replace("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">", "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></meta>");try{File file= newFile(path);fos= newFileOutputStream(file);bw= new BufferedWriter(new OutputStreamWriter(fos,"UTF-8"));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) {}}}//word 转 htmlpublic static voidconvert2Html(String fileName, String outPutFile)throwsTransformerException, IOException,ParserConfigurationException {HWPFDocument wordDocument= new HWPFDocument(new FileInputStream(fileName));//WordToHtmlUtils.loadDoc(new FileInputStream(inputFile));//兼容2007 以上版本//XSSFWorkbook  xssfwork=new XSSFWorkbook(new FileInputStream(fileName));WordToHtmlConverter wordToHtmlConverter = newWordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());wordToHtmlConverter.setPicturesManager(newPicturesManager(){public String savePicture( byte[] content,PictureType pictureType, String suggestedName,float widthInches, floatheightInches ){return "test/"+suggestedName;}} );wordToHtmlConverter.processDocument(wordDocument);//save picturesList pics=wordDocument.getPicturesTable().getAllPictures();if(pics!=null){for(int i=0;i<pics.size();i++){Picture pic=(Picture)pics.get(i);System.out.println();try{pic.writeImageContent(new FileOutputStream("D:/test/"+pic.suggestFullFileName()));}catch(FileNotFoundException e) {e.printStackTrace();}}}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();writeFile(newString(out.toByteArray()), outPutFile);}
}

遇到的问题,当doc转换为html时不会将图像的线条给转换过来。只有在table表格中才可以转换为span标签。如果要作下滑线,可以放一个table的单元格只设定下边框就可以完美转换为html了。

将html转换为pdf

packagecom.gsww.sxzz.controller.service;importcom.lowagie.text.pdf.BaseFont;importorg.xhtmlrenderer.pdf.ITextFontResolver;importorg.xhtmlrenderer.pdf.ITextRenderer;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.OutputStream;/*** Created by Carey on 15-2-2.*/
public classhtmlToPdf {public booleanconvertHtmlToPdf(String inputFile, String outputFile){try{OutputStream     os= newFileOutputStream(outputFile);ITextRenderer renderer= newITextRenderer();String url= newFile(inputFile).toURI().toURL().toString();renderer.setDocument(url);//解决中文支持问题ITextFontResolver fontResolver =renderer.getFontResolver();/*fontResolver.addFont("C:\\Windows\\Fonts\\simsunb.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);*///宋体文件的相对路径fontResolver.addFont("C:\\Windows\\Fonts\\simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);     renderer.getSharedContext().setBaseURL("file:/D:/");renderer.layout();renderer.createPDF(os);os.flush();os.close();}catch(Exception e) {//TODO Auto-generated catch block
e.printStackTrace();}return true;}public   static  voidmain(String [] args){htmlToPdf html2Pdf=newhtmlToPdf();try{html2Pdf.convertHtmlToPdf("D:\\1.html","D:\\index.pdf");}catch(Exception e) {e.printStackTrace();}}
}

转载于:https://www.cnblogs.com/gynbk/p/7230849.html

使用POI将doc文件转换为html相关推荐

  1. doc文件转换html,HTML+CSS入门 如何使用POI将doc文件转换为HTML

    本篇教程介绍了HTML+CSS入门 如何使用POI将doc文件转换为HTML,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 需要的jar包有:有一些是依赖包,可以使用ma ...

  2. doc转docx文件会乱吗_利用python将doc文件转换为docx

    需求:最近在研究word文档的抽取,发现python中docx库只能提取以docx结尾的文件,因此需要将doc文件转换为docx. 基础知识了解 1.什么是doc? 汉语:文档(外语全称:Docume ...

  3. .doc文件转换为.docx文件

    .doc文件转换为.docx文件的python程序 #此程序调用wps来工作,如果只安装有word,则需要适当调整程序. #此程序将在待处理文件夹下新建一个名为'new'的目录,将转换后的.docx放 ...

  4. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

    标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...

  5. docx命令运行Java_使用Java将DOC文件转换为DOCX

    7 个答案: 答案 0 :(得分:3) // Open a document. Document doc = new Document("input.doc"); // Save ...

  6. php生成图片文件流,php如何将base64数据流文件转换为图片文件?

    2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 ***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一 ...

  7. 【Java】操作doc文件

    读取txt文件 在Java里要对文件进行操作,需要用到IO流. public static void main(String args[]){File f = new File("test. ...

  8. 使用POI转换word doc文件

    目录 1       转换为Html文件 2       转换为Xml文件 3       转换为Text文件 在POI中还存在有针对于word doc文件进行格式转换的功能.我们可以将word的内容 ...

  9. java导出表格vsd_java - 如何使用Apache POI将vsd / vsdx文件转换为图像(例如jpg png) - 堆栈内存溢出...

    我正在使用apache poi读取doc / docx文件. 现在,我可以从文档文件中提取段落和图片. 当我的doc文件中有vsd时,如何将vsd转换为png图像? 我尝试了这个: private b ...

最新文章

  1. oracle参数文件initorcl位置,ORACLE参数文件
  2. 使用valgrind分析C程序调用线路图
  3. 计算机由那几个基础部分组成,计算机的基本组成由哪些?
  4. python语言教程-python基础教程
  5. 二十万字!耗时90天
  6. 启明云端分享| 基于SSD201核心板的4.3寸彩屏开发板接口相关说明
  7. [html] 可以给内联元素设置宽和高吗?为什么?
  8. 使用PowerShell和SQL的示例可用性监视服务的插图
  9. iis服务器发布web项目,webservice创建、发布及在IIS上部署
  10. ActionFilterAttribute
  11. 扩展频谱--直接序列扩频
  12. Unity编辑器扩展
  13. Homebrew国内加速
  14. 《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》SAFe基础
  15. Stack和Queue:后进先出和先进先出和Java 实现后进先出(LIFO)及Stac和Java集合类: Set、List、Map、Queue使用场景梳理 - .Little Hann
  16. 狂神HTML5学习笔记
  17. chrome 下载 中断_如何在Google Chrome浏览器中恢复中断的下载
  18. 李沐论文精读系列二:Vision Transformer、MAE、Swin-Transformer
  19. 绿洲App更换logo 在App Store重新上架,苏宁活动又来了!没上车的快来
  20. python 携程_请教两个关于使用 python 爬去哪儿,携程等机票网站的问题

热门文章

  1. oracle中primary,oracle中如何 Primary key自增
  2. Qt窗口、控件、文本等的一些常用操作
  3. python 验证回文串
  4. SLAM知识[7]:依赖项和安装
  5. 基于matlab水轮机期刊,基于MATLAB/SIMULINK的水轮机调节系统寻优
  6. java static 变量共享_java中如何理解多个对象共享同一个静态成员变量?
  7. python3 os模块
  8. vue框架实现pdf在线预览
  9. linux目录挂载到内存,Linux中内存挂载到目录下
  10. 统计学习笔记(3)——k近邻法与kd树