PPT轉高清圖片
阿新 • • 發佈:2018-11-04
1、PPT轉PDF
import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import java.io.File; public class Test2 { private static final int wdFormatPDF = 17; private static final int xlsFormatPDF = 0; private static final int pptFormatPDF = 32; private static final int msoTrue = -1; private static final int msofalse = 0; public static boolean convert2PDF(String inputFile, String pdfFile) { String suffix = getFileSufix(inputFile); File file = new File(inputFile); if (!file.exists()) { System.out.println("檔案不存在!"); return false; } if (suffix.equals("pdf")) { System.out.println("PDF not need to convert!"); return false; } if (suffix.equals("doc") || suffix.equals("docx")) { return word2PDF(inputFile, pdfFile); } else if (suffix.equals("ppt") || suffix.equals("pptx")) { return ppt2PDF(inputFile, pdfFile); } else if (suffix.equals("xls") || suffix.equals("xlsx")) { return excel2PDF(inputFile, pdfFile); } else { System.out.println("檔案格式不支援轉換!"); return false; } } private static String getFileSufix(String fileName) { int splitIndex = fileName.lastIndexOf("."); return fileName.substring(splitIndex + 1); } private static boolean word2PDF(String inputFile, String pdfFile) { try { ActiveXComponent app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", false); Dispatch docs = app.getProperty("Documents").toDispatch(); Dispatch doc = Dispatch.call(docs, "Open", inputFile, false, true) .toDispatch(); File tofile = new File(pdfFile); if (tofile.exists()) { tofile.delete(); } Dispatch.call(doc, "ExportAsFixedFormat", pdfFile, wdFormatPDF ); Dispatch.call(doc, "Close", false); app.invoke("Quit", 0); return true; } catch (Exception e) { return false; } } private static boolean excel2PDF(String inputFile, String pdfFile) { try { ActiveXComponent app = new ActiveXComponent("Excel.Application"); app.setProperty("Visible", false); Dispatch excels = app.getProperty("Workbooks").toDispatch(); Dispatch excel = Dispatch.call(excels, "Open", inputFile, false, true).toDispatch(); File tofile = new File(pdfFile); if (tofile.exists()) { tofile.delete(); } Dispatch.call(excel, "ExportAsFixedFormat", xlsFormatPDF, pdfFile); Dispatch.call(excel, "Close", false); app.invoke("Quit"); return true; } catch (Exception e) { return false; } } private static boolean ppt2PDF(String inputFile, String pdfFile) { try { ActiveXComponent app = new ActiveXComponent( "PowerPoint.Application"); Dispatch ppts = app.getProperty("Presentations").toDispatch(); Dispatch ppt = Dispatch.call(ppts, "Open", inputFile, true,// ReadOnly true,// Untitled指定檔案是否有標題 false// WithWindow指定檔案是否可見 ).toDispatch(); File tofile = new File(pdfFile); if (tofile.exists()) { tofile.delete(); } Dispatch.call(ppt, "SaveAs", pdfFile, pptFormatPDF); Dispatch.call(ppt, "Close"); app.invoke("Quit"); return true; } catch (Exception e) { return false; } } public static void main(String[] args) { Test2.convert2PDF("D:\\9Maintenance?monthly?report_Sept.2018.pptx", "D:\\ppt1.pdf"); } }
2、PDF轉圖片
文件參照 https://blog.csdn.net/Knight_Key/article/details/83536184
3、資源下載連結
ppt轉pdf:https://download.csdn.net/download/knight_key/10752286
pdf轉圖片:https://download.csdn.net/download/knight_key/10752175