На самом деле, мне понадобилось время, чтобы справиться с этим, но я думаю, что оно того стоит.
Вы должны сделать все шаги тщательно, чтобы заставить его работать.
- Установить pdf2image с
pip install pdf2image
.
- Получить poppler бинарных файлов Windows.
- Создайте новый каталог, например
myproject
.
- Создайте скрипт
converter.py
внутри myproject
и добавьте приведенный ниже код.
- Создайте другой каталог внутри
myproject
и назовите его poppler
.
- Скопируйте все файлы в двоичной папке загруженного poppler в каталог
poppler
. Попробуйте проверить pdfimages.exe
, работает ли он.
- Использование
pyinstaller converter.py -F --add-data "./poppler/*;./poppler" --noupx
- Ваш исполняемый файл теперь готов. Запустите его как
converter.exe myfile.pdf
. Результаты будут созданы в каталоге output
рядом с исполняемым файлом.
- Теперь ваше автономное PDF2IMAGE конвертер готово!
converter.py
import sys
import os
from pdf2image import convert_from_path
def current_path(dir_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, dir_path)
return os.path.join(".", dir_path)
if __name__ == "__main__":
if len(sys.argv) < 2:
print("PASS your PDF file: \"converter.exe myfile.pdf\"")
input()
sys.exit(0)
os.environ["PATH"] += os.pathsep + \
os.pathsep.join([current_path("poppler")])
if not os.path.isdir("./output"):
os.makedirs("output")
images = convert_from_path(sys.argv[-1], 500)
for image, i in zip(images, (range(len(images)))):
image.save('./output/out{}.png'.format(i), 'PNG')
PS: Если вам это нравится, вы можете добавить графический интерфейс и добавить дополнительные настройки для pdf2images
.