能够处理EPUB2/EPUB3和Kindle格式的电子书库
项目描述
关于EbookLib
EbookLib是一个用于管理EPUB2/EPUB3和Kindle文件的Python库。它能够以编程方式读取和写入EPUB文件(Kindle支持正在开发中)。
API设计得尽可能简单,同时又能实现复杂的功能。它支持封面、目录、脊、指南、元数据等。
EbookLib被用于Sourcefabric的Booktype <https://github.com/sourcefabric/Booktype/>
,以及sprits-it! <https://github.com/the-happy-hippo/sprits-it>
,fanfiction2ebook <https://github.com/ltouroumov/fanfiction2ebook>
,viserlalune <https://github.com/vjousse/viserlalune>
和Telemeta <https://github.com/Parisson/Telemeta>
。
EbookLib的GNU/Linux包可在Debian <https://packages.debian.org/python-ebooklib>
和Ubuntu <http://packages.ubuntu.com/python-ebooklib>
中找到。
Sphinx文档是从docs/目录中的模板生成的,并可在http://ebooklib.readthedocs.io中获取。
用法
读取
import ebooklib
from ebooklib import epub
book = epub.read_epub('test.epub')
for image in book.get_items_of_type(ebooklib.ITEM_IMAGE):
print(image)
写入
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 = (
"<h1>Intro heading</h1>"
"<p>Zaba je skocila u baru.</p>"
'<p><img alt="[ebook logo]" src="static/ebooklib.gif"/><br/></p>'
)
# 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, {})
许可
EbookLib遵循AGPL许可证 <LICENSE.txt>
。
作者
作者完整列表在AUTHORS.txt <AUTHORS.txt>
文件中。
项目详情
关闭
EbookLib-0.18.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 38562643a7bc94d9bf56e9930b4927e4e93b5d1d0917f697a6454db5a1c1a533 |
|
MD5 | 715eb4ce7ee5cbeaff506e16c965ae6a |
|
BLAKE2b-256 | e81d90bb33317d756c25b40bb55312dda30a94afb691755763fc00976250c82b |