python и pyPdf - как извлечь текст со страниц так, чтобы между строками были пробелы

StackOverflow https://stackoverflow.com/questions/1672466

  •  16-09-2019
  •  | 
  •  

Вопрос

в настоящее время, если я создаю объект page из PDF-страницы с помощью pyPdf и extractText(), то происходит объединение строк вместе.Например, если в строке 1 страницы написано "hello", а в строке 2 - "world", результирующий текст, возвращаемый из extractText(), будет "helloworld" вместо "hello world". Кто-нибудь знает, как это исправить, или у вас есть предложения по обходу?Мне действительно нужно, чтобы в тексте были пробелы между строками, потому что я выполняю интеллектуальный анализ текста в формате pdf, и отсутствие пробелов между строками убивает его....

Это было полезно?

Решение

Это распространенная проблема при разборе PDF-файлов.Вы также можете ожидать, что завершающие штрихи, которые вам придется исправить в некоторых случаях.Я придумал обходной путь для одного из моих проектов, который я вскоре опишу здесь:

Я использовал pdfminer извлечь XML из PDF, а также найти объединенные слова в XML.Я извлек тот же PDF-файл, что и HTML, и HTML может быть описан строками следующего регулярного выражения:

<span style="position:absolute; writing-mode:lr-tb; left:[0-9]+px; top:([0-9]+)px; font-size:[0-9]+px;">([^<]*)</span>

Промежутки расположены абсолютно и имеют стиль top, который вы можете использовать, чтобы определить, произошел ли разрыв строки.Если произошел разрыв строки и последнее слово в последней строке не имеет завершающего тире, вы можете отделить последнее слово в последней строке от первого слова в текущей строке.Это может быть сложно в деталях, но вы могли бы исправить почти все ошибки синтаксического анализа текста.

Кроме того, вы можете захотеть запустить библиотеку словарей, например зачаровывать поверх вашего текста найдите ошибки, и если исправление, предложенное словарем, похоже на слово error, но где-то с пробелом, слово error, скорее всего, является ошибкой синтаксического анализа и может быть исправлено с помощью предложений словарей.

Разбор PDF-файлов - отстой, и если вы найдете источник получше, используйте его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top