2015-02-02 18 views
7

Bu soru gerçekten çok basit, ancak üzerinde herhangi bir veri bulamıyorum. Raporlama ile bir pdf oluşturduğumda, httpresponse dosyasını bir dosya olarak iletirken, dosyaları göstermek için yapılandırılmış tarayıcılar pdf'yi doğru görüntüler. Ancak, sekmenin başlığı "(Anonymous) 127.0.0.1/whatnot" olarak kalır ve bu da kullanıcı için çirkin bir durumdur.Raporlab oluşturulan pdf ile sekme başlığı sağlayın

Çoğu site bir şekilde uygun bir başlık görüntüleyebildiğinden, sanırım yapılabileceğini düşünüyorum ... pdf'ye geçirebileceğim bir çeşit başlık parametresi var mı? Ya da cevap için bir başlık? Benim kodum:

def render_pdf_report(self, context, file_name): 
    response = HttpResponse(content_type='application/pdf') 
    response['Content-Disposition'] = 'filename="{}"'.format(file_name) 

    document = BaseDocTemplate(response, **self.get_create_document_kwargs()) 
    # pdf generation code 
    document.build(story) 
    return response 
+0

İstediğiniz gibi çalıştığı sitelerin örneklerini verebilir misiniz? –

+0

Örn: burada, dosya adı http://www.biblioteca.org.ar/libros/211756.pdf başlığında görüntülenir. Ayrıca, weasyprint ile oluştururken, html başlık etiketi adreslenir, bu yüzden ben – Alvaro

cevap

7

Google Chrome'un PDF başlıklarını hiç görüntülemediği görünüyor. Yorumdaki bağlantıyı test ettim (biblioteca.org.ar) ve Firefox'ta "- 211756.pdf" olarak görüntüleniyor, boş bir başlık var ve Firefox daha sonra sadece tam URL yolunun yerine dosya adını gösteriyor. Firefox'ta

from reportlab.pdfgen import canvas 

c = canvas.Canvas("hello.pdf") 
c.setTitle("hello stackoverflow") 
c.drawString(100, 750, "Welcome to Reportlab!") 
c.save() 

Açılış gerekli sonucu verir: Ben ReportLab's User Guide yaklaşık setTitle öğrendim

Ben bu kod parçası kullanarak aynı davranışı yeniden. Bu trml2pdf kullanıyorsanız, sen ... yani., Şablon etiketinde "title" özelliğini eklemeniz < şablon title = "Faturalar" gerekecektir 16. :)

+0

yapılabilir! Bu hile yapmak gibi görünüyor. Şimdi bunu bir tuval kullanarak – Alvaro

+5

Bitti platypus ile çalışmak için değiştirmeye çalışın. document.title = 'title' hile yapar – Alvaro

+1

Ve dokularda setTitle bahsettiği hakkında .. bir tuval kullanmıyorken ne etkisi olduğunu açıklamasa bile ne de yardımcı olur – Alvaro