一、添加依赖
为wpf项目引用Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.PowerPoint、Microsoft.Office.Interop.Word、Office,依赖文件已经打到源代码包里了。
二、先定义一些命名空间
using Word = Microsoft.Office.Interop.Word;using Excel = Microsoft.Office.Interop.Excel;using PPT = Microsoft.Office.Interop.PowerPoint;
三、Word转PDF
/// <summary>/// Word转PDF/// </summary>/// <param name="strWordPath">待转化的Word文件</param>/// <param name="strPdfPath">转换后的pdf文件路径</param>/// <returns></returns>public static bool ConverterWordToPdf(string strWordPath, string strPdfPath){Word.Application appWord = null;Word.Document docWord = null;try{appWord = new Word.Application();docWord = appWord.Documents.Open(strWordPath);docWord.ExportAsFixedFormat(strPdfPath, Word.WdExportFormat.wdExportFormatPDF);return true;}catch{return false;}finally{if(docWord != null){docWord.Close(false);}if(appWord != null){appWord.NormalTemplate.Saved = true;appWord.Quit(false);}}}
四、Excel转PDF
public static bool ConverterExcelToPdf(string strExcelPath, string strPdfPath){Excel.Application appExcel = null;Excel.Workbook docExcel = null;try{appExcel = new Excel.Application();docExcel = appExcel.Workbooks.Open(strExcelPath, System.Reflection.Missing.Value, true);docExcel.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, strPdfPath);return true;}catch{return false;}finally{if (docExcel != null){docExcel.Close(false);}if (appExcel != null){appExcel.Quit();}}}
五、PPT转PDF
public static bool ConverterPPTToPdf(string strPPTPath, string strPdfPath){PPT.Application appPPT = null;PPT.Presentation pptPresentation = null;try{appPPT = new PPT.Application();pptPresentation = appPPT.Presentations.Open(strPPTPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);pptPresentation.SaveAs(strPdfPath, PPT.PpSaveAsFileType.ppSaveAsPDF);return true;}catch{return false;}finally{if (pptPresentation != null){pptPresentation.Close();}if (appPPT != null){appPPT.Quit();}}}
六、我写了一个简单的转换代码,源码下载地址如下
word、excel、ppt转pdf源码地址
软件运行截图