2025-03-07 07:10:13 +01:00
|
|
|
from django.db.models.signals import post_save
|
|
|
|
|
from django.dispatch import receiver
|
|
|
|
|
import PyPDF2
|
|
|
|
|
from io import BytesIO
|
|
|
|
|
from .models import PDFDocument
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=PDFDocument)
|
|
|
|
|
def extract_text(sender, instance, created, **kwargs):
|
|
|
|
|
print("Signal disparado!") # Teste se o Signal está funcionando
|
|
|
|
|
if created and instance.file:
|
|
|
|
|
pdf = PyPDF2.PdfReader(instance.file)
|
|
|
|
|
text = []
|
|
|
|
|
for page in pdf.pages:
|
|
|
|
|
text.append(page.extract_text())
|
2025-03-07 15:31:53 +01:00
|
|
|
instance.content = "\n".join(text)
|
|
|
|
|
instance.save(update_fields=["content"])
|