کتابخانه پایتون منبع باز برای پردازش دادههای سهبعدی
کتابخانه رایگان پایتون 3D برای ایجاد برنامههای پردازش دادههای سهبعدی. این کتابخانه امکان تولید صحنهها، همراستایی سطوح، تجسم سهبعدی و موارد بیشتر را فراهم میکند.
قالب فایل کتاب الکترونیکی روز به روز محبوبتر میشود. این واژه مخفف «کتاب الکترونیکی» است و به کاربران امکان میدهد آن را روی دستگاههای الکترونیکی مانند کامپیوتر یا دستگاههای دستی بخوانند که تجربه یادگیری کلی را ساده و بهبود میبخشد. هزینه آن نسبت به کتابهای چاپی بسیار کمتر است زیرا نیازی به چاپ روی کاغذ نیست.
EbookLib یک کتابخانه منبع باز بسیار مفید و ساده برای استفاده در پایتون است که به توسعهدهندگان نرمافزار امکان میدهد بهصورت برنامهنویسی فایلهای EPUB2، EPUB3 و Kindle را مدیریت کنند. این کتابخانه بسیار ساده است و میتواند کارهای پیچیده را به راحتی انجام دهد. چندین وظیفه مهم در این کتابخانه وجود دارد، از جمله خواندن کتابهای EPUB، ایجاد EPUB، ایجاد فصلها، ایجاد تصویر از تصویر محلی، پوششها، تعریف فهرست مطالب، افزودن استایلها و قالببندی، ستونپشت (spine)، راهنما، متادیتا و غیره.
شروع کار با EbookLib
EbookLib به Python 2.7 و Python 3 نیاز دارد. EbookLib در pip موجود است، میتوانید به راحتی آن را دانلود کنید و بر روی دستگاه خود نصب کنید. لطفاً برای نصب بدون مشکل از دستور زیر استفاده کنید.
نصب EbookLib از طریق pip
pip install EbookLib میتوانید کتابخانهٔ مشترک کامپایلشده را از مخزن Github دانلود کنید.
چگونه اسناد EPUB را با پایتون تولید کنیم؟
کتابخانهٔ منبع باز EbookLib عملکرد کامل برای تولید اسناد EPUB را تنها با چند خط کد فراهم کرده است. این کتابخانه چند ویژگی مهم مرتبط با ایجاد و مدیریت اسناد جدید ارائه میدهد، مانند ایجاد فصول مقدمه، افزودن متادیتا، تعریف سبک دلخواه، درج فصول جدید، ایجاد فهرست مطالب، افزودن بخش، افزودن لینکهای خودکار به فصول، افزودن فایلهای ناوبری، ایجاد ستون (spine) و موارد دیگر.
چگونه فایلهای EPUB را با کتابخانه پایتون ایجاد کنیم؟
from ebooklib import epub
book = epub.EpubBook()
# set metadata
book.set_identifier("id123456")
book.set_title("Sample book")
book.set_language("en")
book.add_author("Author Authorowski")
book.add_author(
"Danko Bananko",
file_as="Gospodin Danko Bananko",
role="ill",
uid="coauthor",
)
# create chapter
c1 = epub.EpubHtml(title="Intro", file_name="chap_01.xhtml", lang="hr")
c1.content = (
"عنوان مقدمه
"
"Zaba je skocila u baru.
"
'![[ebook logo]](static/ebooklib.gif)
'
)
# create image from the local image
image_content = open("ebooklib.gif", "rb").read()
img = epub.EpubImage(
uid="image_1",
file_name="static/ebooklib.gif",
media_type="image/gif",
content=image_content,
)
# add chapter
book.add_item(c1)
# add image
book.add_item(img)
# define Table Of Contents
book.toc = (
epub.Link("chap_01.xhtml", "Introduction", "intro"),
(epub.Section("Simple book"), (c1,)),
)
# add default NCX and Nav file
book.add_item(epub.EpubNcx())
book.add_item(epub.EpubNav())
# define CSS style
style = "BODY {color: white;}"
nav_css = epub.EpubItem(
uid="style_nav",
file_name="style/nav.css",
media_type="text/css",
content=style,
)
# add CSS file
book.add_item(nav_css)
# basic spine
book.spine = ["nav", c1]
# write to the file
epub.write_epub("test.epub", book, {})
خواندن اسناد EPUB موجود با پایتون
کتابخانه منبع باز EbookLib به توسعهدهندگان نرمافزار امکان باز کردن و خواندن فایلهای EPUB2 و EPUB3 موجود را در برنامههای پایتون خود میدهد. این کتابخانه همچنین پشتیبانی کامل از فرمت Kindle را فراهم کرده است (در حال حاضر فقط قابلیت خواندن دارد). برای خواندن کتاب EPUB باید مسیر کامل فایل EPUB را به عنوان آرگومان به تابع ebooklib.epub.read_epub() پاس دهید. مثال زیر نشان میدهد چگونه این کار را انجام دهید.
چگونه اسناد EPUB موجود را از طریق API پایتون بخوانیم؟
import ebooklib
from ebooklib import epub
book = epub.read_epub('test.epub')
مدیریت موارد در اسناد EPUB با پایتون
در یک فایل EPUB موارد متنوعی مانند سبکنامهها، تصاویر، ویدئوها، صداها، اسکریپتها و فایلهای html پشتیبانی میشوند. کتابخانه منبع باز EbookLib پشتیبانی کامل برای مدیریت این موارد در اسناد EPUB فراهم کرده است. این کتابخانه چندین ویژگی مهم برای مدیریت موارد ارائه میدهد، از جمله دریافت موارد بر اساس نوع، دریافت موارد بر اساس شناسه، دریافت موارد بر اساس نام فایل، دریافت بر اساس نوع رسانه، بازگرداندن تمام موارد برای پردازش فایلهای EPUB ناشناخته و موارد دیگر.
دریافت جزئیات موارد از اسناد EPUB از طریق API پایتون
for item in book.get_items():
if item.get_type() == ebooklib.ITEM_DOCUMENT:
print('==================================')
print('NAME : ', item.get_name())
print('----------------------------------')
print(item.get_content())
print('==================================')