PyPDF2 не может читать не-Engli sh символы, возвращает пустую строку в extractText () - PullRequest
1 голос
/ 24 февраля 2020

Я работаю над сценарием, который будет извлекать данные из большого PDF-файла (40-60 плюс, страниц длиной) , который отсутствует в английском sh, но файл содержит греческих символов и все выглядит хорошо, пока я не запустил extractText() функцию PyPDF2 для получения содержимого страницы Givens, затем он возвращает пустую строку.

Я новичок в этой библиотеке, и я не знаю, что делать, чтобы решить эту проблему !!

1 Ответ

0 голосов
/ 24 февраля 2020

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

Возможно, вы не сможете решить эту проблему. Если вы можете успешно скопировать / вставить текст в Acrobat / Reader, то можно извлечь текст. Так что же происходит, когда вы пытаетесь скопировать / вставить из Reader? Не пытайтесь сделать это с какой-либо другой сторонней программой просмотра PDF, используйте программное обеспечение Adobe. Возможно, вам придется отказаться от PyPDF2 и перейти к другому API PDF, но если Reader сможет это сделать, это решаемая проблема.

В PDF есть три разные вещи, которые могут выглядеть как буквы в человеческий глаз.

  1. Буквы в PDF в некоторой кодировке текста. Существует несколько фиксированных кодировок, плюс PDF позволяет встраивать ваши собственные пользовательские кодировки (часто используемые с подмножествами шрифтов). Программное обеспечение может создавать PDF-файлы, которые выглядят хорошо, но на самом деле их нельзя копировать / вставлять, даже Adobe.
  2. Трасса, которая очень похожа на буквы. «Начните рисовать линию здесь, нарисуйте прямую линию там, затем кривую вот так» и так далее. Если вам интересно, PDF использует Кривые Безье для определения своих кривых. Не очень связано с вашим вопросом, но интересно.
  3. Битовые карты (.jpeg / gif / et c изображений), которые определяют сетку пикселей.

В прошлом Считыватель смог обработать только текст 1 выше, и только тогда, когда текст был закодирован правильно. Сломанные пользовательские кодировки являются тревожно распространенными (или были 7+ лет go, когда я перестал работать с программным обеспечением PDF).

С неработающими типами 1 и всеми 2 и 3 единственное, что вы можете сделать, это запустить OCR на PDF. OCR: Оптическое распознавание символов. Существует несколько проектов OCR с открытым исходным кодом, а также коммерческие.

...