Я пытался использовать fpdf, fpdi, tcpdf, htlm2pdf для создания PDF-файлов из файлов изображений. Я могу заставить их всех работать, но проблема в том, что я не могу заставить их сжать файл с помощью сжатия PDF. Если у меня есть изображение размером 5 МБ и я использую любое из вышеперечисленного для создания PDF, я получаю файл PDF 5 МБ. Если я создаю изображение с использованием Adobe, я могу получить PDF до 700 КБ без заметного снижения четкости изображения. Я попробовал API Convertapi, и это также дает мне сжатый PDF-файл, который я хочу, но он может делать только отдельные страницы. Мне также нужно иметь возможность конвертировать несколько изображений в один многостраничный PDF. Любые другие идеи будут высоко оценены.
Если вы хотите уменьшить размер 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 …» для каждой страницы.
Других решений пока нет …