우선 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(); } }
} |
'WPF Programma' 카테고리의 다른 글
[WPF] 윈도우 최대 확대 효과 주기 [Window MaxSize effect in WPF] (0) | 2012.06.03 |
---|---|
WPF 창에 투명 airo 효과 주기 (0) | 2012.05.28 |
라디오 버튼 그룹 지정해 주기 (Grouping Radio button for multi selecting) (0) | 2012.05.06 |
이벤트 라우팅과 버블링 터널링 (Event Routing & bubbling and terneling... (1) | 2012.05.06 |
리소스 데이터 바인딩과 스태틱 리소스 예제(About Static resource & resource data binding) (0) | 2012.05.06 |