Не удается прочитать pdf-файл

Рейтинг: 0Ответов: 1Опубликовано: 09.01.2023

Хочу извлечь все таблицы из pdf-файла. Для этого использую библиотеку tabula

Пользуюсь jupyter-notebook

!pip install tabula-py
!pip install tabula
conda install -c bioconda java-jdk

Команды установки проходят без ошибок. Но когда пытаюсь импортировать модуль, то возникает проблема

from tabula import read_pdf

pdfs = read_pdf('1.pdf', pages='all', multiple_tables=True)

Ошибка

Error from tabula-java:
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

CalledProcessError: Command '['java', '-Djava.awt.headless=true', '-Dfile.encoding=UTF8', '-jar', '/Users/tatan/opt/anaconda3/lib/python3.9/site-packages/tabula/tabula-1.0.5-jar-with-dependencies.jar', '--pages', 'all', '--guess', '--format', 'JSON', '1.pdf']' returned non-zero exit status 1.

Ответы

▲ 2Принят

Ошибка означает, что при запуске процесса java, исполняемый файл не был найден:

The operation couldn’t be completed. Unable to locate a Java Runtime.

Проверить доступность можно запустив java в консоли (например, в cmd):

$ java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)

Скорее всего, у вас будет ошибка вида:

'java' is not recognized as an internal or external command, operable program or batch file.

Решением будет добавить папку с java в переменные пути PATH

1. Открыть можно через поиск в меню пуска:

Элемент списка

2. Выбираем "Переменные среды...":

введите сюда описание изображения

3. Меняем Path для текущего пользователя или для всех:

введите сюда описание изображения

4. Добавляем путь к папке с java:

Элемент списка

5. Проверяем, для этого нужно перезапустить консоль/IDE (т.к. они при запуске подхватывают те переменные среды) и повторить запуск java