我正在寻找一个开源的pptx阅读器(在C#中首选)来修改它,并将其放入3D引擎(客户要求),或者至少是基础教程。我已经在谷歌上搜索过了,但是找不到任何有用的资源。
我知道可以通过阅读pptx文件文档( ECMA )来创建一个新的阅读器,但这似乎是一个巨大的项目,我更希望能够在一些现有的代码上构建这个组件。
发布于 2013-07-09 20:47:27
你的选择
使用的最佳选项实际上取决于您需要进行的修改。如果您希望能够大量操作PowerPoint演示文稿,绘制新形状,旋转形状,添加图表,添加幻灯片或主幻灯片等,您可能会发现像Aspose.Slides库(专有的)这样的抽象层非常有用。
如果您不想为该库付费,您可以在.NET中使用XML。它们允许您操作PPTX文档的各个方面,而无需在解析PPTX内部的OpenXML时使用Interop/COM。
根据个人经验,在使用了这两个解决方案后,Aspose是一个容易得多的解决方案,但它提供了一些开销,当然也有成本。OpenXML路线使用起来很简单,但需要一些学习过程。
最后但并非最不重要的一点是,你可以看看NetOffice,它实现了类似于Aspose的东西,它更轻,功能更少。它还涵盖了其他格式,不需要在计算机上安装Office。
总结你的选择:
我的建议
如果你需要做一些简单的修改(例如,提取幻灯片,在某个地方更改一些文本,替换图像),我会使用OpenXML。
如果你想以定制的方式绘制幻灯片,我会选择Aspose。我曾经在一个50.000版本的LoC应用程序中使用Aspose构建了成千上万张PowerPoint幻灯片(有时多达100张幻灯片)。Aspose一直在绘制每张幻灯片并生成所有的形状。生成一个卡片组大概需要4-5秒。Aspose的加载和Aspose的小问题可能会令人恼火(一个人可以在大约200ms内处理一张幻灯片)。此外,Aspose演示文稿是不可序列化的,如果您想以某种形式缓存结果,这会很烦人。
如果您想读取PPTX并以某种方式将其转换为图像,Aspose.Slides是一个很好的选择,因为它允许您将PPTX幻灯片转换为SVG,以便随后进行处理。注意,有一些PPTX2SVG引擎(XSLT),但我知道的是用Java语言(Apache)编写的。
备注
我提到的库都是.NET/C#环境下的库。这些库和技术都不需要安装office/interop/com。
发布于 2013-07-02 22:29:35
老实说,这不是一件容易的事情。我试着为一个演示设计者做这件事,但是没有太多的解决方案。我使用的是Office Open XML SDk 2.5。这比手工处理XML要好得多,但也不是picknick。如果你有钱,你可以用:http://www.aspose.com/.net/powerpoint-component.aspx我不知道它有多好。
我知道这不是个好消息,但是Powerpoint受到的关注比Excel少得多,所以资源很稀缺。
发布于 2013-07-03 00:59:11
您不会说应用程序是否可以访问internet,但假设它可以访问,您可以考虑使用公共REST API将PPTX转换为所需的任何格式。可能还有更多,但这里有一些提供此功能:
一些有免费的层,你可以每天做一定数量的转换,而不需要支付使用费。Aspose for Cloud有一个.Net软件开发工具包,但是有了REST API,客户端的语言应该并不重要。
https://stackoverflow.com/questions/17390715
复制相似问题