umanit / document-generator-bundle
此包用于驱动UmanIT开发的文档生成微服务:https://github.com/umanit/microservice-document-generator
1.0.0
2020-01-28 10:31 UTC
Requires
- php: >=7.1
- ext-json: *
- ext-openssl: *
- php-http/discovery: ^1.7
- php-http/httplug: ^2.0
- php-http/message-factory: ^1.0
- psr/http-message: ^1.0
- symfony/options-resolver: ^4.4|^5.0
Provides
README
此包用于驱动UmanIT开发的文档生成微服务:https://github.com/umanit/microservice-document-generator
安装
$ composer require umanit/document-generator-bundle
该包依赖于HTTPlug来执行HTTP请求,因此您需要安装客户端实现才能使用它。例如,以下将使用HTTPlug消息工厂和Guzzle适配器。
$ composer require php-http/message php-http/guzzle6-adapter
配置
umanit_document_generator.base_uri
:用于生成文档的API的基本URI。umanit_document_generator.encryption_key
:(可选)用于在调用API之前加密消息的密钥。它必须与微服务中定义的密钥匹配。
用法
仅暴露一个服务umanit_document_generator.document_generator
。它提供了与微服务API通信所需的所有方法。
您可以使用URL或HTML源代码字符串生成PNG或PDF。
示例
<?php $generator = $container->get('umanit_document_generator.document_generator'); // Get a PNG of https://www.google.fr $image = $generator->generatePngFromUrl('https://www.google.fr'); // Get a PDF from a HTML code source $pdf = $generator->generatePdfFromHtml('<html><body>Hello World!</body></html>');
每个方法都提供了一个额外的参数,用于指定微服务支持的其他选项,例如用于HTML生成的decode
,或用于两种类型的pageOptions
和scenario
。
数据加密
默认情况下,在调用API之前不会加密消息。如果您想启用此功能,请确保已将umanit_document_generator.encryption_key
配置与微服务中的配置相同,然后在服务上调用encryptData(true)
方法。可以通过调用encryptData(false)
以相同的方式禁用加密。