首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在FPDI中不能查找给定的流。

在FPDI中不能查找给定的流。
EN

Stack Overflow用户
提问于 2018-12-12 06:19:56
回答 2查看 6.2K关注 0票数 4

我使用FPDI库将多个pdf文件合并为一个,

遵循本文档https://manuals.setasign.com/fpdi-manual/v2/the-fpdi-class/

我试过如下,

代码语言:javascript
运行
复制
use \setasign\Fpdi\Fpdi;
use \setasign\Fpdi\PdfParser\StreamReader;
function merge()
{
    $file = fopen('https://path/to/s3/file','rb');
    $pdf = new Fpdi();
    $pdf->AddPage();
    $pdf->setSourceFile(new  StreamReader($file));
    $tplIdx = $pdf->importPage(1);
    $pdf->useTemplate($tplIdx, 10, 10, 100);
    $pdf->SetFont('Helvetica');
    $pdf->SetTextColor(255, 0, 0);
    $pdf->SetXY(30, 30);
    $pdf->Write(0, 'This is just a simple text');
    $pdf->Output();
}

当试图在streamReader中传递url时,我得到的是给定的流是不可查找的

如何将s3文件传递给流读取器并合并它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-12 10:12:59

HTTP流包装器不支持查找。

您必须将桶下载到临时文件或变量中。一个简单的file_get_contents()应该这样做:

代码语言:javascript
运行
复制
$fileContent = file_get_contents('https://path/to/s3/file','rb');
// ...
$pdf->setSourceFile(StreamReader::createByString($fileContent));
票数 9
EN

Stack Overflow用户

发布于 2020-11-06 08:51:09

对于那些试图从同一服务器加载文件的人(不适用于本例,但可以帮助其他人解决此错误):将http://example.com/path/file.pdf更改为本地路径,如/home/user/public_html/ path /file.pdf

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

https://stackoverflow.com/questions/53737157

复制
相关文章

相似问题

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