Я пытаюсь отредактировать pdf в laravel. Я создал следующую функцию в своем контроллере, которая имеет 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 !"
он находится в http://www.sample.com/pdf/higher.pdf
Я имею в виду, в вашей файловой системе, какая папка внутри вашего проекта laravel? storage/app/public
?
ааа правильно путь в структуре папок root/public/pdf/higher (не в хранилище)
Вы должны ссылаться на свой файл, используя генератор laravel для общедоступных путей:
$pdf->setSourceFile(public_path('/pdf/higher.pdf'));
Это создаст абсолютный путь в вашей файловой системе к файлу.
Указав
$pdf->setSourceFile('/pdf/higher.pdf');
, вы указываете абсолютный маршрут, вы должны использовать относительный. Где находится ваш pdf?