У меня есть xhtml2pdf version 0.2.3
, работающий в Django, чтобы вывести сертификат для пользователя после завершения курса. Единственная проблема с ним заключается в том, что PDF-файл является редактируемым, что означает, что пользователь может изменить информацию о нем (имя, название курса, дату и т. Д. c.) Перед его распечаткой. Я не смог найти ничего в документах или моих поисках, которые ссылались на то, можете ли вы сделать PDF-файлы доступными только для чтения после их создания.
Вид:
import io
from io import BytesIO
from xhtml2pdf import pisa
from django.core.files import File
from django.template.loader import get_template
def generate_course_certificate(earned_credit):
template = get_template("reports/course_certificate.html")
context = {"earned_credit": earned_credit}
html = template.render(context)
output = BytesIO()
inmemoryfile = io.BytesIO(output.getvalue())
pdf = pisa.pisaDocument(BytesIO(html.encode("UTF-8")), inmemoryfile)
earned_credit.proof_of_completion.save(
f"{earned_credit.course.name} {earned_credit.pk}.pdf", File(inmemoryfile)
)
earned_credit.save()
Мне показалось странным, что он был редактируемым по умолчанию. Есть ли способ сделать его доступным только для чтения?