سؤال

لدي PISA إنتاج .pdfs في Django في المتصفح بشكل جيد ، ولكن ماذا لو كنت أرغب في كتابة الملف تلقائيًا على القرص؟ ما أريد القيام به هو أن أكون قادرًا على إنشاء ملف إصدار .pdf في نقاط محددة في الوقت المناسب وحفظه في دليل التحميل ، لذلك لا يوجد تفاعل في المتصفح. هل هذا ممكن؟

هل كانت مفيدة؟

المحلول

نعم هذا ممكن. على سبيل المثال ، استخدام الكود من جريج نيومان كمبتدأ:

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

تحتاج فقط إلى الاتصال بـ write_pdf باستخدام قالب وبيانات في قوله واسم ملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top