📖 原文:GitHub Gist
作者:穆罕默德·阿明·本·马莱萨 — 索利亚人工智能首席开发人员
挑战
在服务器端即时生成自定义矢量可移植文档格式海报和高分辨率便携式网络图形图像。无需臃肿的客户端,无需浏览器用户界面,无需付费的软件即服务。
解决方案?普莱wright(无头铬浏览器)+ 版本化超文本标记语言模板。
工作原理
表单 → 超文本标记语言模板 + 发布消息 → 普莱wright 无头模式 → A4 矢量可移植文档格式 + 300 DPI 便携式网络图形
模板:一个自包含的超文本标记语言文件,带有内联层叠样式表和可缩放矢量图形。无外部依赖,无字体加载,无网络请求。
渲染:普莱wright 打开模板,通过 JavaScript 注入数据,导出为可移植文档格式(1 页,矢量,A4)和便携式网络图形(300 DPI,2480×3508 像素)。
速度:每个文档约 3.5 秒。完全可复现。
为何优于 wkhtmltopdf 或 Puppeteer
| 工具 | 可靠性 | 矢量支持 | 体积 | 易用性 |
|---|---|---|---|---|
| wkhtmltopdf | ⚠️ 层叠样式表问题 | ✅ 可移植文档格式 | ✅ | ❌ 已停止维护 |
| Puppeteer | ✅ | ✅ | ✅ | ⚠️ 笨重 |
| 普莱wright | ✅✅ | ✅✅ | ✅✅ | ✅✅ |
普莱wright 原生处理字体、视口和无头模式,并与 FastAPI 完美集成。
技巧
一个超文本标记语言模板 = 浏览器中的实时预览 AND 最终的可移植文档格式/便携式网络图形渲染。无重复代码,无预览与生产环境的差异。
postMessage({ type: "setState", state: formData }) → 模板更新。无论是在前端 iframe 中还是在普莱wright 的无头铬浏览器中。
我们的收获
- 零订阅成本(无 Canva,无 Adobe)
- 3.5 秒生成时间
- 完美的矢量可移植文档格式(无像素化)
- 可直接打印的便携式网络图形
- 在 Git 中进行版本控制的模板
- 新格式 = 一个文件夹
最初发布于 GitHub Gist。
穆罕默德·阿明·本·马莱萨 — 索利亚人工智能首席开发人员
🔗 索利亚人工智能 · GitHub · LinkedIn
普莱wright #FastAPI #PDF生成 #HTML模板 #开源 #Python #Web开发
💻 有类似的项目?
索利亚人工智能 — 全栈开发、人工智能自动化、定制解决方案。
团队由 **穆罕默德·阿明·本·马莱萨* 领导 — 索利亚人工智能首席开发人员*
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。