0

ASP.NET を使用してスライドを jpeg (またはフラッシュ、シルバーライト、HTML、ビデオなど、実際には任意の形式) として表示できる Web アプリにパワーポイント ファイルをアップロードするアプリケーションが必要なクライアントがいます。

Office 開発者ツールを使用して VS 2010 で MVC を使用してアプリケーションを構築しましたが、クライアント サーバーに Powerpoint がなく、ホスト マシンで Powerpoint を呼び出すことができない場合、Microsoft.Office.Interop.Powerpoint アセンブリが機能しないようです。

私はこれに関するあらゆる議論を検討しましたが、大部分はPowerpointをサーバーに展開することさえ悪い習慣であると結論付けています.ウェブサイトのスライド?

4

2 に答える 2

1

ここでは、Interop オブジェクトを使用しています。

    private void mConvertPPT_To_Images(string sPPTFilePath, string sImagesDirectoryPath)
    {
        try
        {
            Microsoft.Office.Interop.PowerPoint.Application appPpt = new Microsoft.Office.Interop.PowerPoint.Application();
            Microsoft.Office.Interop.PowerPoint.Presentation objActivePresentation
                = appPpt.Presentations.Open(sPPTFilePath,
                                            Microsoft.Office.Core.MsoTriState.msoCTrue,
                                            Microsoft.Office.Core.MsoTriState.msoTriStateMixed,
                                            Microsoft.Office.Core.MsoTriState.msoFalse);
            //objActivePresentation.SaveAs(sImagesDirectoryPath, PpSaveAsFileType.ppSaveAsJPG, MsoTriState.msoFalse);
            //objActivePresentation.Export(sImagesDirectoryPath + @"\Slide1.png", "png", 960, 720);
            //objActivePresentation.SaveAs(sImagesDirectoryPath + "slide", PpSaveAsFileType.ppSaveAsTIF, MsoTriState.msoFalse);
            int i = 0;
            foreach (Microsoft.Office.Interop.PowerPoint.Slide objSlide in objActivePresentation.Slides)
            {
                //Names are generated based on timestamp. 
                //objSlide.Export("Slide" + i, "PNG", 960, 720);
                objSlide.Export(sImagesDirectoryPath + @"\Slide" + i + ".GIF", "GIF", 960, 720);
                i++;
            }
            objActivePresentation.Close();
            appPpt.Quit();
        }
        catch (Exception ex)
        {
            throw;
        }
    }
于 2013-03-06T07:59:12.307 に答える