Actualizar pdf/views.py
This commit is contained in:
21
pdf/views.py
21
pdf/views.py
@@ -212,23 +212,22 @@ def export_resource_pdf(request, resourceid, printubic, satmap, printimgs, print
|
||||
merger = PdfWriter()
|
||||
merger.append(PdfReader(io.BytesIO(gen_pdf_file)))
|
||||
|
||||
root_path = Path(__file__).resolve().parent.parent
|
||||
|
||||
if ruta_medios is not None and bool(int(printpdfs)) :
|
||||
for medio in reduce(getitem, ruta_medios[:-1], resource_data)[ruta_medios[-1]] :
|
||||
if medio['formato'] == 'application/pdf' :
|
||||
try :
|
||||
response = requests.get(f'{sprpcb_url}{medio["url"]}', timeout=10)
|
||||
response.raise_for_status()
|
||||
remote_pdf_stream = io.BytesIO(response.content)
|
||||
merger.append(remote_pdf_stream)
|
||||
remote_pdf_stream.close()
|
||||
except requests.RequestException as e:
|
||||
return HttpResponse(f"Error al incluir el archivo PDF: {e}", status=502)
|
||||
|
||||
medio_file = f'{root_path}/uploadedfiles/{medio["file"]}'
|
||||
with open(medio_file,'rb') as pdf_file :
|
||||
merger.append(pdf_file)
|
||||
output_buffer = io.BytesIO()
|
||||
merger.write(output_buffer)
|
||||
output_buffer.seek(0)
|
||||
merger.close()
|
||||
|
||||
else:
|
||||
output_buffer = io.BytesIO()
|
||||
merger.write(output_buffer)
|
||||
merger.close()
|
||||
output_buffer.seek(0)
|
||||
response = HttpResponse(output_buffer.read(), content_type='application/pdf')
|
||||
response['Content-Disposition'] = f'attachment; filename="{nombre_pdf}.pdf"'
|
||||
return response
|
||||
Reference in New Issue
Block a user