Наложение нескольких изображений с прозрачностью с помощью TCPDF

#php #tcpdf

#php #tcpdf

Вопрос:

Я использую библиотеку TCPDF для создания и экспорта PDF-документа с сервера. Я хотел бы наложить несколько изображений PNG на одну страницу в одном и том же месте (все они будут покрывать всю страницу). Когда я пытаюсь использовать приведенный ниже код, PDF-файл создается через очень долгое время (более одной минуты):

 $pdf->AddPage();

// Add image
$pdf->Image("images/PNG-test/city_300DPI.png", 0, 0, $W, $H, '', '', '', false, 300, '', false, false, 0);

// Add image
$pdf->Image("images/PNG-test/lush_300DPI.png", 0, 0, $W, $H, '', '', '', false, 300, '', false, false, 0);
  

Для размещения одних и тех же изображений на трех разных страницах требуется примерно одинаковое время (т.Е. Недопустимо много времени).

Преобразование изображений PNG в JPEG делает весь процесс несравнимо быстрее, даже если учесть, что изображения имеют больший размер отдельного файла (PNG-файлы весят примерно 200 КБ каждый, в то время как JPEG-файлы составляют около 400 КБ).

Может быть, TCPDF просто не может правильно обрабатывать PNG?

Комментарии:

1. Пожалуйста, уточните. Какой результат вы получаете и каков был желаемый результат? Можете ли вы предоставить скриншоты обоих?

2. При необходимости я мог бы предоставить скриншоты, но все, что я действительно хочу, это наложить любые два изображения png друг на друга. Результат, который я получаю, вообще не дает никакого результата, мой php-скрипт работает очень долго, не вызывая никаких ошибок или предполагаемого файла pdf.

3. Если он выполняется в течение длительного времени, а затем завершается без какого-либо вывода, это звучит как либо проблема с нехваткой памяти, либо был превышен лимит времени выполнения. В любом случае, ваш стек должен был где-то зарегистрировать это. Пожалуйста, просмотрите журналы вашего веб-сервера или PHP в поисках каких-либо подсказок. Судя по вашим именам файлов, PNG с разрешением 300 точек на дюйм могут быть большими файлами, но сейчас я просто размышляю.

4. @RoAchterberg Я провел еще несколько тестов и соответствующим образом отредактировал свой вопрос. Есть какие — нибудь идеи, что может вызвать проблему?

5. Насколько быстрее работают файлы JPEG? Насколько быстро это произойдет, если вы удалите альфа-канал из PNGS для тестирования? Используете ли вы последнюю версию TCPDF? Вы пробовали профилировать свой сценарий, чтобы понять, почему это занимает так много времени?