0

我正在运行库存的 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, 0, 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 代码的唯一选项?

谢谢!

4

1 回答 1

1

为了在向 Tika 服务器发出请求时从PDFParserConfig设置任何选项,您需要发送一个带有前缀的 HTTP 标头,X-Tika-PDF然后是您要控制的设置

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

X-Tika-PDFenableAutoSpace: true

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

于 2020-10-20T20:18:18.573 回答