Il modulo utilizza la librearia appy-pod, da ricordarsi che:
Esempio d’uso:
from django.http import HttpResponse
from jmb.core.utils.appypod_utils import JmbAppyPodTemplate
def example_view_pdf(request):
context = dict(first_name="<name>", last_name="<last_name>")
template_file = "<path_to_template_file>"
appy_pod_template = JmbAppyPodTemplate(template_file, context)
rendered_template = template.render()
return HttpResponse(rendered_template, mimetype="application/pdf")
def example_view_odt(request):
context = dict(first_name="<name>", last_name="<last_name>")
template_file = "<path_to_template_file>"
appy_pod_template = JmbAppyPodTemplate(template_file, context)
rendered_template = template.render(file_type="odt")
return HttpResponse(rendered_template, mimetype="application/vnd.oasis.opendocument.text")
Classe semplice che serve per ottenere un file di estensione desiderata (pdf di default).
Object init function.
Parameters: |
|
---|
Instance render function.
Parameters: | file_type – output file extension |
---|---|
Returns: | generated file stream if created, else None |
Note
Sostituito
Questo modulo e` stato sostituito da OpenOffice Utils via appy.pod Si lascia la presente documentazione solo per consultazione
Queste utility permettono di connettersi ad un server OpenOffice/Libreoffice tramite il modulo python uno.
Note
Monkey-patch
questo modulo fa mankey-patching del meccanismo di import per cui ogni errore successivo e scorrelato di import viene erroneamente fatto risalire al modulo uno
Per questo ho fatto attenzione a non avere alcun import di ‘uno’ o di ‘com.sun.*’ durante l’import di questo modulo.
Il modo normale di usare questo modulo è tramite la vista
Return an HttpResponse with an attachment that is the pdf/odt file
it uses OOUtils.save_odt and OOUtils.save_pdf
Esiste anche una vista che permette di ritornare direttamente il contenuto come pdf:
Un esempio semplice di utilizzo:
from jmb.core.views.generic.create_oo_file import create_file
extra_context = {'to_company' : self.get_to_company, }
str_oofile = create_file(None, file_name=pdf_cover_name,
file_model='admin/fax/fax/cover.odt',
file_type="pdf", save_in="/tmp/", extra_context=extra_context)