مكتبة بايثون مفتوحة المصدر لمعالجة البيانات ثلاثية الأبعاد

مكتبة بايثون ثلاثية الأبعاد مجانية لإنشاء تطبيقات لمعالجة بيانات ثلاثية الأبعاد. تتيح إنشاء المشاهد، محاذاة السطح، التصور ثلاثي الأبعاد والمزيد.

تنسيق ملف الكتاب الإلكتروني يزداد شعبية مع مرور كل يوم. هو اختصار لـ 'الكتاب الإلكتروني'، ويسمح للمستخدمين بقراءته على جهاز إلكتروني مثل الكمبيوتر أو الجهاز المحمول، مما يبسط ويعزز تجربة التعلم بشكل عام. تكلفته أقل بكثير مقارنة بالكتب المطبوعة لأنه لا يوجد طباعة ورقية.

EbookLib هي مكتبة Python للكتب الإلكترونية مفتوحة المصدر مفيدة وسهلة الاستخدام تمكّن مطوري البرمجيات من إدارة ملفات EPUB2 و EPUB3 و Kindle برمجيًا عبر بايثون المجانية. المكتبة بسيطة جدًا في الاستخدام ويمكنها التعامل مع مهام معقدة بسهولة. هناك عدة مهام مهمة ضمن المكتبة، مثل قراءة كتب EPUB، إنشاء ملفات EPUB، إنشاء الفصول، إنشاء صورة من صورة محلية، الأغلفة، تعريف جدول المحتويات، إضافة الأنماط والتنسيق، العمود الفقري، الدليل، البيانات الوصفية وغيرها.

Previous Next

البدء مع EbookLib

يتطلب EbookLib بايثون 2.7 وبايثون 3. يتوفر EbookLib على pip، يمكنك بسهولة تنزيله وتثبيته على جهازك. يرجى استخدام الأمر التالي لتثبيت سلس.

تثبيت EbookLib عبر pip

pip install EbookLib 

يمكنك تنزيل المكتبة المشتركة المجمعة من مستودع جيت هاب.

كيف تُنشئ مستندات 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.

" '

\"[شعار

' ) # 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 تحتاج إلى تمرير المسار الكامل للملف كوسيط إلى الدالة ebooklib.epub.read_epub(). المثال التالي يوضح كيفية إنجاز المهمة.

كيف تقرأ مستندات EPUB الحالية عبر واجهة برمجة تطبيقات بايثون؟

import ebooklib
from ebooklib import epub

book = epub.read_epub('test.epub')
 

إدارة العناصر في مستندات EPUB باستخدام بايثون

هناك عناصر متعددة مدعومة داخل ملف EPUB مثل أوراق الأنماط، الصور، الفيديوهات، الأصوات، السكريبتات وملفات HTML. قدمت مكتبة EbookLib المفتوحة المصدر دعماً كاملاً للتعامل مع العناصر داخل مستندات EPUB. تدعم عدة ميزات مهمة للتعامل مع العناصر مثل جلب العناصر حسب النوع، جلب العناصر حسب المعرف، جلب العناصر حسب اسم الملف، جلبها حسب نوع الوسائط، إرجاع جميع العناصر للتعامل مع ملفات EPUB غير المعروفة وغيرها الكثير.

الحصول على تفاصيل العناصر من مستندات EPUB عبر واجهة برمجة تطبيقات بايثون

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('==================================')
 
 عربي