Python 在页面上的特定位置打印文本

Python 在页面上的特定位置打印文本,python,Python,我有一个web应用程序(使用web2pypython框架开发)。在这个web应用程序中,我想打印一些课程的证书 原则是: 课程教师有一个“默认”证书,带有占位符作为名称和证书名称。(“恭喜你成功通过了\uuu课程”) 他将证书放在打印机中,“我的应用程序”将名称和证书打印在特定位置,以填充占位符 我看了看ReportLab和Pod。它们似乎能够生成复杂的报告,但我想知道是否存在一种更简单的解决方案,只需在页面上的特定位置打印文本…如果任务只是定位打印到新创建的PDF,那么我会选择 稍微扩展它们的

我有一个web应用程序(使用web2pypython框架开发)。在这个web应用程序中,我想打印一些课程的证书

原则是: 课程教师有一个“默认”证书,带有占位符作为名称和证书名称。(“恭喜你成功通过了\uuu课程”) 他将证书放在打印机中,“我的应用程序”将名称和证书打印在特定位置,以填充占位符


我看了看ReportLab和Pod。它们似乎能够生成复杂的报告,但我想知道是否存在一种更简单的解决方案,只需在页面上的特定位置打印文本…

如果任务只是定位打印到新创建的PDF,那么我会选择

稍微扩展它们的功能(为了简单起见,跳过错误处理等):

它接受三个参数,x1和x2水平坐标(毫米)表示name和cert,y表示它们的公共垂直位置,如您的示例所示

编辑:如果您已经在使用web2py。使用可能是一种替代方法(可能更好)


将HTML呈现为PDF也是一种可能,但正确定位可能会更困难。

如果页面呈现为模板,请使用名称作为
变量
?!您需要通过创建模板来实现这一点,然后将该模板呈现为PDF格式,然后将生成的PDF发送到客户端(浏览器)进行打印。无法从web浏览器直接访问打印机。如果您可以提供您正在使用的框架的详细信息;你会得到更具体的答案。
from fpdf import FPDF
import sys

x1, x2, y = [int(arg) for arg in sys.argv[1:4]]

pdf=FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.set_xy(x1, y)
pdf.cell(0, 10, 'name')
pdf.set_xy(x2, y)
pdf.cell(0, 10, 'course')

pdf.output('tuto_%d_%d_%d.pdf' % (x1, x2, y),'F')