Данный поток недоступен для поиска в FPDI - PullRequest
0 голосов
/ 12 декабря 2018

Я использую библиотеку FPDI для объединения нескольких файлов PDF в один,

, следуя этому документу https://manuals.setasign.com/fpdi-manual/v2/the-fpdi-class/

Я пробовал, как показано ниже,

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();
}

Когдапопытался передать url в streamReader Я получаю Данный поток не доступен для поиска .

Как передать файл s3 в потоковый ридер и объединить его.

1 Ответ

0 голосов
/ 12 декабря 2018

Оболочка потока HTTP не поддерживает поиск.

Вы должны загрузить корзину во временный файл или переменную.Простой file_get_contents() должен сделать это:

$fileContent = file_get_contents('https://path/to/s3/file','rb');
// ...
$pdf->setSourceFile(StreamReader::createByString($fileContent));
...