kooldev/pdfPDF微服务是一个用于生成PDF的微服务,可轻松集成到基于kool和docker-compose的环境中,支持从任意URL或给定的HTML内容生成PDF文件。
适用于需要在项目中快速添加PDF生成功能的场景,如:
如果使用Docker Compose(建议配合kool简化操作),只需几步即可在项目中添加PDF生成功能:
docker-compose.yml中添加服务:yamlpdf: image: "kooldev/pdf:latest" expose: - 3000
kool start或docker-compose up -d)后,即可开始使用微服务生成PDF。以下是PHP调用示例:phpuse GuzzleHttp\Client; $pdf = (new Client())->post('[***] [ 'form_params' => [ 'html' => '<h1>这是我想要转换为PDF的超酷HTML内容!</h1> <p>这是一个简单示例,但您可以看到其强大之处 <b>:)</b> </p>', 'options' => json_encode([ 'format' => 'A4', 'printBackground' => false, ]), ], ])->getBody(); file_put_contents('path/to/my/super-kool.pdf', $pdf);
注意:上述代码假设从同一Docker Compose应用中的另一个容器运行,因此
options参数应为JSON格式,所有可用选项可参考puppeteer文档。
要在本地开发此微服务(需使用kool):
kool run yarn installkool start(服务将运行在localhost:3000)docker-compose logs -f提示:管理依赖和运行命令时,请使用
kool run yarn以确保使用统一的yarn版本。
微服务提供以下API端点用于生成PDF并即时返回结果:
GET /from-url?url=url - 需要转换为PDF的页面URLPOST /from-htmlhtml - 需要转换为PDF的HTML内容options - JSON格式的PDF生成选项(参考puppeteer文档)GET /health即将添加的功能:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务