Как объединить несколько одностраничных ссылок в PDF с помощью PHP?

#php #mysql #pdf #merge #tiff

#php #mysql #PDF #объединить #tiff

Вопрос:

У меня есть огромное количество изображений в формате TIFF, которые представляют собой отдельные отсканированные страницы. Каждая из них представляет собой страницу многостраничных документов.

Мне нужно иметь возможность предоставлять этот многостраничный документ моим пользователям в формате PDF. Ничего особенного не требуется, кроме объединения изображений в один документ в правильном порядке.

Расположение изображений предоставляется в результате запроса MySQL на PHP в виде массива, т.е:

 c:images04DUDDSDFF.tif,c:images04EDFRTOFN.tif,c:images04EFSDOSDG.tif
  

Текущая среда разработки, в которой я работаю, использует XAMPP, работающий на Win Server 2K3.

Будем признательны за любые предложения / решения.

Приветствия

Ответ №1:

Я уже делал нечто подобное раньше, когда использовал класс Imagick() для преобразования формата TIFF в PNG, а затем использовал TCPDF для создания PDF.

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

1. Я застрял с решением tiff для pdf. Мне никогда не приходило в голову выполнить дальнейшее преобразование. Это абсолютно идеально, спасибо, теперь у меня это работает очень простым способом, так что проблем с преобразованием в процесс «на лету» возникнуть не должно. Отличный ответ, спасибо, Пол!

Ответ №2:

 $pdfThumb = new Imagick();
foreach ($tiffPics as $tiffPic) {
    $pdfThumb->addImage($new Imagick($tiffPic));
}
$pdfThumb->writeImages($absolutePdfName, true);
  

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

1. Было бы полезно некоторое объяснение вместе с вашим кодом.

Ответ №3:

Ответ от @chariothy близок, но на самом деле не работает. У меня просто возникла необходимость объединить несколько tif-файлов в один PDF-файл, и это мое решение, протестированное и рабочее.

 $pdf = new Imagick();

foreach ($tif_file_paths as $file_path){

    $pdf->addImage(new Imagick($file_path));
}

$pdf->writeImages('path/to/save/file/test-combined.pdf', true);