Python 使用Reportlab Canvas-如何创建一个选项来打印从浏览器本身生成的pdf?
下面是使用Reportlab为我生成pdf的代码 现在,它只是在浏览器中显示pdf,在resonse.header['Content-Disposition']中包含“attachment”后,它会下载pdf 但我想要的是在浏览器中提供的打印选项,它甚至允许您选择打印机。可能吗Python 使用Reportlab Canvas-如何创建一个选项来打印从浏览器本身生成的pdf?,python,pdf,http-headers,reportlab,Python,Pdf,Http Headers,Reportlab,下面是使用Reportlab为我生成pdf的代码 现在,它只是在浏览器中显示pdf,在resonse.header['Content-Disposition']中包含“attachment”后,它会下载pdf 但我想要的是在浏览器中提供的打印选项,它甚至允许您选择打印机。可能吗 data = "raghav" p = canvas.Canvas(self.response.out) p.drawString(50, 700, data)
data = "raghav"
p = canvas.Canvas(self.response.out)
p.drawString(50, 700, data)
p.showPage()
self.response.headers['Content-Type'] = 'application/pdf'
self.response.headers['Content-Disposition'] = 'attachment;filename=testpdf.pdf'
p.save()
根据需要,您可以添加这两行以获得所需的结果:
from reportlab.pdfbase import pdfdoc
pdfdoc.PDFCatalog.OpenAction = '<</S/JavaScript/JS(this.print\({bUI:true,bSilent:false,bShrinkToFit:true}\);)>>'
从reportlab.pdfbase导入pdfdoc
pdfdoc.PDFCatalog.OpenAction=''
希望有帮助:)请不要在标题中包含标签。请看,其中的共识是“不,他们不应该”。至少在开发服务器上,这会影响所有未来的PDF。如果希望此特定PDF具有open action,请在_doc.Catalog.OpenAction private属性上设置OpenAction。请记住,这是在干涉内部问题。我如何将其与reportlab canvas一起使用,对我不起作用。任何帮助都将不胜感激