Tika extra space 字母之间 - 有没有办法通过 Web API 使用 setEnableAutoSpace?

Tika extra space between letters - is there any way to use setEnableAutoSpace via Web API?

我是 运行 库存 Apache Tika 1.24.1 服务器 (tika-server-1.24.1.jar)。然后,我的 ASP.NET MVC 网络应用程序使用此 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 代码?

谢谢!

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

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

X-Tika-PDFenableAutoSpace: true

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