首页 文章

创建电源点文件读取器(pptx)[关闭]

提问于
浏览
2

我正在寻找一个开源的pptx阅读器(首选C#)来修改它并将其放入3D引擎(客户请求),或者至少是基础知识的教程 . 我已经在谷歌搜索但找不到任何有用的资源 .

我知道可以通过阅读pptx文件文档(ECMA)创建一个新的阅读器,但这似乎是一个巨大的项目,我更喜欢,如果我能够在一些现有的代码上构建这个组件 .

4 回答

  • 4

    您的选择

    使用的最佳选择实际上取决于您需要进行的修改 . 如果您希望能够大量操作PowerPoint演示文稿,绘制新形状,旋转形状,添加图表,添加幻灯片或掌握幻灯片等,您可能会发现像Aspose.Slides库(专有)这样的抽象层非常有用 .

    如果您不想为库付费,则.NET中可以使用 OpenXML 格式 . 它们允许您在不需要Interop / COM的情况下操作PPTX文档的各个方面,因为它们在PPTX中解析XML .

    根据个人经验,使用两者,Aspose是一个更容易的解决方案,但提供一些开销,当然有成本 . OpenXML路线很容易使用,但需要一些学习曲线 .

    最后但并非最不重要的是,你可以看看NetOffice,它实现了与Aspose类似的东西,它更轻一些,功能也减少了 . 它还包含其他格式,并且不需要在计算机上安装Office .

    总结你的选择:

    我的建议

    如果你需要做一些简单的修改(例如提取幻灯片,在某处更改一些文本,替换图像),我会使用OpenXML .

    如果你想以定制的方式绘制幻灯片,我会选择Aspose . 我在50.000 LoC应用程序中使用了Aspose,使用WCF构建了数十万个PowerPoint平台(有时最多100个幻灯片) . Aspose一直在绘制每张幻灯片并生成所有形状 . 生成甲板需要大约4-5秒 . Aspose的加载和Aspose的小问题可能会令人恼火(可以在200毫秒左右处理幻灯片) . Aspose演示文稿也不可序列化,如果您想以某种形式缓存结果,这很烦人 .

    如果你想阅读PPTX并以某种方式将其转换为图像,Aspose.Slides是一个很好的候选者,因为它允许你将PPTX幻灯片转换为SVG,你可以随后处理它 . 请注意,有一些PPTX2SVG引擎(XSLT),但我所知道的是用Java(Apache)编写的 .

    注意事项

    我提到的库都是.NET / C#环境的库 . 这些库和技术都不需要office / interop / com安装 .

  • 1

    老实说,这不是一件容易的事 . 我试图为演示设计师做这件事,并没有太多的解决方案 . 我使用的是Office Open XML SDk 2.5 . 这比手工处理XML要好得多,但也没有picknick . 如果你有钱,你可以使用:http://www.aspose.com/.net/powerpoint-component.aspx我不知道它有多好 .

    我知道这不是好消息,但是Powerpoint收到的注意力明显少于Excel,因此资源稀少 .

  • 1

    您没有说应用程序是否具有Internet访问权限,但假设它是,您可能会考虑使用公共REST API将PPTX转换为您需要的任何格式 . 可能会有更多,但这里有一些提供此功能:

    有些人拥有免费套餐,您可以在那里每天进行一定数量的转换而无需支付使用费 . Aspose for Cloud有一个.Net SDK,但是使用REST API,客户端的语言并不重要 .

  • 6

    正如已经指出的那样,没有简洁的解决方案 . 在我看来,你只能选择2种:

    • Use Microsoft's own / VSTO . 另外信息here . 这可能会给您带来麻烦,但可能是唯一可以让您访问所需PowerPoint功能的东西 .

    • 使用Open XML . 这已经被涵盖了 . 这可能更容易使用,但可能无法访问您需要的功能 .

    除此之外,我担心你必须创造更多“手动”的东西 .

相关问题