用于创建epub3文件的简单极简库

mkepub的Python项目详细描述


Build StatusCoverage Statuslicense

mkepub

mkepub是创建.epub文件的极简库。

pros:

  • 简单易用,极简的api。
  • 自动生成目录。
  • 支持任何深度的嵌套TOC。
  • 支持嵌入图像。
  • 正在进行中的图书存储在磁盘上,而不是内存中,启用 创建大型(5000多页,20多个mib)epub文件。
  • 遵守EPUB3规范。
  • 支持大多数epub元数据,包括语言、主题、 说明和权利。

cons:

  • 不支持自定义页文件名或目录结构。
  • 不支持读取或编辑epub文件。
  • 不支持字体嵌入或最不常用的epub 特征。
  • 无内容验证-使用损坏或不受支持的HTML代码作为页面 内容将导致mkepub成功创建一个.epub文件 不符合EPUB3规范。
  • 可能还有其他问题。

基本用法

importmkepubbook=mkepub.Book(title='An Example')book.add_page(title='First Page',content='Lorem Ipsum etcetera.')book.save('example.epub')

高级使用

importmkepubbook=mkepub.Book(title='Advanced Example',author='The Author')# multiple authors can be specified as a list:# mkepub.Book(title='Advanced Example', authors=['The First Author', 'The Second Author'])withopen('cover.jpg','rb')asfile:book.set_cover(file.read())withopen('style.css')asfile:book.set_stylesheet(file.read())first=book.add_page('Chapter 1','And so the book begins.')child=book.add_page('Chapter 1.1','Nested TOC is supported.',parent=first)book.add_page('Chapter 1.1.1','Infinite nesting levels',parent=child)book.add_page('Chapter 1.2','In any order you wish.',parent=first)book.add_page('Chapter 2','Use <b>html</b> to make your text <span class="pink">prettier</span>')book.add_page('Chapter 3: Images','<img src="images/chapter3.png" alt="You can use images as well">')# as long as you add them to the book:withopen('chapter3.png','rb')asfile:book.add_image('chapter3.png',file.read())book.save('advanced.epub')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?