img2pdf - не выходит собрать пдф из png

zek24

Мой дом здесь!
Команда форума
Модератор
Регистрация
14 Ноя 2009
Сообщения
811
Реакции
301
  • Автор темы
  • Модер.
  • #1
Привет, есть папка с png и желание собрать pdf
Код Для просмотра ссылки Войди или Зарегистрируйся
PHP:
import img2pdf
from PIL import Image
import os


dirname = "../img"
with open("name.pdf","wb") as f:
    imgs = []
    for fname in os.listdir(dirname):
        if not fname.endswith(".png"):
            continue
        path = os.path.join(dirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

При выполнение код упорно второй день выдает ошибку
AttributeError: partially initialized module 'img2pdf' has no attribute 'convert' (most likely due to a circular import)

ХЕЛП!
 
Последнее редактирование:

Sorcus

Sorcus. A New Beginning.
Регистрация
10 Июл 2011
Сообщения
513
Реакции
884
Привет, есть папка с png и желание собрать pdf
Код Для просмотра ссылки Войди или Зарегистрируйся
PHP:
import img2pdf
from PIL import Image
import os


dirname = "../img"
with open("name.pdf","wb") as f:
    imgs = []
    for fname in os.listdir(dirname):
        if not fname.endswith(".png"):
            continue
        path = os.path.join(dirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

При выполнение код упорно второй день выдает ошибку
AttributeError: partially initialized module 'img2pdf' has no attribute 'convert' (most likely due to a circular import)

ХЕЛП!
А что за картинки ты пытаешься сконвертировать?
Потому что у меня твой код запустился без ошибок и сформировал pdf-ку из скриншотов.
 

zek24

Мой дом здесь!
Команда форума
Модератор
Регистрация
14 Ноя 2009
Сообщения
811
Реакции
301
  • Автор темы
  • Модер.
  • #3
png файлы
проблема в том, что img2pdf не "видит" свойства convert
Хотя все версии свежие.
Пишу на PyCharm

Недавно познакомился с питоном, видно что-то еще не понимаю.
 

Sorcus

Sorcus. A New Beginning.
Регистрация
10 Июл 2011
Сообщения
513
Реакции
884
png файлы
проблема в том, что img2pdf не "видит" свойства convert
Хотя все версии свежие.
Пишу на PyCharm

Недавно познакомился с питоном, видно что-то еще не понимаю.
Код:
laptop% cat test.py
import img2pdf
import os

print(img2pdf.convert)

laptop% python test.py
<function convert at 0x7fcb980f19d0>
Усё работает. Ставил img2pdf через репозиторий арчика.
Код:
laptop% pacman -Si img2pdf
Name            : img2pdf
Version         : 0.3.6-1
laptop% python --version
Python 3.8.2

А у тебя кстати нету случаем в той же директории других файлов, которые имеют такое же название, как этот модуль?
 
Последнее редактирование:

zek24

Мой дом здесь!
Команда форума
Модератор
Регистрация
14 Ноя 2009
Сообщения
811
Реакции
301
  • Автор темы
  • Модер.
  • #5
Код:
laptop% cat test.py
import img2pdf
import os

print(img2pdf.convert)

laptop% python test.py
<function convert at 0x7fcb980f19d0>
Усё работает. Ставил img2pdf через репозиторий арчика.
Код:
laptop% pacman -Si img2pdf
Name            : img2pdf
Version         : 0.3.6-1
laptop% python --version
Python 3.8.2

А у тебя кстати нету случаем в той же директории других файлов, которые имеют такое же название, как этот модуль?
да, сам файл с кодом назвал по имени img2pdf :facepalm:
сейчас другая ошибка, но гугл, думаю, поможет
WARNING:root:Image contains transparency which cannot be retained in PDF.
WARNING:root:img2pdf will not perform a lossy operation.
WARNING:root:You can remove the alpha channel using imagemagick:
WARNING:root: $ convert input.png -background white -alpha remove -alpha off output.png
 

Sorcus

Sorcus. A New Beginning.
Регистрация
10 Июл 2011
Сообщения
513
Реакции
884
да, сам файл с кодом назвал по имени img2pdf :facepalm:
сейчас другая ошибка, но гугл, думаю, поможет
WARNING:root:Image contains transparency which cannot be retained in PDF.
WARNING:root:img2pdf will not perform a lossy operation.
WARNING:root:You can remove the alpha channel using imagemagick:
WARNING:root: $ convert input.png -background white -alpha remove -alpha off output.png
А чего тут гуглить? Оно тебе прямым текстом сообщает, что нужно удалить альфа канал.
И сделать это можно с помощью imagemagick. Пример команды на последней строке.
 

vet_ozm

Писатель
Регистрация
18 Мар 2016
Сообщения
3
Реакции
1
Привет! В документации написано что не работает с ПНГ только без чересстрочной развертки и без прозрачности, проверь на jpg к примеру, их ест все
 
Сверху