Функция load_resource не найдена как метод класса FPDF - PullRequest
1 голос
/ 06 января 2020

Я ищу ответ на следующий вопрос: Вставьте изображение Base64 в pdf, используя pyfpdf

. Здесь предлагается переопределить существующий метод load_resource.

То, что я сделал вместо этого, было

class EnhancedPdf(FPDF):

    def load_resource(self, reason, filename):
        if reason == "image":
            if filename.startswith("data"):
                f = filename.split("base64,")[1]
                f = base64.b64decode(f)
                f = BytesIO(f)
                return f
            else:
                return super().load_resource(reason, filename)

Однако Pycharm выделяет супер вызов с сообщением «Неразрешенная ссылка на атрибут« load_resource »для класса« FPDF »

В моей командной строке, Я выполнил команды

from fpdf import FPDF
   dir(FPDF)

Изучая этот список, я вижу, что функция load_resource действительно не является перечисленным методом. Поэтому мой вопрос заключается в том, почему функция load_resource не отображается?

1 Ответ

1 голос
/ 06 января 2020

Скорее всего, вы используете Python 3.x, где x> = 5.

На pypi написано, что модуль имеет только экспериментальную поддержку python 3.y, где y <= 4. </p>

Попробуйте с python 2.7, и это может сработать.

PS: лучше попробуйте https://pypi.org/project/fpdf2/, обновленная версия. Об ошибках и проблемах см. https://github.com/alexanderankin/pyfpdf.

Если вы действительно хотите использовать старую версию, вы можете установить любую версию из исходного репозитория, такую ​​как

pip install git+https://github.com/reingart/pyfpdf@<branchname of tag or commit> 
...