문제

템플릿에서 PowerPoint 2007 프레젠테이션을 만들어야합니다. XML 형식 SDK 2.0을 엽니 다. 템플릿은 고객이 제공해야하며 개별 레이아웃 스타일 (글꼴, 배경색 또는 이미지, ...)에 사용됩니다. 두 개의 사전 정의 된 슬라이드를 포함해야합니다.

  • 텍스트 슬라이드
  • 이미지 슬라이드

응용 프로그램은 이제 템플릿 파일의 사본을 만들고 텍스트 및 이미지 슬라이드의 여러 사본을 만들고 컨텐츠- 부유자를 일부 컨텐츠로 바꾸어야합니다.

나는 이미 일부를 찾았다 Microsoft의 코드 스 니펫 슬라이드의 제목을 편집하려면 슬라이드를 삭제하거나 슬라이드의 이미지를 교체하십시오. 그러나 기존 슬라이드의 사본을 어떻게 만들 수 있는지 알지 못했습니다. 어쩌면 누군가 나를 도와 줄 수 있습니다.

도움이 되었습니까?

해결책

나는 비슷한 답변을 찾고 있었고 공유 할 몇 가지 자료를 찾았습니다.

http://msdn.microsoft.com/en-us/library/cc850834(Office.14).aspx

또는 더 많은 샘플

http://msdn.microsoft.com/en-us/library/cc850828(Office.14).aspx

또는이 웹 사이트

http://www.openxmldeveloper.com

이것도 있습니다 OpenXML 표준을 문서화하는 무료 책 어느 정도 도움이되었습니다.

다른 팁

이것은 당신이 찾고있는 것의 예이지만 그렇지 않다면 다음과 같이 알려주세요. http://openxmldeveloper.org/articles/7429.aspx

C#

File.Copy(SourceFile,ExportedFile);

기본적으로 원본 파일을 보관합니다.

이제 ExportedFile을 열었습니다

PowerPoint.Application ppApp = new PowerPoint.Application();
PowerPoint.Presentation presentation;
presentation = ppApp.Presentations.Open(ExportedFile, MsoTriState.msoFalse,   MsoTriState.msoTrue, MsoTriState.msoTrue);

이제 모든 슬라이드/모양을 반죽하십시오

foreach (PowerPoint.Slide slide in presentation.Slides)
{
                    slide.Select();
                    foreach (PowerPoint.Shape shape in slide.Shapes)
                    {
                        if (shape.Type.ToString().Equals("<any type of shape>"))
                        {
                            if (shape.TextFrame.TextRange.Text.Equals("<contains a name"))
                            {
                                shape.TextFrame.TextRange.Text = <new value>;
                                shape.Delete(); // or delete
                                shape.AddPicture(<your new picture>, MsoTriState.msoTrue, MsoTriState.msoTrue, left, top, width, height);

                            }
                        }
                    }

}

이것이 귀하의 요청을 명확히 할 수 있기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top