Я пытаюсь импортировать файл PDF с помощью mPDF. PDF-файл отправлен из другого сервиса, и моей первоначальной идеей было использовать обертки а>. (желательно php://memory
).
Какие ошибки я получаю:
Warning: filesize(): stat failed for php://memory in /var/www/scrm/modules/AOS_PDF_Templates/PDF_Lib/mpdfi/pdf_parser.php on line 181
mPDF error: Cannot open php://memory !
(кстати, этот печатается в браузере)
Я проверил PDF:
- отображается в браузере
- сохранить в файл и импортировать из него
Оба работают, так что PDF не проблема.
Я проверил содержимое php://memory
, оно тоже верное. Вот пример кода:
//part of the code, $content is defined earlier (.pdf file content)
$memoryFile = 'php://memory';
$handle = fopen($memoryFile,'r+');
fwrite($handle,$content);
rewind($handle);
/* dump it to string, just to be sure, part of how i was checking that pdf got saved to $memoryFile
even with this part removed still doesn't work, so no file issue here
$str= fread($handle,strlen($content)); //str gets filled with expected data
rewind($handle); //rewind for use by mPDF
*/
$pdf = new mPDF;
$pdf->SetImportUse();
$pagecount = $pdf->SetSourceFile($memoryFile);
Решения, которые я имею в виду:
- сохранить в обычный временный файл (я не хочу этого делать)
- Есть ли способ для mPDF импортировать файл из строки? (гугл мне ничего не дал)
ОС: Ubuntu 18.04 WSL, PHP версии 7.2.31, mPDF версии 5.7.1