使用 PHP 创建 PDF 和 EPUB 电子书
使用一个名为 ibis-next 的工具可以生成 PDF 和 EPUB 电子书。它是用 PHP 编写的,很容易上手,可以完全用 Markdown 写作。
有趣的事实:ibis-next 这个软件包是 ibis 的继承者,ibis 是我以前用来生成 PDF 的工具。但由于 isbs 不再进行,Hi Folks 的成员决定基于ibis创建
ibis-next,同时添加了一些额外的功能。
安装 ibis-next
首先使用 Composer 安装 ibis-next。
composer global require hi-folks/ibis-next我通常全局安装,这样我就可以从系统上的任何地方使用它。但你也可以在项目中本地安装。
初始化书籍
安装完 ibis-next 后,你可以使用如下命令在空目录中初始化书籍:
ibis-next init该命令将生成如下文件和目录:
- assets目录包含用来创建 PDF 和 EPUB 文件的主题(模板)文件。 由于该过程涉及一个将内容临时转换为 HTML 的中间步骤,因此主题文件采用 HTML 和 CSS 格式,以确保输出文件的正确样式。
- assets/fonts目录,你可以下载并使用其中的 ttf 格式字体。
- assets/cover.jpg这是样本书的封面图片
- assets/images目录,其中包含样书中的例图。
- content目录,包含 Markdown 文件。你可以编辑其中的文件或者创建新文件。
- ibis.php文件,包含- ibis-next配置信息。
content 目录是此书最重要的部分。与本书相关的所有 Markdown 文件都将位于此目录中,ibis-next 将使用这些文件生成 PDF 和 EPUB 文件。
我喜欢按以下方式组织我的内容文件:

如你所见,我在文件前添加了数字,以确保它们按正确的顺序处理。这使得维护这本书变得更加容易。
内容
典型的内容文件如下。
---
title: Introduction
---
# Introduction
This is the introduction to the book.
## Chapter 1
Awesome chapter of my book.如上,你可以用一个标题(# 或 ##)开始写作,然后是文件的内容。如果想自定义每个部分的页眉文本,可以使用 title frontmatter 为文件指定标题(可选)。

生成 PDF 和 EPUB 文件
准备好内容文件后,你可以使用以下命令分别在轻亮模式和暗黑模式下生成 PDF 文件。
# PDF in light mode 
ibis-next pdf 
# PDF in dark mode
ibis-next pdf dark 这将在 /export 目录下生成 PDF 文件。
你也可以使用 ibis-next 为电子书创建 EPUB 文件,该格式可以在亚马逊的 Kindle 上阅读。
ibis-next epub这将在 PDF 文件的同个目录中生成 EPUB 文件。
小结
该软件包自定义,以便在 ibis.php 文件中根据需求进行更改,你可以在其中更改字体、设置封面位置样式、配置书籍示例等。
使用 ibis-next,可以完成许多高级的事情,比如 aside 区块,本文中没有介绍。
