从PowerPoint(.ppt或.pptx)文件中提取文本?

时间:2009-05-20 15:55:23

标签: api powerpoint text-extraction

我目前正在使用OpenOffice宏和pdf2text程序的组合来提取文本,并希望找到一种更简单,更有效的方法来从PowerPoint文件中获取文本。

我尝试过使用Apache POI库并没有太多运气,在尝试处理我正在查看的文件时遇到了很多例外,并且不特别想要筛选出来的源代码库。

如果不使用上述库,有没有简单的方法呢?

3 个答案:

答案 0 :(得分:2)

如果您有MS Office并且您将PPT保存为RTF(富文本格式),则它仅包含演示文稿中的文本。然后,您可以在任何理解RTF文件的编辑器中打开该文件,并将其另存为文本(TXT)文件。

我希望这也可以在Open Office中使用。

既然你谈到API,这可能不适合你,但也许它会给你更新的想法。比如说,你使用多个宏来分阶段进行转换......

编辑:我很好奇并做了一个简短的谷歌搜索

这是我在one of the www.openoffice.org pages

上找到的
  

正如本帖子中的人所指出的那样,从OO中检索文本   文档并不难,因为它只是压缩的xml,可以用一个解析   perl脚本。问题是将Microsoft Powerpoint文档导入   首先是压缩的XML格式。

     

我发现了文件 - >向导 - > Document Convertor正是如此。   告诉它你要转换Powerpoint文档,而不是模板,   将它指向您的源目录以及您希望它吐出的位置   结果,你走了。

     

然后我找到unzip -p $ file.sxi content.xml | perl -p -e   “s /< [^>] > / \ n / g; s / + //; s / \ n \ n / \ n / g;” -w

     

可以很好地提取文本。

抱歉,我没有Open Office可以尝试任何一种方法。

答案 1 :(得分:1)

pptx文件相对容易处理,因为它们只是压缩xml - 你可以解压缩它们然后从解压缩的东西的'ppt / slides'子目录中的文件内容中删除所有xml标签,产生了大部分相关文本。

ppt文件是一个完整的其他球赛,并且该过程变得更加痛苦,因为来自catdoc包的规范工具catppt容易受到缓冲区溢出的影响,这使得它几乎无用(它在ppt的大部分上都是段错误的文件)。

答案 2 :(得分:0)

LibreOffice-5文件-导出-HTML包含幻灯片内容和演示者注释。 然后,在Firefox或其他浏览器中打开.html文件,然后选择文件-页面另存为-文本文件(或实用程序,例如pandoc -o file.txt file.html)。