• 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     }
  • 相关阅读:
    Halcon 如何将图像转化为矩阵形式
    Halcon 图像分割
    Halcon intensity算子,用于计算灰度的均值和方差
    Halcon draw_region接口
    Halcon scale_image 函数用法技巧
    Halcon 保存图像
    Halcon 读取多张图片
    Halcon 算子 sub_image add_image mult_image div_image
    Halcon 算子 get_grayval 用于读取图像的灰度值
    Halcon 算子 convert_image_type 转换图像类型
  • 原文地址:https://www.cnblogs.com/felicitytanyin/p/11981603.html
Copyright © 2020-2023  润新知