{"id":13486163,"url":"https://github.com/soulteary/docker-gitbook-pdf-generator","last_synced_at":"2025-04-28T16:25:35.928Z","repository":{"id":148700437,"uuid":"185405630","full_name":"soulteary/docker-gitbook-pdf-generator","owner":"soulteary","description":"如果你想使用 GitBook 生成 PDF ，又不想折腾，使用这个项目就对啦！","archived":false,"fork":false,"pushed_at":"2020-08-18T03:30:10.000Z","size":7,"stargazers_count":198,"open_issues_count":4,"forks_count":36,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T11:12:55.683Z","etag":null,"topics":["gitbook","gitbook-docker","pdf-generation"],"latest_commit_sha":null,"homepage":"https://soulteary.com/2019/05/07/generate-small-gitbook-pdf-using-the-docker-with-python.html","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soulteary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-07T13:16:15.000Z","updated_at":"2025-03-24T20:34:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"207e13b2-d6f3-44b7-96c6-de9eb75c4014","html_url":"https://github.com/soulteary/docker-gitbook-pdf-generator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Fdocker-gitbook-pdf-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Fdocker-gitbook-pdf-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Fdocker-gitbook-pdf-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Fdocker-gitbook-pdf-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soulteary","download_url":"https://codeload.github.com/soulteary/docker-gitbook-pdf-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251344131,"owners_count":21574492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gitbook","gitbook-docker","pdf-generation"],"created_at":"2024-07-31T18:00:40.678Z","updated_at":"2025-04-28T16:25:35.912Z","avatar_url":"https://github.com/soulteary.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"readme":"# Docker Gitbook PDF Generator\n\n\u003e 如果你想使用 GitBook 生成 PDF ，又不想折腾，使用这个项目就对啦！\n\n众所周知 GitBook 新版本调用 `calibre` 生成的 PDF 尺寸比较大，而且不支持 PDF 压缩，非常不利于传播。\n\n经过简单的寻找，我看到 **fuergaosi233** 同学用 Python 基于 `weastprint` 编写了一个简单的 GitBook PDF [生成工具](https://github.com/fuergaosi233/gitbook2pdf)，使用下来发觉还不错，于是就封装了这个镜像，希望能够帮助到有同样需求的你。\n\n## 使用方法\n\n如果你生成的电子书包含中文，那么在使用之前，你需要准备至少一个字体文件，比如 `苹方`、`思源`等，将文件保存在你当前目录的 **fonts** 文件夹内。\n\n然后直接使用 DockerHub 官方自动构建的容器镜像，配合文件挂载参数使用即可。\n\n比如我们要将 `http://self-publishing.ebookchain.org` 的内容生成为电子书，只需要执行下面的命令：\n\n```bash\ndocker run --rm -v `pwd`/fonts:/usr/share/fonts \\\n                -v `pwd`/output:/app/output \\\n                soulteary/docker-gitbook-pdf-generator:1.0.0 \"http://self-publishing.ebookchain.org\"\n```\n\n如果你是 Windows 用户，使用 Powershell，可以使用下面的命令：\n\n```powershell\ndocker run --rm -v $PWD/fonts:/usr/share/fonts \\\n                -v $PWD/output:/app/output \\\n                soulteary/docker-gitbook-pdf-generator:1.0.0 \"http://self-publishing.ebookchain.org\"\n```\n\n稍等片刻，你将会看到下面的内容：\n\n```text\ncrawl : all done!\nGenerating pdf,please wait patiently\nGenerated\n```\n\n这时，你当前目录会自动多出一个名为 `output` 的新目录，而电子书就会安静的躺在里面啦。\n\n如果你觉得上面这条命令太过复杂，也可以使用仓库中的 `docker-compose.yml` 模版来进行电子书生成操作，如果你不太会使用，可以围观我博客中 `docker` 相关的使用教程，通常阅读时间都在十分钟左右， Good Luck。\n\n## 其他\n\n如果你对样式有更高的要求，可以使用文件挂载的方式修改 `/app/gitbook.css` 的样式。\n\n如果你想了解更多细节，可以阅读 [这篇博客](https://soulteary.com/2019/05/07/generate-small-gitbook-pdf-using-the-docker-with-python.html)。\n\n## 常见问题\n\n- 运行报错\n    - 报错提示 “/usr/local/lib/python3.7/site-packages/weasyprint/fonts.py:230: UserWarning: FontConfig: No fonts configured. Expect ugly output. 'FontConfig: No fonts configured. ”\n    - 报错原因 字体挂载位置不正确，请参考最新文档中的命令。感谢 ISSUE 里诸位网友反馈。\n- Windows 环境命令报错\n    - 报错提示 “Error response from daemon: create pwd/fonts: \"pwd/fonts\" includes invalid characters for a local volume name, only \"[a-zA-Z0-9][a-zA-Z0-9_.-]\" are allowed. If you intended to pass a host directory, use absolute path.”\n    - 报错原因 windows 不支持 bash 标准语法，使用\n- 生成 PDF 中文显示不正确，显示为“口口”\n    - 解决方法：下载或者拷贝系统字体到你要挂载的目录，再次执行程序\n\n## 协议\n\nMIT, For Everyone.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulteary%2Fdocker-gitbook-pdf-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulteary%2Fdocker-gitbook-pdf-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulteary%2Fdocker-gitbook-pdf-generator/lists"}