shipsaas / docking
DocKing:接管文档模板管理及渲染/导出PDF的共享微服务
1.4.1
2023-11-04 10:13 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.5
- laravel/framework: ^10.19.0
- laravel/octane: ^2.0
- laravel/sanctum: ^3.2
- laravel/tinker: ^2.8
- league/flysystem-aws-s3-v3: ^3.0
- mpdf/mpdf: ^v8.1.6
- shipsaas/never-throw: ^1.0
- spiral/roadrunner-cli: ^2.5.0
- spiral/roadrunner-http: ^3.0.1
Requires (Dev)
- fakerphp/faker: ^1.9.1
- friendsofphp/php-cs-fixer: ^3.16
- laravel/pint: ^1.0
- laravel/sail: ^1.18
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- phpunit/phpunit: ^10.1
- smalot/pdfparser: ^2.5
- spatie/laravel-ignition: ^2.0
README
介绍RenderPDF.io - 几秒钟内渲染PDF
RenderPDF.io 是一个将PDF作为服务的渲染工具,提供开发者友好的API,将HTML内容转换为现代PDF文件只需几秒钟 😎。
你只需要获取API密钥,向RenderPDF.io发送API调用 🚀,无需设置基础设施,无额外开销,无缝集成 🔋。
今天获取免费的API密钥: 在RenderPDF.io上注册
介绍DocKing
DocKing是一个文档管理服务/微服务,处理模板并以PDF格式渲染它们,一切都在一个地方完成。
您可以将DocKing用作共享微服务,并将其集成并用于您的大型产品中的任何服务。
文档:DocKing
DocKing经过充分测试,并已准备好投入生产 😉🏎️🚀
现场演示 🔥
URL: https://docking-demo.shipsaas.tech/
控制台: https://docking-demo.shipsaas.tech/console#/
- 密码:无
- 驱动器
- Gotenberg:是,使用现场演示实例(来自Gotenberg.dev)
- WkHtmlToPdf:是,无需任何扩展或字体。
- mPDF:是,无需任何扩展或字体。
- 大多数功能都已被禁用。您只能查看和预览多个驱动器中的PDF。
功能 🚀
- 在一个地方管理所有文档模板 📰🧾。
- 从您所需的数据动态渲染和导出PDF 🏃。
- 支持多个最先进的PDF引擎 🍻。
- 支持同步和异步PDF渲染模式 🔥。
- PDF渲染后发送Webhook通知(适用于异步流程) 🚀
- 内置UI控制台,用于管理及审查模板和文件(内部使用) 🔋。
- 流量高时进行横向扩展?DocKing就能做到这一点 😉。
查看我们计划中的功能: DocKing项目
工作原理图
如上图所示,DocKing作为一个“共享微服务”存在。
- 账单服务可以管理其账单模板并渲染PDF。
- 订单服务可以管理其订单模板并渲染PDF。
- 合同服务可以管理其合同模板并渲染PDF。
- ...
太棒了,不是吗?
令人惊叹的控制台UI
DocKing附带内置的强大控制台和功能,帮助您和团队轻松协作和管理一切。
了解更多: DocKing的控制台UI
DocKing使用
- PHP 8.2
- Laravel 10
- 任何数据库(MySQL、PostgreSQL或SQLite - 由您选择)
- 个人偏好:MySQL 8
- Vue 3
- Tailwind CSS
PDF渲染服务
- Gotenberg ⭐️
- wkHTMLtoPDF ✅
- mPDF 🧰 (从v1.1.0版本起可用)
测试
- 单元测试覆盖所有功能和函数 ❇️
- 集成测试针对真实PDF引擎进行测试
- Gotenberg ✅
- WkHtmlToPdf ✅
- mPDF ✅
- 端到端测试验证真实世界的API调用和渲染异步流程
许可
MIT许可
开发及贡献指南
- 请遵循PSR-1 & PSR-12编码规范
- 单元/集成测试是必需的
非常感谢您的贡献!
贡献者
ShipSaaS x Seth Phat 及贡献者。
版权
版权所有©️ 2023 ShipSaaS x Seth Phat。