FPDFI — устанавливает исходный файл как строку, а не файл

#php #pdf #fpdf

#php #PDF #fpdf

Вопрос:

Я использую FPDFI для работы с существующим PDF. Я получаю этот PDF обратно в виде строки в кодировке base64 из внешнего API. Затем я создаю PDF-файл, а затем использую следующий код для управления им:

 $pdf = new FPDI();
$sourceFileName = 'label.pdf';
$pdf->setSourceFile($sourceFileName);
  

Возможно ли обойти процесс создания файла и просто отправить декодированную base64 строку прямо в setSourceFile, например:

 $pdf = new FPDI();
$pdf->setSourceString(base64_encode($labelString));
  

Я ничего не могу найти в документах.

Редактировать:

Кажется, я смог решить эту проблему, используя функцию tempnam () в PHP:

 $tmpfname = tempnam("/tmp", "ABC");

$handle = fopen($tmpfname, "w");
fwrite($handle, $label);
fclose($handle);
  

И затем ссылается на $tmpfname как на $sourceFileName

Ответ №1:

Вы также можете использовать оболочку потока вместо этого.