使用 FPDI 时使用正确的源 url 时出现 'Cannot open pdf' 错误
Getting 'Cannot open pdf' error with a correct source url when using FPDI
我正在尝试编辑 laravel 中的 pdf。我在我的控制器中创建了以下函数,它有 use FPDI
和 use FPDF
static function getHigherPDF() {
$pdf = new FPDI();
$pdf->AddPage();
$pdf->setSourceFile('/pdf/higher.pdf');
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx, 10, 10, 100);
$pdf->Output();
$pdf->SetFont('Helvetica');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'This is just a simple text');
return $pdf;
}
我一直收到以下错误,我不知道为什么,如果我将带有 http:// 等的完整路径放入 pdf,我什至会收到错误。当我转到该文件时,pdf 在我的浏览器中打开。如果文件 url 是有效的 url
,我找不到任何关于为什么会发生这种情况的信息
有什么想法吗?
{message: "Cannot open /pdf/higher.pdf !", exception: "InvalidArgumentException",...}
exception: "InvalidArgumentException"
file: "/home/vagrant/code/brainskills-at-work/vendor/setasign/fpdi/pdf_parser.php"
message: "Cannot open /pdf/higher.pdf !"
您应该使用 laravel 生成器为 public 路径引用您的文件:
$pdf->setSourceFile(public_path('/pdf/higher.pdf'));
这将在您的文件系统上生成文件的绝对路径。
我正在尝试编辑 laravel 中的 pdf。我在我的控制器中创建了以下函数,它有 use FPDI
和 use FPDF
static function getHigherPDF() {
$pdf = new FPDI();
$pdf->AddPage();
$pdf->setSourceFile('/pdf/higher.pdf');
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx, 10, 10, 100);
$pdf->Output();
$pdf->SetFont('Helvetica');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'This is just a simple text');
return $pdf;
}
我一直收到以下错误,我不知道为什么,如果我将带有 http:// 等的完整路径放入 pdf,我什至会收到错误。当我转到该文件时,pdf 在我的浏览器中打开。如果文件 url 是有效的 url
,我找不到任何关于为什么会发生这种情况的信息有什么想法吗?
{message: "Cannot open /pdf/higher.pdf !", exception: "InvalidArgumentException",...}
exception: "InvalidArgumentException"
file: "/home/vagrant/code/brainskills-at-work/vendor/setasign/fpdi/pdf_parser.php"
message: "Cannot open /pdf/higher.pdf !"
您应该使用 laravel 生成器为 public 路径引用您的文件:
$pdf->setSourceFile(public_path('/pdf/higher.pdf'));
这将在您的文件系统上生成文件的绝对路径。