【问题标题】:Extract text from MS Word (.doc) file in Ruby on Rails web app using Apache POI使用 Apache POI 从 Ruby on Rails Web 应用程序中的 MS Word (.doc) 文件中提取文本
【发布时间】:2015-04-16 13:36:06
【问题描述】:

我浏览了 APACHE POI 项目,发现它对于从 MS Word 文件中提取文本内容很有用。具体来说,POI 中有一个名为Text Extraction 的功能可以有效地完成这项工作。我还听说过 Apache Tika 在内部使用 Apache POI。

现在,我们在 Rails 网络应用程序中要求从单词 (.doc) 文件中提取文本内容。我们可以将Apache POI / Apache Tika 集成到我的网络应用程序中以达到我的目的的可能性有哪些?

如果有人对此有相关经验,我很想听听它以及代码 sn-ps。

【问题讨论】:

  • 为什么要关闭投票?这个问题非常技术性和具体性。我不知道如何在 Rails 项目中使用它,那么有什么更好的方法来询问它?
  • 您查看过 Ruby 绑定的 POI 文档吗? poi.apache.org/poi-ruby.html
  • 这个问题非常广泛,很难给出明确的答案。即使每个人都会“分享自己的经验”,也很难选择一个正确的答案,因为你没有提供这样做的客观标准。问题表明研究工作很少 - 可能您应该从阅读文档开始,搜索相关绑定(如@NickVeys 建议的那样),如果您偶然发现一些特定的东西,那么欢迎您提出。

标签: ruby-on-rails ruby apache apache-poi doc


【解决方案1】:

由于您没有在 JVM 上运行,因此最好的选择是使用 Apache Tika JAXRS server,可从 Apache Tika download page 获得。这提供了 RESTful 接口,让 Tika 从您的文件中提取文本(和元数据)。

因为它是一个独立的服务器,所以您只需启动 JVM 一次,然后它就会在那里并且可用于您发送的每个请求,从而加快处理速度。要获取纯文本,请将您的文档发送到 http://localhost:9998/tika,并带有 Accept: text/plain 的 HTTP 请求标头,您将获得纯文本。

您可以在 Tika Wiki 上找到有关服务器可用 RESTful 端点的更多信息,或者只需启动服务器 (java -jar tika-server-1.X.jar) 并在 Web 浏览器中转到 http://localhost:9998/

【讨论】:

  • 有什么办法可以将word文件内容转换成一模一样的HTML?
  • 对于非常相似的 HTML,设置接受 text/html 而不是 text/plain。完全一样,你需要一个 Microsoft Office 的宠物副本,即使那还有一段路要走......
  • 是否需要 JRuby?还是 Ruby 1.9 就够了?
  • 它根本不使用 ruby​​ - Tika 在单独的 Java JVM 中运行。然后你用你最喜欢的 HTTP 库从 ruby​​ 调用它
猜你喜欢
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多