Slanje dokumenta u PDF fajlu

This commit is contained in:
2025-02-24 10:19:27 +01:00
parent c9cf1cee86
commit 460f6a38a1
5 changed files with 64 additions and 25 deletions

View File

@@ -1,7 +1,10 @@
from openai import OpenAI
from django.conf import settings
from .models import Risk, Control
import time
from weasyprint import HTML
from django.http import HttpResponse
from PIL import Image
import io
def extract_organization_details(organization):
excluded_fields = {"name", "email"}
@@ -182,3 +185,26 @@ def get_controls_for_risk(risk, organization):
if not remaining_controls:
break
return selected_controls if len(selected_controls) == 10 else []
def generate_pdf(document):
document_link = f"http://127.0.0.1:8000/document/{document.id}/"
pdf_content = HTML(url=document_link).write_pdf()
response = HttpResponse(pdf_content, content_type='application/pdf')
response['Content-Disposition'] = f'inline; filename=document_{document.id}.pdf'
return response
def generate_first_page_image(document):
document_link = f"http://127.0.0.1:8000/document/{document.id}/"
pdf_bytes = HTML(url=document_link).write_pdf()
from pdf2image import convert_from_bytes
images = convert_from_bytes(pdf_bytes, first_page=1, last_page=1)
img_io = io.BytesIO()
images[0].save(img_io, format="JPEG", quality=90)
img_io.seek(0)
return img_io