Note that there are some explanatory texts on larger screens.

plurals
  1. POError when trying to open PowerPoint programatically
    primarykey
    data
    text
    <p>I have a method that uses Microsoft.Office.Interop.PowerPoint.Application interface to convert PowerPoint presentation slides into a jpeg files. In a serivce application that runs on Windows 2008 server it works without any issues.</p> <p>Now however, I'm writing a new web application that uses the same process and the degubber chokes on the Presentation.Open call wiht an error: "PowerPoint could not open file".</p> <p>My environment is Win 7, VS 2010. I'm using impersonation with a domain account that has admin privileges. The PowePoint file I'm trying to open is in the c:\temp folder which has NTFS rights of "everyone" set to full; file is NOT read-only, I can manually opent the file using a similar account as the domain account I'm using for impersonation. I don't know what the problem is. Can someone sugest what's going on? Thanks, Risho.</p> <pre><code>using System; using System.Collections.Generic; using System.Linq; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using AjaxControlToolkit; using Microsoft.Office.Core; using Microsoft.Office.Interop.PowerPoint; using System.Threading; public partial class _Default : System.Web.UI.Page { private static int folderExtension; private static string tempSavePath, fileName; protected void Page_Load(object sender, EventArgs e) { } private void Page_Error(object sender, EventArgs e) { Random r = new Random(); int eventID = r.Next(1, 65535); Exception objErr = Server.GetLastError().GetBaseException(); string err = "\nPage_Error Event" + "\n\nError in: " + Request.Url.ToString() + "\n\nError Message:" + objErr.Message.ToString() + "\n\nStack Trace:" + objErr.StackTrace.ToString() + "\n"; uploadResult.Text = err.ToString(); } protected void AsyncFileUpload1_click(object sender, AsyncFileUploadEventArgs e) { // Temporary folder where the presentation file is uploaded. tempSavePath = @"c:\temp\"; // Checks if there is a file present for uploading. if (AsyncFileUpload1.HasFile) { fileName = AsyncFileUpload1.FileName; try { AsyncFileUpload1.SaveAs(tempSavePath + fileName); } catch (Exception ex) { throw ex; } finally { ConvertToJpegs(); } } else { uploadResult.Text = "No file to upload."; } } // Converts the presentation slides into individual jpeg files. protected void ConvertToJpegs() { Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.Application(); Microsoft.Office.Core.MsoTriState ofalse = Microsoft.Office.Core.MsoTriState.msoFalse; Microsoft.Office.Core.MsoTriState otrue = Microsoft.Office.Core.MsoTriState.msoTrue; Presentation pptPresentation = null; try { **&gt;&gt;&gt; It break here with the ".Open" call &lt;&lt;&lt;** pptPresentation = app.Presentations.Open(tempSavePath + fileName, ofalse, ofalse, ofalse); pptPresentation.SaveAs(tempSavePath + ".", PpSaveAsFileType.ppSaveAsJPG, ofalse); Thread.Sleep(500); } catch (Exception ex1) { throw ex1; } finally { pptPresentation.Close(); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload