>我正在寻找以下问题的答案:使用 pyfpdf 将 Base64 图像插入到 pdf
这里建议的答案是覆盖现有的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 突出显示了超级调用,并显示类"FPDF"的消息"未解析的属性引用 load_resource">
在我的命令行中,我运行了命令
from fpdf import FPDF
dir(FPDF)
检查此列表,我发现load_resource
函数确实不是列出的方法。因此,我的问题是为什么load_resource
功能不可见?
很可能你正在使用Python 3.x,其中x>= 5
。在pypi上,它说该模块仅对python 3.y的实验性支持,其中y <= 4 。
尝试使用 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>