Skip to content
Snippets Groups Projects
Verified Commit 1845b05f authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Use latex module to generate PDF.

First version that actually starts pdflatex :relaxed:!
parent 1d5535e8
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,7 @@ setup(
'django-localflavor',
'django-tables2',
'geopy',
'latex',
'pexpect',
'phonenumbers',
'python-dateutil',
......
from io import BytesIO
import os
from django.apps import apps
from django.conf import settings
from django.http import JsonResponse, HttpResponse
from django.shortcuts import redirect, render
from django.template.loader import get_template
from django.urls import reverse
from django.template.loader import get_template
from django_tables2 import RequestConfig
from latex import build_pdf
from .tables import PersonTable
from .util import filter_disallowed_persons, get_relevant_groups, may_see_group, may_see_person
......@@ -105,15 +110,13 @@ def persons(request, group=None):
latex_str = tpl.render(context).encode('utf-8')
if format == 'pdf':
# Pass rendered TeX string to django-latex
latex_doc = LatexDocument(latex_str)
# Pass all images of the persons for inclusion
for person in persons:
latex_doc.add_file(person.jpeg_phot, '%s.jpg' % person.uid)
# Generate TEXINPUTS correctly
texinputs = [settings.MEDIA_ROOT, os.path.abspath(os.path.dirname(__file__)), '']
# Generate PDF
pdf = latex_doc.as_pdf()
# Turn LaTeX string into file object
with BytesIO(latex_str) as latex_file:
# Build PDF
pdf = build_pdf(latex_file, texinputs=texinputs)
# Write HTTP response
res = HttpResponse(content_type='application/pdf')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment