请问一下,如果想读取一个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就是這麼做的。