C#操作Office.word(三)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C#操作Office.word(三)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                前面兩篇博客講解了怎么通過程序控制word的生成,包括生成文字、添加表格、添加圖片等。這篇博客主要說一下怎么把word圖片轉換成pdf。
using System; using System.Collections.Generic; using System.Linq; using System.Text;using Microsoft.Office.Core;namespace PDFTest {class PDFUtil{/// <summary>/// 把Word文件轉換成為PDF格式文件/// </summary>/// <param name="sourcePath">源文件路徑</param>/// <param name="targetPath">目標文件路徑</param> /// <returns>true=轉換成功</returns>public static bool WordToPDF(string sourcePath, string targetPath){bool result = false;Microsoft.Office.Interop.Word.WdExportFormat exportFormat = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;Microsoft.Office.Interop.Word.ApplicationClass application = null;Microsoft.Office.Interop.Word.Document document = null;try{application = new Microsoft.Office.Interop.Word.ApplicationClass();application.Visible = false;document = application.Documents.Open(sourcePath);document.SaveAs2();document.ExportAsFixedFormat(targetPath, exportFormat);result = true;}catch (Exception e){Console.WriteLine(e.Message);result = false;}finally{if (document != null){document.Close();document = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}/// <summary>/// 把Microsoft.Office.Interop.Excel文件轉換成PDF格式文件/// </summary>/// <param name="sourcePath">源文件路徑</param>/// <param name="targetPath">目標文件路徑</param> /// <returns>true=轉換成功</returns>//public static bool ExcelToPDF(string sourcePath, string targetPath)//{// bool result = false;// Microsoft.Office.Interop.Excel.XlFixedFormatType targetType = Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF;// object missing = Type.Missing;// Microsoft.Office.Interop.Excel.ApplicationClass application = null;// Microsoft.Office.Interop.Excel.Workbook workBook = null;// try// {// application = new Microsoft.Office.Interop.Excel.ApplicationClass();// application.Visible = false;// workBook = application.Workbooks.Open(sourcePath);// workBook.SaveAs();// workBook.ExportAsFixedFormat(targetType, targetPath);// result = true;// }// catch (Exception e)// {// Console.WriteLine(e.Message);// result = false;// }// finally// {// if (workBook != null)// {// workBook.Close(true, missing, missing);// workBook = null;// }// if (application != null)// {// application.Quit();// application = null;// }// GC.Collect();// GC.WaitForPendingFinalizers();// GC.Collect();// GC.WaitForPendingFinalizers();// }// return result;//}/// <summary>/// 把PowerPoint文件轉換成PDF格式文件/// </summary>/// <param name="sourcePath">源文件路徑</param>/// <param name="targetPath">目標文件路徑</param> /// <returns>true=轉換成功</returns>//public static bool PowerPointToPDF(string sourcePath, string targetPath)//{// bool result;// Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType targetFileType = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF;// object missing = Type.Missing;// Microsoft.Office.Interop.PowerPoint.ApplicationClass application = null;// Microsoft.Office.Interop.PowerPoint.Presentation persentation = null;// try// {// application = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();// //application.Visible = MsoTriState.msoFalse;// persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);// persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);// result = true;// }// catch (Exception e)// {// Console.WriteLine(e.Message);// result = false;// }// finally// {// if (persentation != null)// {// persentation.Close();// persentation = null;// }// if (application != null)// {// application.Quit();// application = null;// }// GC.Collect();// GC.WaitForPendingFinalizers();// GC.Collect();// GC.WaitForPendingFinalizers();// }// return result;//}/// <summary>/// 把Visio文件轉換成PDF格式文件/// </summary>/// <param name="sourcePath">源文件路徑</param>/// <param name="targetPath">目標文件路徑</param> /// <returns>true=轉換成功</returns>//public static bool VisioToPDF(string sourcePath, string targetPath)//{// bool result;// Microsoft.Office.Interop.Visio.VisFixedFormatTypes targetType = Microsoft.Office.Interop.Visio.VisFixedFormatTypes.visFixedFormatPDF;// object missing = Type.Missing;// Microsoft.Office.Interop.Visio.ApplicationClass application = null;// Microsoft.Office.Interop.Visio.Document document = null;// try// {// application = new Microsoft.Office.Interop.Visio.ApplicationClass();// application.Visible = false;// document = application.Documents.Open(sourcePath);// document.Save();// document.ExportAsFixedFormat(targetType, targetPath, Microsoft.Office.Interop.Visio.VisDocExIntent.visDocExIntentScreen, Microsoft.Office.Interop.Visio.VisPrintOutRange.visPrintAll);// result = true;// }// catch (Exception e)// {// Console.WriteLine(e.Message);// result = false;// }// finally// {// if (application != null)// {// application.Quit();// application = null;// }// GC.Collect();// GC.WaitForPendingFinalizers();// GC.Collect();// GC.WaitForPendingFinalizers();// }// return result;//}} }?程序中包含了各種office格式轉換pdf的代碼,在使用之前,一定要加載對應的COM庫進來,然后才可以使用。
轉載于:https://www.cnblogs.com/stemon/p/4617561.html
總結
以上是生活随笔為你收集整理的C#操作Office.word(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: MySQL 字符串分割 SUBSTRIN
- 下一篇: VC6中使用内存DC加载并显示JPG图片
