在 Laravel 中生成可填写/可编辑的 PDF

Generate fillable / editable PDF in Laravel

我正在使用 barryvdh/laravel-dompdf 包在 laravel 中生成 DOM PDF。通过以只读模式渲染视图和 HTML 元素,它工作正常。但是,我正在尝试生成可填写/可编辑的 PDF,以便用户无需在第 3 方编辑器工具中打开它即可输入详细信息。

下面是我使用 barryvdh/laravel-dompdf 包生成 PDF 的代码片段。

    $file = "Storage/pdf/document.pdf";
    $data = array("foo" => "bar");
    $view = view('pdf.document', $data);
    \PDF::loadHTML($view)->setPaper('A4', 'portrait')->setWarnings(false)-save($file);

我也尝试过 mpdf niklasravnsborg/laravel-pdf 包,但这也是以可读模式打开的。

    $data = [
        'foo' => 'bar'
    ];
    $pdf = PDF::loadView('pdf.document', $data);
    return $pdf->stream('document.pdf');

如果我需要为此代码配置任何选项,请建议我。

使用 dompdf 创建一个带有可填写表单的 PDF,它 不可能 ,因为它是 not supported,所有者说:

Dompdf supports rendering form fields as static content in the PDF but not for rendering fillable forms.

使用niklasravnsborg/laravel-pdf,使用mpdf,可以使用active forms归档可填写的 PDF。

有扩展mpdf active forms example

因此,blade html 应如下所示:

<h2>Active Forms</h2>
<form action="formsubmit.php" method="post">
  <b>Input Text</b>
  <input type="text" size="90" name="inputfield" value="" title="The title attribute works like a tool-tip" />
</form>

另一个可能的解决方案是使用 laravel-fpdf package, that uses FPDF.

您也可以使用 FPDF。我认为这是最好的 open-source PDF 生成器。您可以轻松导入它,并且可以 select 一打不同的 pdf 模板。