PdfWriter Python 如何用多行文本更新字段

问题描述 投票:0回答:1

我花了几个小时尝试使用 Python 将多行文本插入 PDF,但所有潜在的解决方案都不起作用。我查看了多个库和其他解决方案,但没有一个使用 PdfWriter 或帮助解决我的问题 以下是我的一些尝试:

  • 制表符和回车符的 unicode 字符
  • 文字换行
  • \u0009 但它们都不起作用。它生成带有正确文本的 pdf,但不会转到新行。

可以在这里

找到pdf文件

这是我的代码:

from pypdf import PdfReader, PdfWriter


file_path_esb = os.path.join(script_directory, 'project/pdfs', 'ESB-NC6.pdf')
reader_esb = PdfReader(file_path_esb)
page_0_esb = reader_esb.pages[0]
writer = PdfWriter()
writer.add_page(page_0_esb)
applicant_name = current_user.name
installation_address = session['selected_project_address']

writer.update_page_form_field_values(writer.pages[0], {"Customer Name": f'{applicant_name}\r\n{installation_address}'})
with open(os.path.join(script_directory, 'project/pdfs', 'ESB-NC6_filled_out.pdf'), "wb") as output_stream:
   writer.write(output_stream)

任何帮助或指导,我们将不胜感激,谢谢!

python newline pdf-writer
1个回答
0
投票

没有直接的方法让库写入多行变量,因此更好的解决方案是将两个字段分成具有不同 id 的唯一字段,然后单独访问每个字段,如下所示:

writer.update_page_form_field_values(writer.pages[0], {"1": name})
writer.update_page_form_field_values(writer.pages[0], {"2": address})

感谢所有对帖子发表评论并试图提供帮助的人。

© www.soinside.com 2019 - 2024. All rights reserved.