【问题标题】:Fill Pdf form using php laravel使用 php laravel 填写 PDF 表单
【发布时间】:2021-10-26 11:26:56
【问题描述】:

我正在尝试填写 pdf 并使用 php 保存它。我也试过FPDFthis script,但它会引发错误FPDF-Merge Error: Object streams are not supported。在我也尝试过php-pdftk 包之后。我使用的是 ubuntu 20.04,所以没有说明在该网站上找到为 Ubuntu 安装 pdftk 服务器的说明。我使用此网站的方法 3 安装它,因为 Pdftk ubuntu install bleow 是我配置 pdftk 后的代码

 $pdf = new Pdf(public_path().'/test.pdf');
 $result = $pdf->fillForm([
                'name_field'=>'hello',
           ])
           ->flatten()
           ->saveAs(public_path().'/filled.pdf');
           // Always check for errors
           $error ='';
 if ($result === false) {
    $error = $pdf->getError();
 }
  
 return response()->json($error, 200);

这个结果总是返回 false 并且错误信息是空的。 如果我做错了什么或者有没有更好的解决方案来填写 PDF 表单,谁能帮我解决这个问题?

谢谢。

【问题讨论】:

    标签: php laravel fpdf pdftk php-pdftk


    【解决方案1】:

    ->flatten() 更改为needAppearances()

    注意:填写 UTF-8 数据时,应始终添加 needAppearances() 选项。这将确保 PDF 阅读器负责使用正确的字体进行渲染,这是 pdftk 无法为您完成的。另请注意,如果您的数据中有特殊字符,flatten() 并不能很好地工作。

    https://github.com/mikehaertl/php-pdftk

    【讨论】:

    • 感谢您的回复。我也尝试过,但它确实有效。之后我使用flatten()。在我重新开始单圈并添加needAppearances() 之后的任何方式都可以,谢谢。
    • @TharinduPrabodhana 欢迎
    猜你喜欢
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2011-10-15
    • 2013-01-08
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多