Я попробовал два основных метода вставки изображения QR-кода в PDF-файл:
- Прямое кодирование Base64: я генерирую изображение QR-кода в формате PNG с использованием mpdf/qrcode, затем кодирую его в Base64 и использую данные URI: image/ png;base64,.... внутри функции mPDF->Image().
Код: Выделить всё
use Mpdf\QrCode\QrCode;
use Mpdf\Output;
$qrCode = new QrCode($pdfUrl);
$output = new Output\Png();
$qrCodeImage = $output->output($qrCode, 300);
$mpdf->Image('data:image/png;base64,' . base64_encode($qrCodeImage), 10, 10, 40, 40);
- Использование временного файла: я сохраняю сгенерированное изображение QR-кода во временный файл с помощью tempnam() и file_put_contents(), а затем используйте путь к файлу с помощью mPDF->Image(). После создания PDF-файла я удаляю временный файл.
Код: Выделить всё
use Mpdf\QrCode\QrCode;
use Mpdf\Output;
$qrCode = new QrCode($pdfUrl);
$output = new Output\Png();
$qrCodeImage = $output->output($qrCode, 300);
$tempFile = tempnam(sys_get_temp_dir(), 'qr');
file_put_contents($tempFile, $qrCodeImage);
$mpdf->Image($tempFile, 10, 10, 40, 40);
unlink($tempFile);
Я также пробовал настроить параметры положения и размера в mPDF. ->Image(), но это не решило проблему. Расширения GD и mbstring включены
Подробнее здесь: https://stackoverflow.com/questions/793 ... de-library