2

这是使用 Reportlab 为我生成 pdf 的代码。

现在,它只在浏览器中显示 pdf,在 resonse.header ['Content-Disposition'] 中包含“附件”后,它会下载 pdf。

但我想要的是浏览器中提供的 rint 选项,它甚至允许您选择打印机。是否可以 ?

       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()
4

1 回答 1

5

根据http://blog.adlibre.org/2012/04/05/automatically-print-pdf-generated-reportlab/您可以添加这两行以获得所需的结果:

from reportlab.pdfbase import pdfdoc
pdfdoc.PDFCatalog.OpenAction = '<</S/JavaScript/JS(this.print\({bUI:true,bSilent:false,bShrinkToFit:true}\);)>>'

希望能帮助到你 :)

于 2012-12-21T14:54:59.133 回答