gpt4 book ai didi

php - FPDF 获取 "Incorrect output destination"但错误代码显示正确的目的地

转载 作者:行者123 更新时间:2023-12-03 06:39:32 26 4
gpt4 key购买 nike

我正在尝试使用 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');

最佳答案

你永远不应该覆盖你正在读取的文件!
Output() 的签名方法是:

string Output([string dest [, string name [, boolean isUTF8]]])
$dest参数定义为:

Destination where to send the document. It can be one of the following:

I: send the file inline to the browser. The PDF viewer is used if available.
D: send to the browser and force a file download with the name given by name.
F: save to a local file with the name given by name (may include a path).
S: return the document as a string.

The default value is I.



所以你的代码:
$pdf->Output(public_path('/pdf/'),'higher2');

完全没有意义。我猜您想将生成的 PDF 保存到公共(public)区域中名为 higher2.pdf 的路径中.所以你的代码应该是这样的:
$pdf->Output('F', public_path('/pdf/higher2.pdf'));

PS: You cannot edit a PDF with FPDI !

关于php - FPDF 获取 "Incorrect output destination"但错误代码显示正确的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com