Laravel - 使用来自 s3 的源文件的 FPDF 编辑 pdf

Laravel - edit pdf with FPDF with a soruce file from s3

我正在 Laravel 后端工作,我需要编辑分配在 s3 存储桶中的 PDF 文件。当我尝试使用 $pdf->setSourceFile($url) 打开 PDF 时,我收到一条错误消息 Given stream is not seekable!

我可以使用 Storage::disk(ENV('FILESYSTEM'))->url($url); 获取文件内容,并且 return 将其发送到前端并且工作正常,所以我知道路径和权限是正确的。我想将内容添加到 setSourceFile($contents) 方法,而不是 url。有什么办法吗?

顺便说一下,我正在使用 Laravel 文件系统

编辑:我试过将文件从s3复制到服务器,然后用PDF打开。我无法到达它,但我认为这不是一个好方法。

首先:You cannot edit a PDF document with FPDI

如错误消息所述,源流需要可搜索,而您当前使用的流包装器似乎并非如此。

您应该下载该文件并为其创建 reader instance

$pdf->setSourceFile(StreamReader::createByString($pdfString));