【问题标题】:Write PDF based on elements position根据元素位置编写 PDF
【发布时间】:2019-10-01 21:14:01
【问题描述】:

我需要基于包含文本框的元素数组生成 PDF,如下所示:

arr = [{'text':'Hello World',
'position':
{'width':130,
'height':20,
'top':20,
'left':300}},
...]

我正在使用 python 并测试过 FPDF:

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
for el in arr:
    pdf.cell(el['position']['width'], el['position']['height'],txt=el['text'], align="C")
pdf.output("simple_demo.pdf")

问题是我没有关于换行符的信息,只有文档上元素的位置。 关于如何根据位置在 PDF 上绘制文本的任何想法?

【问题讨论】:

  • 我不明白这个问题。为什么需要换行信息?
  • @ThomasSablik 用我目前的方法我没有位置将文本放在其他 TOP 上,它只是将所有字符串放在第一行
  • 您有一个包含位置的文本元素列表。为什么位置不正确?他们来自哪里?
  • 我没有选择 fpdf 来根据位置写入。
  • 您应该更改标签。 FPDF 是一个 PHP 库。 pypdf2 似乎是一个不同的库。您正在使用 pyfpdf。你应该阅读教程pyfpdf.readthedocs.io/en/latest/Tutorial/index.html单元格是一个矩形区域,可能带有框架,其中包含一些文本。 在当前位置输出。

标签: python pdf fpdf pypdf2


【解决方案1】:

你必须设置你的当前位置:

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
for el in arr:
    pdf.set_xy(el['position']['left'], el['position']['top'])
    pdf.cell(el['position']['width'], el['position']['height'],txt=el['text'], align="C")
pdf.output("simple_demo.pdf")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2022-09-28
    • 2014-05-21
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    相关资源
    最近更新 更多