我使用了一个linux函数将PDF文件列表转换为文本。
命令:
pdftotext -htmlmeta
这适用于我的大多数文件。
但对于其中的一小部分,这会给我返回一个空白文本文件。
我失败的pdf文件没有加密,没有通过用户/密码进行安全保护,也不是只读的。
为什么会这样?因为PDF的任务主要是表示文档的光学,而不是文本内容。PDF可以是任何东西,从带有位置信息的纯文本到文本字母的纯图形。在后一种情况下,需要对输入运行OCR以接收文本信息。像pdftotext
这样的工具无法做到这一点。
有时PDF中的文本分散在整个文件中,例如,因为首先在PDF中提到了所有标准字体的字母,然后在文件的后面提到了所有斜体字体的字母(当然还有位置信息,所以光学表示的读者不会注意到这一点,即使标准字体和斜体在页面上的整个文本中混合)。将这种混乱重新排列成流畅的文本是一项主要任务,不是很多转换器都能做到。
所以我想你所能做的就是尝试更多的PDF到文本的转换器(有些比其他转换器更好,有些只适合某些特定的输入),或者看看你可以从其他来源获得文本,而不是PDF文件。