//============================================================
贴别注意注意:jar包版本poi-ooxml只能用3.9/3.8,这里就有问题ppt07版,转换会报错,如果用3.10.1的poi-ooxml,07的word转换报错,目前没有更好的办法解决,各位如有好办法不吝赐教,非常感谢args4jargs4j2.32org.docx4jdocx4j3.2.1org.apache.poipoi3.14org.apache.poipoi-ooxml3.9org.apache.poipoi-scratchpad3.9fr.opensagres.xdocreportorg.apache.poi.xwpf.converter.pdf1.0.5com.itextpdfitextpdf5.5.6fr.opensagres.xdocreportorg.odftoolkit.odfdom.converter.pdf1.0.5fr.opensagres.xdocreportfr.opensagres.xdocreport.itext.extension1.0.5org.springframeworkorg.springframework.core3.2.2.RELEASEorg.apache.commonscommons-lang33.8jexcelapijxl2.4.2com.itextpdfitextpdf5.5.5org.apache.poipoi-ooxml3.9//============================================================package ss;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;public abstract class Converter {private final String LOADING_FORMAT = "\nLoading stream\n\n";private final String PROCESSING_FORMAT = "Load completed in %1$dms, now converting...\n\n";private final String SAVING_FORMAT = "Conversion took %1$dms.\n\nTotal: %2$dms\n";private long startTime;private long startOfProcessTime;protected InputStream inStream;protected OutputStream outStream;protected boolean showOutputMessages = false;protected boolean closeStreamsWhenComplete = true;public Converter(InputStream inStream, OutputStream outStream, boolean showMessages, boolean closeStreamsWhenComplete){this.inStream = inStream;this.outStream = outStream;this.showOutputMessages = showMessages;this.closeStreamsWhenComplete = closeStreamsWhenComplete;}public abstract void convert() throws Exception;private void startTime(){startTime = System.currentTimeMillis();startOfProcessTime = startTime;}protected void loading(){sendToOutputOrNot(String.format(LOADING_FORMAT));startTime();}protected void processing(){long currentTime = System.currentTimeMillis();long prevProcessTook = currentTime - startOfProcessTime;sendToOutputOrNot(String.format(PROCESSING_FORMAT, prevProcessTook));startOfProcessTime = System.currentTimeMillis();}protected void finished(){long currentTime = System.currentTimeMillis();long timeTaken = currentTime - startTime;long prevProcessTook = currentTime - startOfProcessTime;startOfProcessTime = System.currentTimeMillis();if(closeStreamsWhenComplete){try {inStream.close();outStream.close();} catch (IOException e) {//Nothing done}}sendToOutputOrNot(String.format(SAVING_FORMAT, prevProcessTook, timeTaken));}private void sendToOutputOrNot(String toBePrinted){if(showOutputMessages){actuallySendToOutput(toBePrinted);}}protected void actuallySendToOutput(String toBePrinted){System.out.println(toBePrinted);}}package ss;import java.io.*;import org.apache.commons.lang3.StringUtils;/*** Created by IntelliJ IDEA.* User:MUZI* Date: 2018/8/20*/public class ConverterToPDF {public static void tOpdfmain() throws Exception {String fileUrl = "F:\\doc\\image\\";InputStream inStream = new FileInputStream(new File(fileUrl));OutputStream outStream = null;//new FileOutputStream(new File("F:\\doc\\TEST.pdf"));if (StringUtils.isBlank(fileUrl)) {throw new Exception("文件路径为空,找不到该文件");}if (fileUrl.endsWith("doc")) {DocToPDFConverter docToPDFConverter = new DocToPDFConverter(inStream, outStream, true, true) ;docToPDFConverter.convert();} else if (fileUrl.endsWith("docx")) {DocxToPDFConverter docxToPDFConverter = new DocxToPDFConverter(inStream, outStream, true, true);docxToPDFConverter.convert();} else if (fileUrl.endsWith("ppt")) {PptToPDFConverter pptToPDFConverter = new PptToPDFConverter(inStream , outStream , true , true);pptToPDFConverter.convert();} else if (fileUrl.endsWith("pptx")) {PptxToPDFConverter pptxToPDFConverter = new PptxToPDFConverter(inStream , outStream , true , true);pptxToPDFConverter.convert();outStream = new FileOutputStream(new File(&
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!