微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tika字母之间有多余的空格-是否可以通过Web API使用setEnableAutoSpace?

如何解决Tika字母之间有多余的空格-是否可以通过Web API使用setEnableAutoSpace?

我正在运行库存的Apache Tika 1.24.1服务器(tika-server-1.24.1.jar)。然后,我的ASP.NET MVC Web应用程序使用以下VB.net代码从Tika处获取了已解析的文档:

httpWebRequest = HttpWebRequest.Create("http://localhost:9998/tika")
httpWebRequest.Method = "PUT"
httpWebRequest.Accept = "text/plain"
httpWebRequest.UseDefaultCredentials = True
httpWebRequest.GetRequestStream.Write(fileContents,fileContents.Count)
httpWebResponse = httpWebRequest.GetResponse

Using contentResponseStream As New StreamReader(_httpWebResponse.GetResponseStream)
    tikaTextContents = contentResponseStream.ReadToEnd()
End Using

该部分有效(返回已解析的文本)。

但是,当Tika服务器解析某些PDF文件时,它会在某些地方添加额外的空格。我在这张Tika票证中注意到,有一个潜在的解决方案(setEnableAutoSpace)。 https://issues.apache.org/jira/browse/TIKA-724

我的问题:是否可以通过Tika Web界面设置setEnableAutoSpace(或者在解析文件时进行设置)?还是唯一的办法是修改Java代码,如果您要打开此选项吗?

谢谢!

解决方法

要在向Tika Server发出请求时设置PDFParserConfig中的任何选项,您需要发送以X-Tika-PDF为前缀的HTTP标头,然后发送要控制的设置

因此,要在发出请求时打开enabledAutoSpace选项,应发送标头

X-Tika-PDFenableAutoSpace: true

如果启用该选项只能部分解决您的PDF文本问题,则应查看Tika Troubleshooting PDFs wiki page的后续步骤。取决于生成它们的软件和所选择的选项,PDF可能很难....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。