1. 程式人生 > >C# PPT轉圖片的解決方案

C# PPT轉圖片的解決方案

複製程式碼

using Microsoft.Office.Core;using Microsoft.Office.Interop.PowerPoint;


public bool ConvertPics(string sourcePath, string targetPath, PpSaveAsFileType targetFileType)
        {
            bool result;
            object missing = Type.Missing;
            Microsoft.Office.Interop.PowerPoint.Application application 
= null; // Microsoft.Office.Interop.Word.Application Presentation persentation = null; Presentation persentationCopy = null; try { Thread.Sleep(2000); application = new Microsoft.Office.Interop.PowerPoint.Application(); persentation
= application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); // persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue); //整個ppt的檔案轉換為其他的格式 // persentation.Slides[1].Export(targetPath + "\\ppt.jpg", "JPG", 800, 600);
//將ppt中的某張轉換為圖片檔案 persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue); //整個ppt的檔案轉換為其他的格式 result = true; } catch (Exception ex) { ex.ToString(); result = false; new SSP.School.BLL.Temp().AddMessage("sourcePath=" + sourcePath + ";targetPath=" + targetPath + ";" + ex.ToString(), " PPT轉碼服務異常(ConvertPics)"); } 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; }
複製程式碼

需要注意的伺服器設定:

1、在web.config新增配置節:

 <identity impersonate="true" userName="administrator" password="123456" />

2、若不行,進行如下設定

  (1)開啟開始選單的執行對話方塊,輸入dcomcnfg命令,確定,這時會彈出元件服務視窗   
  (2)展開計算機-〉我的電腦-〉DCOM配置,找到Microsoft   Powerpoint應用程式節點   
  (3)單擊右鍵-〉屬性,選中“安全”選項,在下面三個專案都選擇“自定義”,並單擊編輯按鈕   
  (4)在啟動許可權對話方塊中點選新增按鈕,新增相應的使用者(注意:如果是WIN2000,XP,則新增“機器名/ASPNET”使用者,
我這裡是以WIN2003為例,WIN2003是新增“NETWORK   Service”使用者),並賦予最大許可權   

以上操作都設定了,應該就可以正常使用了