Show HN: PlutoBook – Fast, lightweight C++ library for generating PDF from HTML
a year ago
- #HTML-rendering
- #PDF-generation
- #C++
- PlutoPrint 是一个基于 PlutoBook 构建的 Python 库,用于简化分页 HTML 渲染。
- PlutoBook 是一个专为分页媒体设计的强大 HTML 渲染库,不依赖 Chromium、WebKit 或 Gecko 内核。
- 采用现代 C++ 特性实现,设计轻量且内存高效。
- 支持通过 HTML 或 XML 输入结合 CSS 样式表,渲染为位图图像或 PDF 文件。
- 与 Playwright 或 Puppeteer 等基于浏览器的渲染器相比,PlutoBook 在静态文档处理中展现出更高效率。
- 核心 API 围绕 Book 类实现文档操作与渲染功能。
- 支持从 URL、本地文件加载内容,并渲染至 ImageCanvas 或 PDFCanvas。
- PlutoBook 的视口机制自动适应边距,支持 CSS 视口相对单位以实现响应式布局。
- 典型应用场景包括邮件客户端渲染、文本编辑器集成、后端 PDF 生成及电子书阅读器开发。
- 安装需 Meson 和 Ninja 工具链,依赖 Cairo、FreeType 等库,可选扩展库提供额外功能。
- 采用 MIT 许可证,鼓励社区贡献和商业用途。