首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
用 WeasyPrint 把 HTML 转成 PDF:从 pip install 到第一份报告
📅 2026/11/6 6:30:49
✍️ 爱科研究院
👁 阅读 3,247
用 WeasyPrint 把 HTML 转成 PDF从 pip install 到第一份报告【免费下载链接】WeasyPrintThe awesome document factory项目地址: https://gitcode.com/gh_mirrors/we/WeasyPrint服务端要产出可打印的报告、发票或对账单时可以用 WeasyPrint 把 HTML 转 PDF。它不依赖浏览器内核CSS 布局引擎是纯 Python 代码文本渲染交给 Pango无需安装 Chromium 或无头浏览器。 能力速览WeasyPrint HTML 转 PDF把 HTML 解析成盒模型树并按 CSS 计算每个块的位置与尺寸。按页面尺寸和边距把内容切成多页把页码、脚注、页眉排进指定位置。输出带嵌入字体、图片和链接的矢量 PDF效果与浏览器预览一致无需安装 Chromium。还支持 PDF/A 等归档变体并能为屏幕阅读器附加无障碍标签。整条链路在单个 Python 进程内完成不产生子进程调用也不请求外部服务。 最短上手路径复制下面三行依次运行pip install weasyprint echo h1你好/h1 demo.html weasyprint demo.html demo.pdf第一行安装包及全部依赖第二行生成一个最小 HTML 文件第三行调用命令行入口。运行完你会在当前目录看到一个单页 PDF打开它是排好版的标题HTML 到 PDF 的完整链路已经跑通。Windows 下把 echo 一行换成手动新建 demo.html 文件即可其余两行不变。 按任务拆解用法生成带页码页眉的报告 PDF报告需要在页眉显示页码时用 page 规则把计数器放进页边距盒每页都会自动排版from weasyprint import HTML html stylepage{top-center{content:counter(page) / counter(pages)}}/stylep正文/p HTML(stringhtml).write_pdf(report.pdf)同样规则也可写入样式表配合命令行的 -s 参数使用更多 PDF 分页控制属性可看 docs/going_further.rst。批量转换目录下的 HTML 文件批量任务在 Python 里循环文件、复用同一进程避免反复启动解释器的开销from pathlib import Path from weasyprint import HTML out Path(out); out.mkdir(exist_okTrue) for f in Path(input).glob(*.html): HTML(filenamestr(f)).write_pdf(out / f{f.stem}.pdf)write_pdf 支持的全部参数可继续看 docs/api_reference.rst。只导出长文档的部分页面先 render() 拿到 Document 而不落盘再用 copy() 切出页码区间无需重新排版doc HTML(long.html).render() doc.copy(doc.pages[2:5]).write_pdf(excerpt.pdf)Document.copy 的完整用法示例可看 weasyprint/document.py。⚠️ 调优与避坑中文字体渲染为方块症状导出的 PDF 里中文全是方框。原因系统缺少中文字体Pango 找不到字形就回退成空框。修复sudo apt install fonts-noto-cjkDebian/Ubuntu后重新导出。相对路径的图片与字体静默丢失症状HTML 里图片空白font-face 回退到默认字体。原因相对 URL 基于不存在的基准目录解析。修复构造 HTML 时传入 base_url命令行则加 -u 参数。嵌入图片让 PDF 过大症状几页的文档体积达到几十兆。原因源图按原始分辨率全量嵌入。修复加 -D 150 限制嵌入分辨率或用 --optimize-images 无损重压缩。 继续深入官方文档适合想系统了解安装、页面模型和全部渲染参数的人。测试用例适合想看分页控制、脚注、渐变这些特性具体怎么写 CSS 的人。核心源码适合想研究 CSS 布局引擎实现或修 bug 的人。【免费下载链接】WeasyPrintThe awesome document factory项目地址: https://gitcode.com/gh_mirrors/we/WeasyPrint创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/11/6 6:30:49
TOF相机的四大落地场景:机器人避障、工业物流、3D拆垛与智能安防
2026/11/6 6:30:49
VDN-Minimax-H3 双向线性注意力分支:NoPE + Delta Rule 如何补全远场信息
2026/11/6 6:25:49
18GB显存重建16张图!ReconViaGen低显存模式与显存优化实战指南
2026/11/6 7:35:52
02:奇数单增序列
2026/11/6 7:35:52
高阶数据结构(C++)
2026/11/6 7:35:52
CSDN Markdown 写作指南:代码块、公式、表格与常见排版错误
2026/11/6 7:30:52
低功耗设计:Level Shift的种类(以SAED EDK 32/28nm工艺库为例)
2026/11/6 7:30:52
Design Compiler:转换时间过渡调整
2026/11/6 7:30:52
DeepTutor:把资料、进度与记忆接进同一套对话的本地学习助手
2026/11/6 1:05:27
一键开关机芯片选型指南:功耗、逻辑、封装与供应链四大维度
2026/11/6 1:05:28
FSoE白通道:EtherCAT功能安全通信的信任模型与工程实践
2026/11/6 1:05:28
单片机控制板异常排查六步法:从供电到环境的系统化故障定位指南
2026/11/6 4:33:35
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/6 4:33:28
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/6 4:33:20
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析
2026/11/6 4:33:35
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/6 4:33:28
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/6 4:33:20
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析