根据图片及内容,批量生成漂亮的 PDF 格式相册文件。
效果图(点击可查看大图):
若您使用的是 Windows,则可能并没有安装过 Python3。请前往 https://www.python.org/downloads/windows/ 下载并安装,建议使用 3.6 以上的版本。
若您使用的是 Linux / macOS,则应该已有预置的 Python 环境。请检查是否为 Python3 版本,注意,本脚本仅支持 Python3!
Wkhtmltopdf 是用于将 HTML 转换为 PDF 的开源工具,可前往 https://wkhtmltopdf.org/downloads.html 下载您所在平台对应的安装包,并进行安装。
若您对此工具感兴趣,可前往 GitHub 查看:GitHub - wkhtmltopdf/wkhtmltopdf。
-
克隆项目至本地
使用 git 将项目克隆至本地:
git@github.com:zxjsdp/pdf-album-factory.git
。若不熟悉 git 或仅想快速使用,也可直接下载最新 master 分支版本文件:https://github.com/zxjsdp/pdf-album-factory/archive/master.zip。
-
切换至工作目录
对于 Linux / macOS 用户,使用 Terminal 工具切换至
pdf-album-factory
目录下。对于 Windows 用户,可通过文件管理器进入下载的
pdf-album-factory
文件夹后,按住 shift 同时点击右键,选择 “在此处打开命令行窗口” 或 “在此处打开 PowerShell 窗口”。 -
安装 Python 包依赖
执行 pip 命令,安装 requirements.txt 中的所有 Python package(建议新建 virtualenv)
pip install -r requirements.txt
-
openpyxl
读取及写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件的包。文档可参考:OpenPyXL;
-
pdfkit
Wkhtmltopdf 的 Python wrapper,用于将 HTML 转换为 PDF。文档可参考:GitHub - JazzCore/python-pdfkit。
默认的模板文件名为 相册数据模板.xlsx
,请按照模板文件中示例的格式进行修改,一行记录会生成一页 PDF。
若仅想快速尝试一下本工具,也可直接使用已有的模板文件而无需修改。
运行 Python 脚本以执行 HTML 模板内容替换及后续的 PDF 生成逻辑(建议在 virtualenv 环境中执行):
python generate_pdf_album.py
也可以在文件管理器中直接双击运行(不建议,若出错则无法看到错误信息)。
-
"No wkhtmltopdf executable found"
出现此错误,说明在环境变量中没有找到对应的 wkhtmltopdf.exe 可执行文件。解决方案:
- Windows, macOS, Linux 用户可检查是否执行了第二步:安装 wkhtmltopdf。
- Windows 用户若确认已安装但仍报此错误,则可尝试重启。
- Windows 下若重启仍无效,可找到对应的 wkhtmltopdf.exe 可执行文件的路径,并更新 generate_pdf_album.py 中的常量
WKHTMLTOPDF_PATH
。Windows 下 x64 系统的默认配置是WKHTMLTOPDF_PATH = 'c:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'
。
-
IOError: No such file or directory
- 请检查当前所使用的 Python 版本是否为 Python2.x。处于维护成本考虑,本脚本仅支持 Python3.x。
- 请检查是否无意中移动或重命名了模板文件 "相册数据模板.xlsx" 或其他文件。
-
ModuleNotFoundError: No module named 'pdfkit'
- 请检查是否执行了第三步:安装 Python 包依赖。
在使用此工具的流程中,请不要随意修改任何文件的相对路径,避免找不到对应文件的情况。