基于Calibre的多格式导出功能配置
在 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