pdf-api-io/pdfapi-laravel

这是我的包 pdfapi-laravel

v1.0.0 2024-07-21 11:56 UTC

This package is auto-updated.

Last update: 2024-09-22 13:46:22 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此包为 Laravel 提供了 PDF-API.io 的集成。PDF-API.io 是一个允许您在拖放编辑器中设计 PDF 模板并使用简单 API 渲染它们的服务的平台。

安装

您可以通过 composer 安装此包

composer require pdf-api-io/pdfapi-laravel

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="pdfapi-laravel-config"

这是已发布配置文件的内容

return [
    'api_key' => env('PDF_API_KEY'),
];

如果您还没有访问令牌,请创建一个。您可以通过访问 PDF-API.io API 令牌页面 来完成此操作。将以下行添加到您的 .env 文件中

PDF_API_KEY=your-api-key

使用方法

您可以在 PDF-API.io 网站上 阅读完整的文档。

列出可用模板

要列出所有可用模板,您可以使用 PdfApi 门面上的 getTemplates 方法。

use Pdfapiio\PdfapiLaravel\Facades\PdfApi;

$templates = PdfApi::getTemplates();

渲染 PDF

要渲染 PDF,您可以使用 render 方法。

use Pdfapiio\PdfapiLaravel\Facades\PdfApi;

$pdf = PdfApi::render('your-template-id', [
    'some-variable' => 'some-value',
]);

echo $pdf; // Output: "%PDF-1.7 %���� 6 0 obj << /Type /Page /Parent 1 0 R..."

默认情况下,render 方法将返回 PDF 内容作为字符串。如果您想要获取 JSON 响应,可以使用 asJson 方法。当请求 JSON 响应时,PDF 的内容将被 base64 编码。

use Pdfapiio\PdfapiLaravel\Facades\PdfApi;

$pdf = PdfApi::asJson()->render('your-template-id', [
    'some-variable' => 'some-value',
]);

$content = base64_decode($pdf['data']);

您可以通过调用 output 方法来控制输出

use Pdfapiio\PdfapiLaravel\Facades\PdfApi;

PdfApi::output(ApiOutputType::PDF)->render('your-template', []); // Returns the PDF as a string
PdfApi::output(ApiOutputType::URL)->render('your-template', []); // Returns the URL to the rendered PDF

合并模板

如果您有多个模板并希望将它们合并为单个 PDF,您可以使用 merge 方法。

use Pdfapiio\PdfapiLaravel\Facades\PdfApi;

$pdf = PdfApi::merge([
    [
        'id' => 'your-template-id',
        'data' => [
            'some-variable' => '
        ],
    ],
    [
        'id' => 'your-template-id',
        'data' => [
            'some-variable' => '
        ],
    ],
]);

您也可以在 merge 方法中使用 asJsonoutput 方法。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件