首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mPDF SetSourceFile -从临时存储中导入PDF

mPDF SetSourceFile -从临时存储中导入PDF
EN

Stack Overflow用户
提问于 2020-06-15 10:08:15
回答 1查看 661关注 0票数 1

我正在尝试用mPDF导入PDF文件。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 ! (此版本打印到浏览器BTW)

我已经查过:

  • 在浏览器中显示
  • 保存到文件中,并从文件中导入

这两种工作,所以PDF不是一个问题。

我已经检查了php://memory的内容,它们也是有效的。下面是示例代码:

代码语言:javascript
复制
//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是否有从字符串导入文件的方法?(谷歌没有给我任何结果)

操作系统:Ubuntu18.04WSL,PHP7.2.31,mPDF版本5.7.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-15 20:42:41

至少将您的mPDF版本升级到8.0.0。

从版本8开始,mPDF使用更新后的底层库FPDI 2,它通常支持从php://memory或任何流导入文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62385930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档