2012-12-21 1 views
1

다음은 Reportlab을 사용하여 저에게 pdf를 생성하는 코드입니다.Reportlab Canvas 사용 - 브라우저 자체에서 생성 된 PDF를 인쇄하는 옵션을 만드는 방법은 무엇입니까?

이제는 브라우저에 pdf를 보여 주며 resonse.header [ 'Content-Disposition']에 'attachment'를 포함시킨 후 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() 
+0

는 제목에 태그를 포함하지 말아주십시오. [ "제목에"태그에 "태그가 포함되어 있어야합니까?"] (http://meta.stackexchange.com/questions/19190/), 컨센서스는 "아니오, 그렇지 않아야합니다."를 참조하십시오. –

+0

OkOkay, 고마워요 – Raghav

답변

4

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}\);)>>' 

그것이 도움이되기를 바랍니다 :)

+2

적어도 dev-server에서 이것은 미래의 모든 PDF에 영향을줍니다. 이 특정 PDF에 열린 작업을 지정하려면 _doc.Catalog.OpenAction 개인 속성에서 OpenAction을 설정하십시오. 이것은 힘든 내부에서 간섭하는 것을 명심하십시오 – Ralfp

+0

좋은 지적 @Ralfp, 고마워요! – furins

관련 문제