2014-01-10 3 views
0

나는 클라이언트를 도울 것을 요청 받았다. 그가 원하는 것은 파워 포인트를 만들고, 인트라넷에 업로드하고, 누군가 파워 포인트를 다운로드하고, 데이터 소스의 동적 데이터를 추가하고, 프레젠테이션에 추가하는 것입니다.episerver를 통해 파워 포인트에 동적 데이터 추가

OpenXML 및 .NET 라이브러리를 통해 Powerpoint를 수정하는 것은 PHP/Python 배경에서 오는 경우에도 일부 연구를 통해 간단 해집니다.

내가 가진 진짜 질문은 에피 서버에 관한 것입니다. 내 고객은 자신의 CMS에 Episerver를 실행하고 Episerver에 익숙하지 않다는 사실에 정직해야하며 가능한 경우 .NET으로는 충분하지 않습니다. 이걸 어떻게 세울 수 있습니까? .NET 페이지를 생성하고 PHP 또는 Python에서와 같이 독립 실행 형 스크립트로 실행하는 모든 로직을 처리 할 수 ​​있습니까? Episerver 용 일종의 플러그인을 만들어야합니까, 아니면 일반 IIS 서버처럼 작동합니까?

모든 답이 크게 감사합니다 :)

답변

0

은 당신이 할 수있는 것은 EPiServer.Web.StaticFileHandler에서 상속하는 클래스를 만들고 거기에 당신의 물건을 할 수 있습니다. 여기 예와 요점을했다 :

https://gist.github.com/anonymous/0f1442c986333f1899ee

그런 다음 당신은 당신의 Web.config에 가서 EPiServer.Web.StaticFileHandler를 사용하고 자신의 클래스 이름을 가진 사람을 대체 위치 요소를 찾을 수 있습니다. 일반적으로 표준 EPiServer 사이트에는 Global a Documents 및 PageFiles 위치 요소가 있습니다. 물론 사이트에 따라 다릅니다. 클라이언트가 파일을 업로드하는 모든 위치에서이 특수 StaticFileHandler 요격 요청이 필요합니다.

편집 : 가장 중요한 부분을 잊어 버렸습니다. ProcessRequestInternal의 bool 반환은 요청을 처리했는지 여부를 의미합니다. 귀하의 경우에는 context.Response를 사용하여 응답에 파일을 쓰고 true를 반환해야합니다.

1

SoftArtisans PowerPointWriter을 고려해 볼 수 있습니다.이 상황을 위해 설계되었습니다. PowerPointWriter를 사용하면 서식 파일에 자리 표시자를 포함 할 수 있습니다. 사용자가 파일을 요청하면 EPIServer의 데이터를 템플릿에 바인딩 할 수 있으며 스트림은 가장 최신 데이터가있는 사용자에게 다시 전송됩니다. 이것은 Andreas가 게시 한 코드 스 니펫과 잘 작동 할 수 있습니다.

면책 조항 : SoftArtisans에서 근무하고 있습니다.