Pisa -

2011-09-02 8 views
5

başlatmak için PDF görüntüleri göstermez Django (XHTML> PDF), bu diğer konuları gördüm ve ben ...Pisa -

Bunu düzeltmek için denemek için neredeyse her şeyi denedim ama var Bir HTML sayfasını PDF'ye dönüştürmek için Pisa kullanıldığında, söz konusu HTML'deki resimler dikkat çekecek şekilde kaybolur. Diğer bir deyişle, sayfa HTML'ye işlendiğinde, her şey yolundadır, ancak çıktıyı Pisa kullanarak PDF'ye dönüştürdüğümde, görüntüler kaybolur.

Yapacak buldum en yaygın şey böylece bir bağlantı geri çağırma işlevi oluşturmaktır:

def fetch_resources(uri, rel): 
    path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, "")) 
    return path 

def my_view(request, variable1): 
    html = render_to_string('template_goes_here.html', dict, context_instance=RequestContext(request)) 
    result = StringIO() 
    pdf = pisa.pisaDocument(StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources) 
    if not pdf.err: 
     return HttpResponse(result.getvalue(), mimetype='application/pdf') 
    return HttpResponse('Pisa hates you! %s' % cgi.escape(html)) 

Ancak bu işe yaramaz. PDF geliyor, harika, ama görüntüler yok.

Ayrıca HTML'yi mkstemp'a yazma, komut satırından bir PDF'ye dönüştürme ve HTML'i çıkarma hakkında başka bir iş parçacığı üzerinde de bir öneri okuyorum ya da orada başarı yok.

Benzer bir sorunu olan bir kişi yüzünden 1.1.17 yerine PIL 1.1.16 yüklemeye çalıştım - zar yok.

Burada yanlış nereye gittiğimin bir fikri var mı?

+3

Pisa'yı kullanmayın, projenin devamı olan xhtml2pdf kullanın. –

+2

Aynı problemle karşılaştım.Mkstemp da yardım etmedi. Görüntü boyutlarını html olarak ayarladığımızda Pisa resim oluşturmaz. Sadece html'den pdf oluşturmayı deneyin. Diğer html içeriklerini eklemeye devam edin. Sonunda pdf oluşturmak için HTMLTODOC kullandım -> http://www.htmldoc.org/ – Abhaya

cevap

2

Baktığımdan beri biraz zaman geçti, ama lambda veya functools'u kullanmanız gerektiğini düşünüyorum.

örn.

+0

İkinci bakışta bunun farklı olması için bir sebep yok. Verilen örnek neden çalışmadığından emin değil. –