通过episerver将动态数据添加到powerpoint

时间:2014-01-10 15:28:02

标签: .net powerpoint episerver

我被要求帮助客户。他想要做的是创建一个powerpoint,将其上传到Intranet,当有人下载​​powerpoint时,从数据源添加动态数据并附加到演示文稿。

通过一些研究,通过OpenXML和.NET库修改powerpoint非常简单,即使是来自PHP / Python背景。

我在这里提出的真正问题是关于Episerver。我的客户为他们的CMS运行Episerver,我必须说实话,我根本不熟悉Episerver,而且不足以知道这是否可行。我该如何设置呢?我可以创建一个.NET页面并处理所有逻辑,将其作为独立脚本运行,就像我在PHP或Python中一样吗?我是否必须为Episerver创建某种插件,或者它是否像普通的IIS服务器一样?

非常感谢所有答案:)

2 个答案:

答案 0 :(得分:1)

您可能需要考虑SoftArtisans PowerPointWriter,它是专为此类情况而设计的。使用PowerPointWriter,您可以拥有一个包含占位符的模板文件。当用户请求文件时,您可以将数据从EPIServer绑定到模板,并将流返回给具有最新数据的用户。这可以与Andreas发布的代码片段一起使用。

免责声明:我为SoftArtisans工作。

答案 1 :(得分:0)

你可以做的是创建一个继承自EPiServer.Web.StaticFileHandler的类,并在那里做你的东西。我在这里举了一个例子:

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

然后进入web.config并找到使用EPiServer.Web.StaticFileHandler的location-elements,并用您自己的类名替换它们。通常在标准EPiServer站点中有Global a Documents和PageFiles location-element。这当然取决于网站。客户端上传文件的任何地方都需要这个特殊的StaticFileHandler拦截请求。

编辑:忘记最重要的部分。从ProcessRequestInternal返回的bool意味着您是否处理了请求。在您的情况下,您应该使用context.Response将文件写入响应,然后返回true。