请问一下,如果想读取一个ppt等office文件中的所有数据,比如说转场动画,照片及其大小定位等信息。有没有什么好的推荐?
自己搜索了几天,就发现了3个相关的。
OpenOffice(LibreOffice)
office官方开发(不过需要在.net 上开发)
PHPPresentation。
但是office官网的应该是只支持做扩展应用,不符合我的需求。
PHPPresentation支持下却不是很强,读取的接口很多不支持。
所以就剩下了OpenOffice,这个选项,请问OpenOffice是否通过java编程对ppt里的内容进行读取?
或者还有什么好的建议?
官方文档在这里
链接
想了想,这个链接可能更有帮助。。。
https://blogs.msdn.microsoft....
毕竟是基于xml的,读取部分从技术上说还是不难的,就是真正要做的话略麻烦了
2003版的PPT格式是二进制格式的,细节没有完全公开,第三方厂商多是用单向工程方法猜测和分析出来的。WPS做得好一些,但开源的只有做得很差的LibreOffice(原OpenOffice)。
2007版以后的PPTX格式是基于OOXML开放文档规范的,本质是一个ZIP包压缩了XML文档和相关资源。OOXML本身已经成了ISO标准公开了。
但是。Office文档的功能都极其复杂,想想看Office的代码那不止百万行的代码。真正完整实现了OOXML的只有微软Office,而且Office是闭源的。所以如果你想自己解析OOXML,难度可非同一般。LibreOffice自己领导的一套文档规范和OOXML互为竞争对手,所以相互的支持很差。
唯一可行的办法是利用COM调用Office的编程接口,这个只能在安装了Office的系统上用,用C++和微软的Office SDK,必须用Visual Studio。你基本上是得不到原始数据结构的,只能一个个API接口调用,逐个枚举内容,获取属性什么的。Adobe Acrobat转换Word生成PDF就是这么做的。