Преобразование изображения в pdf с функциями сжатия и многостраничного pdf в php

Я пытался использовать fpdf, fpdi, tcpdf, htlm2pdf для создания PDF-файлов из файлов изображений. Я могу заставить их все работать, но проблема в том, что я не могу заставить их сжать файл с помощью сжатия pdf. Если у меня есть изображение размером 5 МБ и я использую любой из вышеперечисленных способов для создания PDF-файла, я получаю файл PDF размером 5 МБ. Если я создаю изображение с помощью Adobe, я могу уменьшить размер pdf примерно до 700 КБ без заметного снижения четкости изображения. Я пробовал convertapi API, и это также дает мне сжатый файл PDF, который мне нужен, но он может делать только отдельные страницы. Мне также нужно иметь возможность конвертировать несколько изображений в один многостраничный PDF. Любые другие идеи будут высоко оценены.


person user3407300    schedule 01.08.2016    source источник


Ответы (1)


Если вы хотите уменьшить размер pdf-файлов, лучше всего использовать Ghostscript:

 exec('gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook  -dNOPAUSE  -dBATCH -sOutputFile='.$output_file.' '.$file.' ',$output, $return_var);

Если вы хотите, чтобы каждая страница была в разных файлах:

exec('convert -density 300 -trim "'.$file.'" -resize 1000 -quality 85 -colorspace RGB -background white  "'.$destination.'" &', $output, $return_var);

Будьте осторожны с & в конце $destination, он назовет ваш файл "mypdf.pdf" с 5 страницами в "mypdf-0.pdf, mypdf-1.pdf..." для каждой страницы.

person Amazone    schedule 12.08.2016