【问题标题】:Python gets KeyError in put images FPDFPython在放置图像FPDF中获取KeyError
【发布时间】:2020-07-10 06:37:10
【问题描述】:

任何可以帮助我解决 FPDF 错误的人,因为我试图重新生成 PDF,但收到以下 FPDF 错误:

 File "/usr/local/lib/python3.5/dist-packages/fpdf/fpdf.py", line 1230, in output
   self.close()
 File "/usr/local/lib/python3.5/dist-packages/fpdf/fpdf.py", line 322, in close
   self._enddoc()   # close document
 File "/usr/local/lib/python3.5/dist-packages/fpdf/fpdf.py", line 1868, in _enddoc
   self._putresources()
 File "/usr/local/lib/python3.5/dist-packages/fpdf/fpdf.py", line 1791, in _putresources
   self._putimages()
 File "/usr/local/lib/python3.5/dist-packages/fpdf/fpdf.py", line 1706, in _putimages
   del info['data']
KeyError: 'data'

模板有图片,但我不确定这个问题。请参考下文。

    def start(self, data, display=''):
        """ Start PDF """

        content = data['data']
        file_name = data['file_name']

        self.front_page(data)
        self.render_data(content)
        self.output(file_name, "F")

问题出在 pdf 库的这一部分:

 def _putimages(self):
        filter=''
        if self.compress:
            filter='/Filter /FlateDecode '
        i = [(x[1]["i"],x[1]) for x in self.images.items()]
        i.sort()
        for idx,info in i:
            self._putimage(info)
            del info['data']
            if 'smask' in info:
                del info['smask']

提前致谢! [1]:https://i.stack.imgur.com/Nj8ar.png

【问题讨论】:

  • 你好!你能分享你的代码吗?更好;一个最小的可重复的例子? stackoverflow.com/help/minimal-reproducible-example
  • 请编辑您的问题以包含代码。
  • content 不包含您认为的内容。你能分享一下打印content 显示的内容吗?
  • 嗨@Bob,内容或数据没有问题。问题在于 pdf 的关闭,因为它不断询问 pdf 库中 _putimages 函数中的数据。
  • @LyjenLovendino 你在使用pdf = fpdf.FPDF(),如果是,你可以分享你调用它的代码

标签: python fpdf


【解决方案1】:

我遇到了同样的问题,帮助我的是每次在函数内部或递归调用时初始化 pdf=FPDF()

【讨论】:

    【解决方案2】:

    我用FPDF2进行图像处理,用初始化的方式解决了。 谢谢

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多