aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wkhtmltopdf/views.py30
1 files changed, 18 insertions, 12 deletions
diff --git a/wkhtmltopdf/views.py b/wkhtmltopdf/views.py
index 7d9e844..53f11bd 100644
--- a/wkhtmltopdf/views.py
+++ b/wkhtmltopdf/views.py
@@ -26,6 +26,7 @@ class PDFTemplateView(TemplateView):
filename = 'rendered_pdf.pdf'
footer_template = None
header_template = None
+ orientation = 'portrait'
margin_bottom = 0
margin_left = 0
margin_right = 0
@@ -36,25 +37,30 @@ class PDFTemplateView(TemplateView):
if request.GET.get('as', '') == 'html':
return super(PdfTemplateView, self).get(request, *args, **kwargs)
- page_path = template_to_temp_file(self.template_name, self.get_context_data(), context_instance)
+ self.context_instance = context_instance
+ page_path = template_to_temp_file(self.template_name, self.get_context_data(), self.context_instance)
+
+ pdf_kwargs = self.get_pdf_kwargs()
+ return self.response(wkhtmltopdf(page_path, **pdf_kwargs), self.filename)
+
+ def get_pdf_kwargs(self):
+ kwargs = {
+ 'margin_bottom': self.margin_bottom,
+ 'margin_left': self.margin_left,
+ 'margin_right': self.margin_right,
+ 'margin_top': self.margin_top,
+ 'orientation': self.self.orientation,
+ }
tmp_files = []
if self.header_template:
- kwargs['header_html'] = template_to_temp_file(self.header_template, self.get_context_data(), context_instance)
+ kwargs['header_html'] = template_to_temp_file(self.header_template, self.get_context_data(), self.context_instance)
tmp_files.append(kwargs['header_html'])
if self.footer_template:
- kwargs['footer_html'] = template_to_temp_file(self.footer_template, self.get_context_data(), context_instance)
+ kwargs['footer_html'] = template_to_temp_file(self.footer_template, self.get_context_data(), self.context_instance)
tmp_files.append(kwargs['footer_html'])
-
map(remove, tmp_files)
-
- kwargs.update({
- 'margin_bottom': self.margin_bottom,
- 'margin_left': self.margin_left,
- 'margin_right': self.margin_right,
- 'margin_top': self.margin_top
- })
- return self.response(wkhtmltopdf(page_path, **kwargs), self.filename)
+ return kwargs
def get_context_data(self, **kwargs):
context = super(PdfTemplateView, self).get_context_data(**kwargs)