在 MinDoc 0.7 以及以上版本,导出功能由 calibre 实现。该程序是基于 python 的电子书制作软件,可导出多种文档格式。
在 MinDoc v0.12 以上版本,需要在配置文件中开启导出功能:
enable_export="${MINDOC_ENABLE_EXPORT||true}"
目前 MinDoc 支持导出 PDF
、EPUB
、MOBI
、Word
四种格式。
感谢 @TruthHun 提供的解决方案: https://github.com/TruthHun/converter
Calibre 的配置与按照请参考官方文档:
- 下载地址:https://calibre-ebook.com/download
- 根据自己的系统安装对应的 calibre(需要注意的是,calibre 要安装 3.x 版本的,2.x 版本的功能不是很强大。反正安装最新的就好。)
- 安装完 calibre 之后,将 calibre 加入到系统环境变量中,执行下面的命令之后显示 3.x 的版本即表示安装成功。
ebook-convert --version
MinDoc 默认会在系统临时目录生成需要导出的文件,生成目标文件后,会将目标文件复制到 MinDoc 根目录/uploads/books/项目ID/
中,并缓存。
在项目有最新版发布时,会删除已缓存的文件,下次导出会再次缓存。
linux 下安装 Calibre 需要依赖 python2.6
、libstdc++.so.6.0.17
、GLIBC 2.17
、libXcomposite
、libGL
。
确保已正确安装上述依赖,再执行一下命令安装 Calibre:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
手动执行转换程序,查看是否正常转换:
ebook-convert test.txt test.pdf
Windows 下安装请下载最新版本二进制文件安装即可。
已遇到的问题列表:
1、提示缺少 libgl.so.1
解决:尝试安装 sudo yum install libGL.so.1
或者 sudo yum install mesa-libGL
或者 sudo yum install Mesa-libGL-devel
.
2、提示缺少 libXcomposit
解决:尝试执行 sudo yum install libXcomposit
3、Linux 下解决中文不显示问题
解决:将 Windows 上的宋体上传到服务器 /usr/share/fonts/
里 /usr/share/fonts/chinese/TrueType/simsun.ttc