C# PPT轉圖片的解決方案
阿新 • • 發佈:2019-01-28
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”使用者),並賦予最大許可權
以上操作都設定了,應該就可以正常使用了