我有一个django应用程序,它从HTML表单上的用户输入动态生成PDF(使用reportlab + pypdf),并返回带有application/pdfMIMEType 的HTTP响应.
我希望在执行上述操作或通过电子邮件发送生成的pdf之间进行选择,但我无法弄清楚如何使用EmailMessage类的attach(filename=None, content=None, mimetype=None)方法.该文档没有给出对content应该是什么类型的对象的大量描述.我已经尝试过一个文件对象和上面的application/pdfHTTP响应.
我目前有一个解决方法,我的视图将pdf保存到磁盘,然后我使用该attach_file()方法将生成的文件附加到外发电子邮件.这对我来说似乎不对,我很确定有更好的方法.
我有兴趣以编程方式填写现有的PDF表单.我真正需要做的就是从用户输入中提取信息,然后将相应的文本放在适当位置的现有PDF上.我已经可以通过reportlab将相同的纸张送入打印机两次来完成此操作,但这真的让我误解了.
在添加用户输入的文本之前,我很想亲自对每个现有PDF进行逆向工程并自己绘制每一行和每个字符,但我想查看是否有一种简单的方法来获取现有PDF并将其设置为一些额外文本的背景.我更喜欢使用python,因为它是我唯一感觉舒服的语言.
我也意识到我可以只扫描文档本身并使用生成的光栅图像作为背景,但我更喜欢矢量图形的精度.
看起来ReportLab有一个具有此功能的商业产品,而我正在寻找的特定功能就在其中(copyPages) - 但是为一个非盈利用途的单个简单功能支付4位数产品似乎有点过头了.