我有PDF表单,我想用我的Django Web应用程序中的数据自动填充,然后提供给用户下载.什么python库可以让我轻松预先填充PDF表单?这些表格打算打印出来.
如何用数据表单填充 PDF 文件并将其“压平”?
我现在使用 pdftk,但它不能正确处理国家字符。
是否有任何 Python 库或示例如何填写 PDF 表单并将其呈现为不可编辑的 PDF 文件?
我一直在研究如何使用 Python 编辑 PDF,我发现了这篇文章:
How to Populate Fillable PDF's with Python
但是,一旦程序运行并打开 PDF,就会出现问题,只有当您单击显示数据的标签时才会填充文档,并且当您单击它时,它会再次消失。这是可以在网上找到的其他人编写的代码。
#! /usr/bin/python
import os
import pdfrw
INVOICE_TEMPLATE_PATH = 'invoice_template.pdf'
INVOICE_OUTPUT_PATH = 'invoice.pdf'
ANNOT_KEY = '/Annots'
ANNOT_FIELD_KEY = '/T'
ANNOT_VAL_KEY = '/V'
ANNOT_RECT_KEY = '/Rect'
SUBTYPE_KEY = '/Subtype'
WIDGET_SUBTYPE_KEY = '/Widget'
def write_fillable_pdf(input_pdf_path, output_pdf_path, data_dict):
template_pdf = pdfrw.PdfReader(input_pdf_path)
annotations = template_pdf.pages[0][ANNOT_KEY]
for annotation in annotations:
if annotation[SUBTYPE_KEY] == WIDGET_SUBTYPE_KEY:
if annotation[ANNOT_FIELD_KEY]:
key = annotation[ANNOT_FIELD_KEY][1:-1]
if key in data_dict.keys():
annotation.update(
pdfrw.PdfDict(V='{}'.format(data_dict[key]))
)
pdfrw.PdfWriter().write(output_pdf_path, template_pdf)
data_dict = {
'business_name_1': 'Bostata', …Run Code Online (Sandbox Code Playgroud)