【发布时间】:2021-06-28 15:39:23
【问题描述】:
好吧,我头疼,我创建了 2 个模型,一个用于图像,一个用于文件,每次我上传图像时,都会自动创建一个包含图像 OCR 结果的文件。 但是我的文件没有存储到文件夹中,我似乎无法打开它们。
这是我的代码,请帮助我,我一直不明白如何将文本传递给 fileField,以便它可以像正常的 fileField 上传一样处理它:
class Image(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
title=models.CharField(max_length=50)
image=models.ImageField(upload_to='media',unique=True)
created_at = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
super(Image, self).save(*args, **kwargs)
if self.id :
File.objects.create(
file=Create_Pdf(self.image))
File.objects.update(title=self.title)
def __str__(self):
return str(self.id)
这是我的文件模型:
from django.db.models.fields import related
from django.db import models
# Create your models here.
class File(models.Model):
label=models.CharField(max_length=50, default='none')
title=models.CharField(max_length=200,default='test')
file=models.FileField(upload_to='files')
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.id)
and this is the use case :
import uuid
import os
import pytesseract
import PIL.Image
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
def Create_Pdf(image):
filename = f"{uuid.uuid4()}.pdf"
path=r'C:\Users\DELL\Desktop\PFE Rihab\Django j\OCRapplication\media\files'#i know this is wrong i just wanted to save the files and view them.
image=PIL.Image.open(image)
text=pytesseract.image_to_string(image)
with open (os.path.join(path,filename),mode='w+')as f:
f.write(text)
return(text)#i m not sure i should be returning text since it just gives me the OCR result as a link
【问题讨论】:
标签: python django python-tesseract