2010-05-24 13 views
7

मेरे पास ब्राउज़र में django में ppf .pdfs का उत्पादन है, लेकिन अगर मैं डिस्क को स्वचालित रूप से डिस्क पर लिखना चाहता हूं तो क्या होगा? मैं क्या करना चाहता हूं कि समय पर निर्दिष्ट बिंदुओं पर एक .pdf संस्करण फ़ाइल उत्पन्न करने और इसे अपलोड निर्देशिका में सहेजने में सक्षम होना है, इसलिए कोई ब्राउज़र इंटरैक्शन नहीं है। क्या यह संभव है?डिस्क को पीडीएफ लिखने के लिए पीसा का उपयोग

उत्तर

12

हां यह संभव है। उदाहरण के लिए, Greg Newman से कोड का उपयोग कर एक स्टार्टर के रूप में:

from django.template.loader import get_template 
from django.template import Context 
import ho.pisa as pisa 
import cStringIO as StringIO 
import cgi 

def write_pdf(template_src, context_dict, filename): 
    template = get_template(template_src) 
    context = Context(context_dict) 
    html = template.render(context) 
    result = open(filename, 'wb') # Changed from file to filename 
    pdf = pisa.pisaDocument(StringIO.StringIO(
     html.encode("UTF-8")), result) 
    result.close() 

तुम सिर्फ एक dict और एक फ़ाइल के नाम में डेटा एक टेम्पलेट के साथ write_pdf कॉल करने के लिए, की जरूरत है।

+0

धन्यवाद - बस मुझे जो चाहिए था। – PhoebeB

संबंधित मुद्दे