У объекта 'PdfFileWriter' нет атрибута 'seek'
Я пытался добавить защиту паролем к pdf файлам, столкнулся с этой ошибкой, ниже приведены мои коды
def generate_pdf(request):
queryset = Subscription.objects.all()
html_string = render_to_string('super_admin/member_report_pdf.html', {'object_list': queryset})
html = HTML(string=html_string)
result = html.write_pdf()
response = HttpResponse(content_type='application/pdf;')
response['Content-Disposition'] = 'inline; filename=list_people.pdf'
response['Content-Transfer-Encoding'] = 'binary'
with tempfile.NamedTemporaryFile(delete=True) as output:
output.write(result)
output.flush()
output = open(output.name, 'rb')
inputpdf = PyPDF2.PdfFileReader(output)
pages_no = inputpdf.numPages
output = PyPDF2.PdfFileWriter()
for i in range(pages_no):
inputpdf = PyPDF2.PdfFileReader(output)
output.addPage(inputpdf.getPage(i))
output.encrypt('pass')
with open("member.pdf", "wb") as outputStream:
response.write(outputStream)
return response
вот обратная трассировка ошибки
Traceback:
File "/home/biju/Desktop/Projects/Fitdigital/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request)
File "/home/biju/Desktop/Projects/Fitdigital/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response 115. response = self.process_exception_by_middleware(e, request)
File "/home/biju/Desktop/Projects/Fitdigital/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/biju/Desktop/Projects/Fitdigital/admin_actions/member_views.py" in generate_pdf 1028. inputpdf = PyPDF2.PdfFileReader(output)
File "/home/biju/Desktop/Projects/Fitdigital/lib/python3.8/site-packages/PyPDF2/pdf.py" in init 1084. self.read(stream)
File "/home/biju/Desktop/Projects/Fitdigital/lib/python3.8/site-packages/PyPDF2/pdf.py" in read 1689. stream.seek(-1, 2)
Тип исключения: AttributeError at /generate_pdf/ Значение исключения: объект 'PdfFileWriter' не имеет атрибута 'seek'