效果如下:
啦啦啦啦啦啦我是卖报的小行家
/// <summary> /// Word转换成PDF /// </summary> /// <param name="inputPath">载入路径</param> /// <param name="outputPath">保存路径</param> /// <param name="startPage">初始页码(默认为第一页[0])</param> /// <param name="endPage">结束页码(默认为最后一页)</param> public static bool WordToPDF(string inputPath, string outputPath, int startPage =0, int endPage = 0) { bool b = true;
#region初始化 //初始化一个application Application wordApplication = new Application(); //初始化一个document Document wordDocument = null; #endregion
#region参数设置~~我去累死宝宝了~~ //word路径 object wordPath = Path.GetFullPath(inputPath);
//输出路径 string pdfPath = Path.GetFullPath(outputPath);
//导出格式为PDF WdExportFormat wdExportFormat = WdExportFormat.wdExportFormatPDF;
//导出大文件 WdExportOptimizeFor wdExportOptimizeFor =WdExportOptimizeFor.wdExportOptimizeForPrint;
//导出整个文档 WdExportRange wdExportRange = WdExportRange.wdExportAllDocument;
//开始页码 int startIndex = startPage;
//结束页码 int endIndex = endPage;
//导出不带标记的文档(这个可以改) WdExportItem wdExportItem = WdExportItem.wdExportDocumentContent;
//包含word属性 bool includeDocProps = true;
//导出书签 WdExportCreateBookmarks paramCreateBookmarks =WdExportCreateBookmarks.wdExportCreateWordBookmarks;
//默认值 object paramMissing = Type.Missing;
#endregion
#region转换 try { //打开word wordDocument = wordApplication.Documents.Open(ref wordPath, ref paramMissing, refparamMissing, ref paramMissing, ref paramMissing, ref paramMissing, refparamMissing, ref paramMissing, ref paramMissing, ref paramMissing, refparamMissing, ref paramMissing, ref paramMissing, ref paramMissing, refparamMissing, ref paramMissing); //转换成指定格式 if (wordDocument != null) { wordDocument.ExportAsFixedFormat(pdfPath, wdExportFormat, false, wdExportOptimizeFor, wdExportRange, startIndex, endIndex, wdExportItem, includeDocProps, true, paramCreateBookmarks, true, true, false, refparamMissing); } } catch (Exception ex) { b = false; } finally { //关闭 if (wordDocument != null) { wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing); wordDocument = null; }
//退出 if (wordApplication != null) { wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing); wordApplication = null; } }
return b; #endregion } |