Как преобразовать формат моего файла .pdf в .txt в Django
Я работаю над веб-приложением на Django, где я хочу конвертировать файлы .pdf и .docx в .txt. Я написал функцию save(), где я хочу получить файл и затем преобразовать его в формат .txt. Но она выдает мне ошибку :
FileNotFoundError at /post/new/ [Errno 2] Нет такого файла или каталога: 'Python String.pdf'
мой models.py имеет вид :
from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
import PyPDF2
import os
# Create your models here.
class FileUpload(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True , null=True)
file = models.FileField(upload_to='files')
def save(self, *args, **kwargs):
if self.file:
pdffileobj = open(str(self.file.name), 'rb') # this is where i want to get the file but it give me the error
pdfreader = PyPDF2.PdfFileReader(pdffileobj)
x = pdfreader.numPages
pageobj = pdfreader.getPage(x + 1)
text = pageobj.extractText()
file1 = open(self.file.name.txt, "a")
file1.writelines(text)
super(FileUpload, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('home')
Вывод - я хочу преобразовать .pdf в .txt перед сохранением. Спасибо
Я не работал с django, но этот код может помочь: использовать os для пути к файлу
os.path.join(os.path.dirname(os.path.dirname(__file__)),'filename')