【发布时间】:2019-10-10 04:33:54
【问题描述】:
我正在尝试使用 FPDF 和 FPDI 来编辑 PDF 并向其中添加文本。我不断收到“不正确的输出目标”错误,但目标是我希望它在其中创建文件的正确位置,为什么 FPDF 不喜欢我的输出目标?
这是在一个 laravel 项目中
$pdf = new \setasign\Fpdi\Fpdi();
$pdf->AddPage();
$pdf->setSourceFile(public_path('/pdf/higher.pdf'));
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx, 10, 10, 100);
$pdf->SetFont('Helvetica');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'This is just a simple text');
$pdf->Output(public_path('/pdf/'),'higher2');
return $pdf;
错误是:
message: "FPDF error: Incorrect output destination: /home/vagrant/code/project-name/public/pdf/"
我还尝试删除“public_path()”并将其设置为Output('pdf', 'higher2'),但也没有任何好处。
此外,我还尝试将输出 pdf 的名称更改为 higher2.pdf,以防万一它想查看扩展名(但显然它的目标问题更多,而不是名称问题)
我什至尝试将这个文件夹的权限更改为任何人都可以写:
drwxrwxrwx 5 ion staff 160 May 21 05:44 pdf
编辑:请注意,我看到带有 public_path() 的方法出于某种原因试图保存到我的 vagrant 文件夹中,这是我感到困惑的部分原因。当我尝试在没有 public_path() 的情况下保存到“/pdf”时,我收到了这个错误:
message: "FPDF error: Incorrect output destination: /pdf/"
编辑 2:
我也试过这个:
$pdf->Output('F','/pdf/higher2.pdf');
并得到错误:
message: "file_put_contents(/pdf/higher2.pdf): failed to open stream: No such file or directory"
并且还尝试了确实存在的pdf的原始名称并得到了同样的错误:
$pdf->Output('F','/pdf/higher.pdf');
【问题讨论】:
标签: php laravel vue.js fpdf fpdi