2012. 5. 28. 12:33

우선 WPF 참조에서 microsoft_presentation 을 추가해 줘야 한다.

이후 아래와 같은 코드.. 


 

namespace PPT_test

{

    /// <summary>

    /// MainWindow.xaml에 대한 상호 작용 논리

    /// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            OpenFileDialog open = new OpenFileDialog();


           

            open.InitialDirectory=@"C:\";

            open.Title = "불러올 PPT를 선택해 주세요";

       //     open.Filter="All FILE(*.*)|*.*;

            open.RestoreDirectory = true;

            

     

            open.ShowDialog();

           

     

            if (open.FileName=="")

            {

                Debug.WriteLine("File error");

                return;


            }

            else

            {

               

               chkFolder("C:\\FRESENTATION");



               Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.Application();

               try

               {

                   Presentation ppt = app.Presentations.Open(open.FileName, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);

                   for (int i = 0; i < ppt.Slides.Count; ++i)

                   {

                       ppt.Slides[i + 1].Export(@"C:\FRESENTATION\" + i + ".png", "PNG", (int)ppt.Slides[i + 1].Master.Width, (int)ppt.Slides[i + 1].Master.Height);

                   }

                   ppt.Close();

                   app.Quit();

               }

               catch (Exception e)

               {

                   Debug.WriteLine(e);

               }


         

            InitializeComponent();

            }

        }                


//폴더여부를 체크하는 부분 

        private void chkFolder(string sPath)

        {

            DirectoryInfo di = new DirectoryInfo(sPath);

            if (di.Exists == false)

            {

                di.Create();

            }

        }


  

    }




Posted by k1rha