【问题标题】:How to add a new line in the txt field in fpdf cell如何在 fpdf 单元格的 txt 字段中添加新行
【发布时间】:2017-11-28 08:11:25
【问题描述】:

我正在尝试使用 fpdf 在 python 中创建一个 pdf 文件,但是我在单元格函数中的“txt”文件中遇到了问题,因为我想在文本中添加一些新行。 这是我所做的,但这不起作用。

pdf = FPDF()
pdf.add_page()
pdf.set_xy(0, 0)
pdf.set_font('arial', 'B', 13.0)
text = 'Engagement Summary:' + "\n" + 'opened by: ' + str(shareURL.contact)
pdf.cell(ln=0, h=5.0, align='L', w=0, txt=text, border=0)
pdfName = request.user.username + ".pdf"
pdf.output(pdfName, 'F')

另外,“\n”在我要发送的电子邮件中不起作用。

【问题讨论】:

    标签: python fpdf


    【解决方案1】:

    试试这个

    pdf.multi_cell(0, 5, 'text' + '\n' +'test asdfaf')
    

    【讨论】:

    • 你的代码和其他答案有什么区别吗?
    • 我尝试了其他答案但没有成功。试试看你就知道了
    【解决方案2】:
    pdf.cell(ln=1, h=5.0, align='L', w=0, txt=text, border=0)
    

    如果你想要换行,ln 应该是 1 而不是 0

    【讨论】:

      【解决方案3】:

      我不像 PHP 版本那样熟悉 python 版本,但假设库的工作方式相同,问题是单元格不允许在其中包含新行。单元格本质上只是一个预定义的矩形,在输入的高度和宽度上都有硬停止。

      添加新行需要使用的是:multi_cell 多单元格将硬停止在定义的宽度处,但高度将根据内容动态变化。然后你的困难部分就变成了跟踪其他块的定位。

      Phython FPDF Multi Cell

      【讨论】:

        【解决方案4】:

        您可以使用 pdf.multi_cell(ln=0, h=5.0, align='L', w=0, txt=text, border=0) 方法代替 pdf.cell(ln=0, h=5.0 , align='L', w=0, txt=文本, 边框=0)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-09-29
          • 2020-05-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-03
          相关资源
          最近更新 更多