项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1242
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- PHP 环境(项目为 PHP / Symfony 项目)
- 已安装 Composer 包管理工具
- Symfony 项目已可通过 Flex 或手动方式注册 Bundle
- 系统已安装 wkhtmltopdf 与 wkhtmltoimage 可执行文件(Snappy 依赖该转换工具)
安装与启动步骤
-
1安装 Bundle
在 Symfony 项目根目录执行 Composer 命令,安装 KnpSnappyBundle 依赖包。
composer require knplabs/knp-snappy-bundle -
2注册 Bundle
如果项目未使用 Flex 自动注册,需在 config/bundles.php 的返回数组中手动加入该 Bundle,环境设为 all。
-
3配置转换服务
按需在 config/packages/knp_snappy.yaml 中配置 pdf 与 image 服务的启用状态、二进制路径与选项。
-
4确认二进制可用
确认 wkhtmltopdf / wkhtmltoimage 已安装且路径与配置一致;Windows 下路径需按 README 示例加双引号并转义反斜杠。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
knp_snappy.pdf.enabled | 否 | 是否启用 PDF 生成服务 | true |
knp_snappy.pdf.binary | 否 | wkhtmltopdf 可执行文件的路径 | /usr/local/bin/wkhtmltopdf |
knp_snappy.pdf.options | 否 | PDF 转换选项数组,如页面大小、边距、缩放等 | [] |
knp_snappy.image.enabled | 否 | 是否启用图片生成服务 | true |
knp_snappy.image.binary | 否 | wkhtmltoimage 可执行文件的路径 | /usr/local/bin/wkhtmltoimage |
如何确认成功
执行 composer require 后看到依赖安装成功,且 config/bundles.php 中已包含 KnpSnappyBundle,配置文件无语法错误。
常见问题
Q:页面里用 JavaScript 渲染会出问题吗?
A:会。wkhtmltopdf 对 ES6 API 不完全兼容,可能出现渲染异常;README 给出的解决办法是提供 polyfill 来补齐现代 ES6 API 的差异。
Q:不使用 Symfony Flex 怎么办?
A:需要手动注册 Bundle,在 config/bundles.php 的返回数组中加入 Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true]。
Q:如何更换转换工具的可执行文件路径?
A:修改 config/packages/knp_snappy.yaml 中对应服务的 binary 配置项即可,例如把 pdf.binary 指向 /usr/local/bin/wkhtmltopdf。
Q:Windows 下 binary 路径怎么写?
A:README 示例使用双引号包裹整个路径并转义反斜杠,例如 \"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe\"。
注意事项
- README 未给出生成 PDF/图片的具体调用代码示例,实际使用请参考 KnpSnappy 库的文档。
- pdf 与 image 两个服务都可通过 enabled 配置单独关闭。
- README 节选中配置示例被截断,请以官方仓库中的完整配置文件为准。
核心亮点
- 与 Symfony 深度集成,通过服务容器即可调用,无需手动配置
- 基于 WebKit 渲染,转换质量高,支持复杂 CSS 布局
- 支持丰富的转换选项,可灵活控制输出格式和样式
不足之处
- 依赖外部二进制 wkhtmltopdf,部署环境需额外安装
- WebKit 引擎较老,对现代 CSS 特性支持有限
- 文档/社区待观察
适用场景
- 生成发票、报告等 PDF 文档
- 将网页截图保存为图片
- 批量生成证书或标签
替代项目
Dompdf、Tcpdf、Snappy
下一篇:StereoDiffusion
同类项目推荐
partcraft
开源
像拼乐高一样,用部件拼出你想要的任何物体!
[ECCV2024] PartCraft: Crafting Creative Objects by Parts
T2F
开源
输入文字描述,秒出逼真人脸图像
T2F: text to face generation using Deep Learning
stable-diffusion-cpp-python
开源
在 Python 里直接跑 Stable Diffusion,轻量本地生成图像
stable-diffusion.cpp bindings for python
g-diffuser-bot
开源
在 Discord 里直接玩转 Stable Diffusion,聊天就能出图
Discord bot and Interface for Stable Diffusion
Radiata
开源
基于 diffusers 的现代 Stable Diffusion 界面,支持 TensorRT 加速
Stable diffusion webui based on diffusers.
DCGAN-Tensorflow
开源
用 TensorFlow 快速训练 DCGAN,生成 Fashion-MNIST 和 CIFAR-10 图像
A Tensorflow implementation of Deep Convolutional Generative Adversarial Networks tr···
awsome-gpt-image-2-prompts
开源
复制即用,快速生成 GPT Image 2 高质量图像
paper-signal
开源
让 AI 批量产出风格统一、质量可控的极简小册子图像
Subject-aware minimal-zine image production for Agent Skills: art direction, generat···
W-Flow
开源
一步生成高清图像,告别多步扩散采样
Official code release for the paper "One-Step Generative Modeling via Wasserstein Gr···
