用于 3D 数据处理的开源 Python 库
免费 Python 3D 库,用于创建 3D 数据处理应用程序。它支持生成场景、表面对齐、3D 可视化等功能。
EbookLib 入门指南
EbookLib 需要 Python 2.7 和 Python 3。EbookLib 可通过 pip 获取,您可以轻松下载并在机器上安装它。请使用以下命令进行顺利安装。
如何使用 Python 生成 EPUB 文档?
开源的 EbookLib 库仅需几行代码即可提供完整的 EPUB 文档生成功能。该库提供了许多与新文档创建和管理相关的重要特性,例如创建引言章节、添加元数据、定义您选择的样式、插入新章节、生成目录、添加章节、自动生成章节链接、添加导航文件、创建 spine 等等。
如何使用 Python 库创建 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 = (
"简介标题
"
"青蛙跳进了酒吧。
"
'![[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, {})
使用 Python 读取现有 EPUB 文档
开源的 EbookLib 库为软件开发者提供了在自己的 Python 应用程序中打开和读取现有 EPUB2 和 EPUB3 文件的能力。该库还包括对 Kindle 格式的完整支持(目前只能读取)。要读取 EPUB 书籍,需要将 EPUB 文件的完整路径作为参数传递给 ebooklib.epub.read_epub() 函数。以下示例展示了如何完成此任务。
如何通过 Python API 读取现有 EPUB 文档?
import ebooklib
from ebooklib import epub
book = epub.read_epub('test.epub')
使用 Python 管理 EPUB 文档中的项目
EPUB 文件中支持多种项目,如样式表、图像、视频、音频、脚本和 html 文件。开源的 EbookLib 库提供了对 EPUB 文档中项目的完整处理支持。它支持多项重要功能,例如按类型获取项目、按 ID 获取项目、按文件名获取项目、按媒体类型获取项目、返回所有项目以处理未知的 EPUB 文件等。
通过 Python API 获取 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('==================================')