通过php中的压缩和多页面pdf功能将图像转换为pdf



我曾尝试使用fpdf、fpdi、tcpdf、htlm2pdf从图像文件创建pdf。我可以让它们全部工作,但问题是我不能让它们用pdf压缩来压缩文件。如果我有一个5mb的图像,并使用上面的任何一个创建pdf,我会得到一个5mbPDF文件。如果我使用adobe创建图像,我可以将pdf压缩到大约700kb,而不会明显降低图像清晰度。我已经尝试了convertapi API,这也给了我一个压缩的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…"。

最新更新