【问题标题】:Python: How to append a FPDF2 table to an existing pdf page?Python:如何将 FPDF2 表附加到现有的 pdf 页面?
【发布时间】:2022-10-04 20:37:49
【问题描述】:

我有一个使用this script 创建的 FPDF2 表。我曾经将其输出到空白页并将其合并到现有的 pdf 中,效果很好。

但是现在我们需要将表格添加到 pdf 中的现有页面,然后如果它不适合,我们插入新页面。这就是问题所在。

FPDF 似乎无法绘制到an existing page。我知道我可以使用reportlab canvas can.drawString() 绘制到现有页面,但我不知道reportlab 是否可以绘制FPDF 对象。

此外,如果我放弃 FPDF 并仅使用 reportlab 绘制表格,我不知道如何检测页面的结尾并在需要时插入新页面。我不是从页面的开头开始,而是从中间的某个地方开始。

如果可能的话,我希望能够使用我已经拥有的 FPDF2 脚本并以某种方式将输出添加到页面中特定的 x,y 位置。你有过这个问题吗?

我也在同一个项目中安装并使用了 Pypdf2,但我认为只有 reportlab 可以完成这项工作。也许我需要通过 Pypdf2 检测页面的结尾并通过 reportlab 写入页面?

【问题讨论】:

    标签: python pdf reportlab pypdf2 pyfpdf


    【解决方案1】:

    由于目前还没有答案,而且我需要一个答案来完成我的任务,所以我做了以下事情:

    我将 FPDF 表添加到一个空白 PDF 页面,但我将它向下推,执行set_y(100),以便有一个半空白页可以使用。

    我截取了需要放在桌子上方的项目的屏幕截图,然后使用 reportlab canvas.drawImage() 将它们添加到同一页面

    如果有更好的解决方案,请发布答案,我会接受它,我可能会重构我的代码。现在我会接受我自己的回答来结束这个问题。

    【讨论】:

      猜你喜欢
      • 2016-11-02
      • 2017-07-28
      • 2016-01-29
      • 2013-03-11
      • 2011-05-24
      • 2013-08-08
      • 2018-04-04
      • 1970-01-01
      • 2011-01-21
      相关资源
      最近更新 更多