ocrmypdf - не удалось найти исходный pdf?
я хотел бы использовать ocrmypdf для преобразования некоторого pdf-файла из изображения в читаемый pdf -
Попробовал это со следующим простым кодом: (счет-фактура.pdf, конечно, доступен по тому же пути, что и python-скрипт, и должен быть сгенерирован output.pdf)
import ocrmypdf
if __name__ == '__main__':
fn = r"C:\Users\Polzi\Documents\DEV\Python-Diverses\PDFOCR\invoice.pdf"
ocrmypdf.ocr(fn, 'output.pdf', deskew=True)
Но, к сожалению, я получаю это сообщение об ошибке:
$ python exPDFOCR.py
[WinError 2] Das System kann die angegebene Datei nicht finden
Traceback (most recent call last):
File "C:\Users\Polzi\Documents\DEV\Python-Diverses\PDFOCR\exPDFOCR.py", line 25, in <module>
ocrmypdf.ocr('invoice.pdf', 'output.pdf', deskew=True)
File "C:\Users\Polzi\Documents\DEV\.venv\testing\lib\site-packages\ocrmypdf\api.py", line 336, in ocr
check_options(options, plugin_manager)
File "C:\Users\Polzi\Documents\DEV\.venv\testing\lib\site-packages\ocrmypdf\_validation.py", line 271, in check_options
ocr_engine_languages = plugin_manager.hook.get_ocr_engine().languages(options)
File "C:\Users\Polzi\Documents\DEV\.venv\testing\lib\site-packages\ocrmypdf\builtin_plugins\tesseract_ocr.py", line 155, in languages
return tesseract.get_languages()
File "C:\Users\Polzi\Documents\DEV\.venv\testing\lib\site-packages\ocrmypdf\_exec\tesseract.py", line 143, in get_languages
proc = run(
File "C:\Users\Polzi\Documents\DEV\.venv\testing\lib\site-packages\ocrmypdf\subprocess\__init__.py", line 53, in run
proc = subprocess_run(args, env=env, **kwargs)
File "c:\users\polzi\appdata\local\programs\python\python39\lib\subprocess.py", line 505, in run
with Popen(*popenargs, **kwargs) as process:
File "c:\users\polzi\appdata\local\programs\python\python39\lib\subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "c:\users\polzi\appdata\local\programs\python\python39\lib\subprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden
Почему он не может найти файл в той же папке, где выполняется py-файл?
1 ответ
Иногда первое сообщение об ошибке может вводить в заблуждение без ясной причины.
В этом случае основное сообщение
"The system cannot find the specified file"
Заставит пользователя сконцентрироваться на том, почему имя файла неверно, как в этом случае.
Ошибка должна сообщать о том, что требуемый файл в зависимостях не найден. что может быть вызвано тем, что один или несколько файлов данных Tesseract или связанных файлов данных Leptonica / Language находятся не в правильном месте либо из-за отсутствия установки, либо из-за плохой установки.
Выяснилось, что установка tesseract на окна с https://github.com/UB-Mannheim/tesseract/wiki «скрипт теперь работает нормально»
Обратите внимание, что отсутствующая зависимость была причиной аналогичного сообщения здесь Импорт ocrmypdf в Visual Stdio Code в Python