Slanje dokumenta u PDF fajlu
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user