Ошибка HTTP 404: не найдена при запуске pdfbox - PullRequest
0 голосов
/ 29 мая 2018

Я не хочу использовать pdfbox в python, я установил, используя этот https://pypi.org/project/python-pdfbox/, но при попытке запустить p = pdfbox.PDFBox() я получаю следующую ошибку.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/suyog/anaconda3/lib/python3.6/site-packages/pdfbox/__init__.py", line 81, in __init__
    self.pdfbox_path = self._get_pdfbox_path()
  File "/home/suyog/anaconda3/lib/python3.6/site-packages/pdfbox/__init__.py", line 57, in _get_pdfbox_path
    r = urllib.request.urlopen(pdfbox_url)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/home/suyog/anaconda3/lib/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

Любойидея, как использовать PDFBOX в Ubuntu?

Ответы [ 2 ]

0 голосов
/ 04 августа 2018

Добавление к этому ответу, поскольку оно кажется неполным для человека, устанавливающего его впервые.

Выполнение pip install python-pdfbox указывает на проект https://pypi.org/project/python-pdfbox/,, который является ожидаемым поведением.

Инструкции по использованию указывают на создание экземпляра объекта pdfbox следующим образом: p = pdfbox.PDFbox().

На этом этапе некоторые из нас, ищущих ответы, могут столкнуться с указанной ошибкой HTTP в этом вопросе.

Заглянув в репозиторий, обратите внимание, что версия pdfbox для загрузки - в жестком коде .Это может означать, что любой, кто установит этот пакет с помощью pip, должен быть достаточно «удачливым», чтобы иметь версию apache pdfbox (которая является библиотекой java) с той же версией.

Решение:

Отказ от ответственности: я пытался сделать эту работу для Windows 10.

Пакет init ищет pdfbox-app в переменной среды .Если он не находит его, он пытается загрузить его.Отсюда и ошибка.

  1. Загрузить последнюю версию pdfbox-app-{version}.jar из pdfbox apache .
  2. Установить переменную среды для PDFBOX, например set PDFBOX=C:\Dev\pdfbox-app-2.0.11.jar
  3. Запустите новую командную строку и попробуйте:
    • import pdfbox
    • p = pdfbox.PDFBox()
    • p.extract_text("some_filename")

Предостережение: extract_text () не распознает имена файлов пробелов с пробелами, каким-то образом ...

0 голосов
/ 29 мая 2018

Итак, похоже, что существующий дистрибутив устарел:

  1. Последняя версия 2.0.9, а ссылка на 2.0.8 больше не существует
  2. Код пыталсяпроверить целостность пакета, загрузив файл md5, который больше не существует для текущей версии.

Я позволил себе разложить существующий репозиторий и внедрить патч.Рабочую версию этой оболочки можно найти здесь .

Для установки из моего хранилища с помощью pip следуйте инструкциям, размещенным здесь .В качестве альтернативы, загрузите исходный код и запустите python setup.py install в каталоге.

Запуск кода работает для меня:

In [8]: import pdfbox
   ...: p = pdfbox.PDFBox()
   ...: 

In [9]: p
Out[9]: <pdfbox.PDFBox at 0x1046254e0>
...