├── .classpath ├── .project ├── .settings ├── org.eclipse.jdt.core.prefs └── org.eclipse.m2e.core.prefs ├── bin └── com │ └── test │ ├── PDFReaderUtil.class │ ├── POIReadExcelToHtml.class │ ├── POIReadWordToHtml.class │ └── PPTtoImage.class ├── pom.xml ├── resources └── doc2html.properties ├── src └── com │ └── doc2html │ ├── Doc2Html.java │ ├── Doc2HtmlFactory.java │ ├── Excel2Html.java │ ├── PDF2Html.java │ ├── PPT2Html.java │ ├── Word2Html.java │ ├── bean │ ├── ExcelFontInfo.java │ ├── ExcelPictureData.java │ ├── HtmlImage.java │ ├── HtmlTable.java │ ├── HtmlTableTd.java │ ├── HtmlTableTr.java │ └── dto │ │ ├── DocHtmlDto.java │ │ ├── ExcelHtmlResultDto.java │ │ ├── ExcelSheetDto.java │ │ ├── PDFHtmlResultDto.java │ │ ├── PPTHtmlResultDto.java │ │ └── WordHtmlDto.java │ └── config │ └── Config.java └── target └── classes └── doc2html.properties /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | doc2html 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.m2e.core.maven2Nature 21 | org.eclipse.jdt.core.javanature 22 | 23 | 24 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 12 | org.eclipse.jdt.core.compiler.source=1.8 13 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /bin/com/test/PDFReaderUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/bin/com/test/PDFReaderUtil.class -------------------------------------------------------------------------------- /bin/com/test/POIReadExcelToHtml.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/bin/com/test/POIReadExcelToHtml.class -------------------------------------------------------------------------------- /bin/com/test/POIReadWordToHtml.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/bin/com/test/POIReadWordToHtml.class -------------------------------------------------------------------------------- /bin/com/test/PPTtoImage.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/bin/com/test/PPTtoImage.class -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | doc2html 5 | com.doc2html 6 | 0.0.1-SNAPSHOT 7 | 8 | 9 | org.apache.poi 10 | poi 11 | 3.14 12 | 13 | 14 | org.apache.poi 15 | poi-examples 16 | 3.14 17 | 18 | 19 | org.apache.poi 20 | poi-excelant 21 | 3.14 22 | 23 | 24 | org.apache.poi 25 | poi-scratchpad 26 | 3.14 27 | 28 | 29 | org.apache.poi 30 | poi-ooxml 31 | 3.14 32 | 33 | 34 | org.apache.poi 35 | ooxml-schemas 36 | 1.3 37 | 38 | 39 | org.apache.pdfbox 40 | pdfbox 41 | 2.0.9 42 | 43 | 44 | fr.opensagres.xdocreport 45 | xdocreport 46 | 1.0.6 47 | 48 | 49 | org.apache.xmlbeans 50 | xmlbeans 51 | 2.6.0 52 | 53 | 54 | 55 | org.projectlombok 56 | lombok 57 | 1.16.10 58 | 59 | 60 | -------------------------------------------------------------------------------- /resources/doc2html.properties: -------------------------------------------------------------------------------- 1 | baseDir=D:/doc2htmltest -------------------------------------------------------------------------------- /src/com/doc2html/Doc2Html.java: -------------------------------------------------------------------------------- 1 | package com.doc2html; 2 | 3 | import java.io.IOException; 4 | 5 | import com.doc2html.bean.dto.DocHtmlDto; 6 | 7 | public interface Doc2Html { 8 | 9 | public DocHtmlDto doc2Html(String filePath) throws IOException; 10 | } 11 | -------------------------------------------------------------------------------- /src/com/doc2html/Doc2HtmlFactory.java: -------------------------------------------------------------------------------- 1 | package com.doc2html; 2 | 3 | import java.io.IOException; 4 | import java.util.HashMap; 5 | import java.util.Map; 6 | 7 | import com.doc2html.bean.dto.DocHtmlDto; 8 | 9 | public class Doc2HtmlFactory { 10 | 11 | private static Doc2Html excel2Html = new Excel2Html(); 12 | private static Doc2Html pdf2Html = new PDF2Html(); 13 | private static Doc2Html ppt2Html = new PPT2Html(); 14 | private static Doc2Html word2Html = new Word2Html(); 15 | 16 | public static Map instanceMap = new HashMap(); 17 | static { 18 | instanceMap.put("doc", word2Html); 19 | instanceMap.put("docx", word2Html); 20 | instanceMap.put("xls", excel2Html); 21 | instanceMap.put("xlsx", excel2Html); 22 | instanceMap.put("ppt", ppt2Html); 23 | instanceMap.put("pptx", ppt2Html); 24 | instanceMap.put("pdf", pdf2Html); 25 | } 26 | 27 | public static Doc2Html getInstance(String filePath) { 28 | if (filePath.indexOf(".") >= 0) { 29 | String fileType = filePath.substring(filePath.lastIndexOf(".") + 1, filePath.length()); 30 | Doc2Html doc2Html = instanceMap.get(fileType.toLowerCase()); 31 | return doc2Html; 32 | } 33 | return null; 34 | } 35 | 36 | public static DocHtmlDto coverToHtml(String filePath) { 37 | Doc2Html doc2Html = getInstance(filePath); 38 | if (doc2Html != null) { 39 | try { 40 | return doc2Html.doc2Html(filePath); 41 | } catch (IOException e) { 42 | e.printStackTrace(); 43 | } 44 | } 45 | return null; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/com/doc2html/Excel2Html.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/src/com/doc2html/Excel2Html.java -------------------------------------------------------------------------------- /src/com/doc2html/PDF2Html.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/src/com/doc2html/PDF2Html.java -------------------------------------------------------------------------------- /src/com/doc2html/PPT2Html.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/src/com/doc2html/PPT2Html.java -------------------------------------------------------------------------------- /src/com/doc2html/Word2Html.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/src/com/doc2html/Word2Html.java -------------------------------------------------------------------------------- /src/com/doc2html/bean/ExcelFontInfo.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class ExcelFontInfo { 9 | 10 | private boolean bold; 11 | private Integer fontSize; 12 | private String fontFamily; 13 | private String color; 14 | } 15 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/ExcelPictureData.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class ExcelPictureData { 9 | 10 | private int row1; 11 | private int row2; 12 | 13 | private int col1; 14 | private int col2; 15 | 16 | private int col1X; 17 | private int col2X; 18 | 19 | private int row1Y; 20 | private int row2Y; 21 | 22 | private String path; 23 | } 24 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/HtmlImage.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class HtmlImage { 9 | 10 | private String path; 11 | private int top; 12 | private int left; 13 | private int width; 14 | private int height; 15 | 16 | @Override 17 | public String toString() { 18 | StringBuilder result = new StringBuilder(); 19 | result.append("
"); 26 | return result.toString(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/HtmlTable.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class HtmlTable { 7 | 8 | private List trList = new ArrayList(); 9 | private List imageList = null; 10 | 11 | public void addTr(HtmlTableTr tr) { 12 | trList.add(tr); 13 | } 14 | 15 | public HtmlTableTr getTr(int index) { 16 | return trList.get(index); 17 | } 18 | 19 | public void setImageList(List imageList) { 20 | this.imageList = imageList; 21 | } 22 | 23 | @Override 24 | public String toString() { 25 | StringBuilder html = new StringBuilder(); 26 | html.append(""); 27 | for (HtmlTableTr tr : trList) { 28 | html.append(""); 29 | List tdList = tr.getTdList(); 30 | for (HtmlTableTd td : tdList) { 31 | if (td != null) { 32 | html.append(td.toString()); 33 | } 34 | } 35 | html.append(""); 36 | } 37 | html.append("
"); 38 | if (imageList != null && !imageList.isEmpty()) { 39 | for (HtmlImage image : imageList) { 40 | html.append(image.toString()); 41 | } 42 | } 43 | return html.toString(); 44 | } 45 | 46 | public List getTrList() { 47 | return trList; 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/HtmlTableTd.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class HtmlTableTd { 9 | 10 | private String text; 11 | private Integer width; 12 | private Integer height; 13 | private Integer colspan; 14 | private Integer rowspan; 15 | private String background; 16 | private String valign; 17 | private String align; 18 | 19 | private ExcelFontInfo font; 20 | 21 | @Override 22 | public String toString() { 23 | StringBuilder str = new StringBuilder(); 24 | str.append(""); 49 | if (text != null) { 50 | text = text.replace("\n", "
").replace(" ", " "); 51 | if (font != null) { 52 | str.append(""); 66 | str.append(text); 67 | str.append(""); 68 | } else { 69 | str.append(text); 70 | } 71 | } else { 72 | str.append(" "); 73 | } 74 | str.append(""); 75 | return str.toString(); 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/HtmlTableTr.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class HtmlTableTr { 7 | 8 | private List tdList = new ArrayList(); 9 | 10 | public HtmlTableTd getTd(int index) { 11 | return tdList.get(index); 12 | } 13 | 14 | public void addTd(HtmlTableTd td) { 15 | tdList.add(td); 16 | } 17 | 18 | public List getTdList() { 19 | return tdList; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/DocHtmlDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | import java.util.List; 4 | 5 | public abstract class DocHtmlDto { 6 | 7 | private String html; 8 | private List imageList; 9 | 10 | public String getHtml() { 11 | return html; 12 | } 13 | 14 | public void setHtml(String html) { 15 | this.html = html; 16 | } 17 | 18 | public List getImageList() { 19 | return imageList; 20 | } 21 | 22 | public void setImageList(List imageList) { 23 | this.imageList = imageList; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/ExcelHtmlResultDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | import java.util.List; 4 | 5 | import lombok.Getter; 6 | import lombok.Setter; 7 | 8 | @Setter 9 | @Getter 10 | public class ExcelHtmlResultDto extends DocHtmlDto { 11 | 12 | private List sheetList; 13 | private Integer activeSheetIndex; 14 | } 15 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/ExcelSheetDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Setter 7 | @Getter 8 | public class ExcelSheetDto { 9 | 10 | private String sheetName; 11 | private Integer sheetIndex; 12 | private String html; 13 | } 14 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/PDFHtmlResultDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | import java.util.List; 4 | 5 | public class PDFHtmlResultDto extends DocHtmlDto { 6 | 7 | @Override 8 | public String getHtml() { 9 | List imageList = getImageList(); 10 | if (imageList != null && !imageList.isEmpty()) { 11 | StringBuilder result = new StringBuilder(); 12 | for (String imagePath : imageList) { 13 | result.append(""); 14 | } 15 | return result.toString(); 16 | } 17 | return null; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/PPTHtmlResultDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | import java.util.List; 4 | 5 | public class PPTHtmlResultDto extends DocHtmlDto { 6 | 7 | @Override 8 | public String getHtml() { 9 | List imageList = getImageList(); 10 | if (imageList != null && !imageList.isEmpty()) { 11 | StringBuilder result = new StringBuilder(); 12 | for (String imagePath : imageList) { 13 | result.append(""); 14 | } 15 | return result.toString(); 16 | } 17 | return null; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/com/doc2html/bean/dto/WordHtmlDto.java: -------------------------------------------------------------------------------- 1 | package com.doc2html.bean.dto; 2 | 3 | public class WordHtmlDto extends DocHtmlDto { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/com/doc2html/config/Config.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglix/doc2html/128468a1969457c6fbde04ca76215568c6c69cac/src/com/doc2html/config/Config.java -------------------------------------------------------------------------------- /target/classes/doc2html.properties: -------------------------------------------------------------------------------- 1 | baseDir=D:/doc2htmltest --------------------------------------------------------------------------------