Welut is a ebook converter
- ebook-convert:
$ sudo apt install calibre
- convert epub & mobi to pdf. - pdftocairo:
$ sudo apt install -y poppler-utils
- convert pdf to images
Welut is available directly from PyPI:
- Installing the package.
$ pip install welut
- Don't forget to add
'welut'
to your'INSTALLED_APPS'
.
# settings.py
INSTALLED_APPS = [
....
'welut',
]
- Doing makemigrations & migrate
./manage.py makemigrations welut
./manage.py migrate welut
WELUT_EXTENSIONS = ['.pdf', '.epub', '.mobi'] # support file extensions
WELUT_REMOVED_EXTENSIONS = ['.pdf', '.epub', '.mobi'] # file to remove after uploaded
WELUT_IMAGES_EXTENSION = '.png' # format images extension
You can using ForeignKey
or OneToOneField
.
from django.db import models
from welut.models import EbookConverter
class EBook(models.Model):
title = models.CharField(max_length=200)
ebook_file = models.ForeignKey(EbookConverter, related_name='ebook_file')
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
def get_files(self):
""" return list images of ebook per-page """
return self.ebook_file.get_files()
Templates
{% for img_url in object.get_files %}
<img src="{{ MEDIA_URL }}{{ img_url }}">
{% endfor %}