首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从原始用户输入生成PDF表单(Python)

从原始用户输入生成PDF表单(Python)
EN

Stack Overflow用户
提问于 2011-10-12 14:39:26
回答 2查看 4.3K关注 0票数 0

所以我是一名大学生,有一份兼职工作--但我确实有一些Python经验。无论如何,我想我会试着做一个表单生成器来打动我的老板。我的工作是在一个卡丁车的地方,我们需要人们填写一堆安全信息,所以我的目标是在电脑上把它作为GUI或网页,我们只需在上面写下他们的名字和其他详细信息,它就会生成一个表格,上面有他们需要签名的所有信息。

我看了看周围,注意到有相当多的工具,但我不确定他们是否明确我想要的-所有看起来都很复杂。

我以前做过一个简单的图形用户界面,但理想情况下,我会让他们在.html页面上做。

有没有人能给我一些建议,告诉我该怎么做?

谢谢!

Ps。我知道这个地方主要是用来写代码的,所以如果我写这样的文章违反了礼仪,我向你道歉。

EN

回答 2

Stack Overflow用户

发布于 2011-10-12 14:42:28

你可以使用reportlab,这是一个tutorial。它可以与easy_install一起安装

票数 2
EN

Stack Overflow用户

发布于 2018-07-22 06:20:27

作为在代码中从头开始生成整个pdf的替代方案(例如,使用前面描述的reportlab --这是一个非常合理的解决方案,reportlab是一个很好的库),您可以填写由某些编辑软件(例如word或类似软件--我使用Scribus NG)生成的现有pdf表单。但这是一个学习的噩梦,我并不真的推荐它给临时用户)。

填写现有表单的好处是,您可以对表单使用适当的编辑工具,这使得创建更专业外观的表单变得更容易(也可以由图形设计师编辑)。缺点是它稍微复杂一点,而且它不是一个纯python解决方案。

您可以通过创建一个fdf文件并从python中执行一个名为pdftk的外部工具来填写表单。编写fdf文件是一项练习,我将把它留给您!fdf基本上是一个键值列表,其中键是表单字段id (即表单id中的文本字段),值是写入该字段的值。

如果您想这样做,我建议您首先手动编写您的fdf文件,然后手动运行pdftk。让它正常工作,然后使用python实现自动化。这不是一个漂亮的解决方案,但结果看起来不错。

下面是我用来执行pdftk的代码,它可以帮助您正确地使用命令行语法。

代码语言:javascript
复制
def pdftk(pdf_in, fdf_in, pdf_out):
    """
    Run pdftk to fill in pdf_out from the pdf form template and data given.
    (only tested on linux)

    """
    cmd_line = [pdftk_executable,
                pdf_in,
                "fill_form",
                fdf_in,
                "output",
                pdf_out,
                "verbose"]
    # print " ".join(cmd_line)
    try:
        pdftk_output = subprocess.check_output(cmd_line)
    except subprocess.CalledProcessError as e:
        pdftk_output = e.output
        pdftk_error = True
    return
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7736192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档