zoukankan      html  css  js  c++  java
  • Office文件转PDF

      1  /// <summary>
      2     /// Office转PDF
      3     /// </summary>
      4     public class Office2PDFHelper
      5     {
      6         public Office2PDFHelper()
      7         {
      8             //
      9             // TODO: 在此处添加构造函数逻辑
     10             //
     11         }
     12         /// <summary>
     13         /// Word转换成pdf
     14         /// </summary>
     15         /// <param name="sourcePath">源文件路径</param>
     16         /// <param name="targetPath">目标文件路径</param>
     17         /// <returns>true=转换成功</returns>
     18         public static bool DOCConvertToPDF(string sourcePath, string targetPath)
     19         {
     20             bool result = false;
     21             Word.WdExportFormat exportFormat = Word.WdExportFormat.wdExportFormatPDF;
     22             object paramMissing = Type.Missing;
     23             Word.ApplicationClass wordApplication = new Word.ApplicationClass();
     24             Word.Document wordDocument = null;
     25             try
     26             {
     27                 object paramSourceDocPath = sourcePath;
     28                 string paramExportFilePath = targetPath;
     29                 Word.WdExportFormat paramExportFormat = exportFormat;
     30                 bool paramOpenAfterExport = false;
     31                 Word.WdExportOptimizeFor paramExportOptimizeFor = Word.WdExportOptimizeFor.wdExportOptimizeForPrint;
     32                 Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
     33                 int paramStartPage = 0;
     34                 int paramEndPage = 0;
     35                 Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
     36                 bool paramIncludeDocProps = true;
     37                 bool paramKeepIRM = true;
     38                 Word.WdExportCreateBookmarks paramCreateBookmarks = Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
     39                 bool paramDocStructureTags = true;
     40                 bool paramBitmapMissingFonts = true;
     41                 bool paramUseISO19005_1 = false;
     42                 wordDocument = wordApplication.Documents.Open(
     43                     ref paramSourceDocPath, ref paramMissing, ref paramMissing,
     44                     ref paramMissing, ref paramMissing, ref paramMissing,
     45                     ref paramMissing, ref paramMissing, ref paramMissing,
     46                     ref paramMissing, ref paramMissing, ref paramMissing,
     47                     ref paramMissing, ref paramMissing, ref paramMissing,
     48                     ref paramMissing);
     49                 if (wordDocument != null)
     50                     wordDocument.ExportAsFixedFormat(paramExportFilePath,
     51                         paramExportFormat, paramOpenAfterExport,
     52                         paramExportOptimizeFor, paramExportRange, paramStartPage,
     53                         paramEndPage, paramExportItem, paramIncludeDocProps,
     54                         paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,
     55                         paramBitmapMissingFonts, paramUseISO19005_1,
     56                         ref paramMissing);
     57                 result = true;
     58             }
     59             catch
     60             {
     61                 result = false;
     62             }
     63             finally
     64             {
     65                 if (wordDocument != null)
     66                 {
     67                     wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
     68                     wordDocument = null;
     69                 }
     70                 if (wordApplication != null)
     71                 {
     72                     wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
     73                     wordApplication = null;
     74                 }
     75                 GC.Collect();
     76                 GC.WaitForPendingFinalizers();
     77                 GC.Collect();
     78                 GC.WaitForPendingFinalizers();
     79             }
     80             return result;
     81         }
     82 
     83         /// <summary>
     84         /// 把Excel文件转换成PDF格式文件  
     85         /// </summary>
     86         /// <param name="sourcePath">源文件路径</param>
     87         /// <param name="targetPath">目标文件路径</param>
     88         /// <returns>true=转换成功</returns>
     89         public static bool XLSConvertToPDF(string sourcePath, string targetPath)
     90         {
     91             bool result = false;
     92             Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
     93             object missing = Type.Missing;
     94             Excel.ApplicationClass application = null;
     95             Excel.Workbook workBook = null;
     96             try
     97             {
     98                 application = new Excel.ApplicationClass();
     99                 object target = targetPath;
    100                 object type = targetType;
    101                 workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
    102                     missing, missing, missing, missing, missing, missing, missing, missing, missing);
    103                 workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
    104                 result = true;
    105             }
    106             catch
    107             {
    108                 result = false;
    109             }
    110             finally
    111             {
    112                 if (workBook != null)
    113                 {
    114                     workBook.Close(true, missing, missing);
    115                     workBook = null;
    116                 }
    117                 if (application != null)
    118                 {
    119                     application.Quit();
    120                     application = null;
    121                 }
    122                 GC.Collect();
    123                 GC.WaitForPendingFinalizers();
    124                 GC.Collect();
    125                 GC.WaitForPendingFinalizers();
    126             }
    127             return result;
    128         }
    129         ///<summary>        
    130         /// 把PowerPoint文件转换成PDF格式文件       
    131         ///</summary>        
    132         ///<param name="sourcePath">源文件路径</param>     
    133         ///<param name="targetPath">目标文件路径</param> 
    134         ///<returns>true=转换成功</returns> 
    135         public static bool PPTConvertToPDF(string sourcePath, string targetPath)
    136         {
    137             bool result;
    138             PowerPoint.PpSaveAsFileType targetFileType = PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
    139             object missing = Type.Missing;
    140             PowerPoint.ApplicationClass application = null;
    141             PowerPoint.Presentation persentation = null;
    142             try
    143             {
    144                 application = new PowerPoint.ApplicationClass();
    145                 persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);
    146                 result = true;
    147             }
    148             catch
    149             {
    150                 result = false;
    151             }
    152             finally
    153             {
    154                 if (persentation != null)
    155                 {
    156                     persentation.Close();
    157                     persentation = null;
    158                 }
    159                 if (application != null)
    160                 {
    161                     application.Quit();
    162                     application = null;
    163                 }
    164                 GC.Collect();
    165                 GC.WaitForPendingFinalizers();
    166                 GC.Collect();
    167                 GC.WaitForPendingFinalizers();
    168             }
    169             return result;
    170         }
    171     }
  • 相关阅读:
    Tire树的理解和应用
    C语言:socket简单模拟http请求
    C语言:关于socket的基础知识点
    php中的ip2long和long2ip的理解
    理解php中的pack/unpack/ord/chr
    zlog学习笔记(mdc)
    计算机工作的进行
    期末总结
    第十四周学习报告
    第十三周学习报告
  • 原文地址:https://www.cnblogs.com/felicitytanyin/p/11981603.html
Copyright © 2011-2022 走看看