2014-01-10 47 views
0

我被要求幫助客戶。他想要做的是創建一個簡報,上傳到內聯網,當有人下載​​PowerPoint時,從數據源添加動態數據並附加到演示文稿。通過episerver向powerpoint添加動態數據

即使來自PHP/Python背景,通過OpenXML和.NET庫修改powerpoint也可以很簡單地進行一些研究。

我在這裏的真正問題是關於Episerver。我的客戶爲他們的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站點中有全局文檔和PageFiles位置元素。當然,這取決於網站。你的客戶端上傳文件的任何地方都需要這個特殊的StaticFileHandler攔截請求。

編輯:忘了最重要的部分。 ProcessRequestInternal返回的bool意味着你是否處理了請求。在你的情況下,你應該使用context.Response將文件寫入響應,然後返回true。

1

你可能要考慮SoftArtisans PowerPointWriter,它是爲這種情況而設計的。使用PowerPointWriter,您可以使用帶有佔位符的模板文件。當用戶請求文件時,您可以將您的數據從您的EPIServer綁定到該模板,然後流將返回給具有最新數據的用戶。這可以在Andreas發佈的代碼片段中很好地工作。

聲明:我爲SoftArtisans工作。