2010-05-24 39 views
7

Tôi có pisa sản xuất .pdfs trong django trong trình duyệt tốt, nhưng nếu tôi muốn tự động ghi tệp vào đĩa? Điều tôi muốn làm là có thể tạo tệp phiên bản .pdf tại các thời điểm cụ thể và lưu nó vào thư mục tải lên, do đó không có tương tác trình duyệt. Điều này có thể không?Sử dụng Pisa để viết pdf vào đĩa

Trả lời

12

Có thể thực hiện được. ví dụ, sử dụng mã từ Greg Newman như một starter:

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

Bạn chỉ cần gọi write_pdf với một mẫu, dữ liệu trong một dict và một tên tập tin.

+0

Cảm ơn - chỉ những gì tôi cần. – PhoebeB

Các vấn đề liên quan