我有100张webp图片。我想创建一个pdf文件
为了帮助imagemagick,我从资源的角度这样做(第一个命令每行处理一个文件,而不是多个文件):
find . -name '*.webp,.jpg' -exec mogrify -quality 100 -format tiff *.webp {} +
convert "*.{tiff}" -quality 100 outfile.pdf
结果是400+mb的pdf文件。
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH
-sOutputFile="/mnt/jpgs/output_new.pdf"
"/mnt/jpgs/output_original.pdf"
将pdf大小减小到~36mb。
我知道gs是怎么工作的。我已经读过了。我不明白的是如何生产& 36mb"PDF从头开始,不使用后来的gs转换。
注意pdfimages -list outfile.pdf
表示
原始PDF的比例为120%,而压缩PDF的比例为12%。
所以看起来压缩图像(以什么格式和什么选项?)因为即使选择"-dPDFSETTINGS=/printer
";这相当于300dpi,两个pdf文件根据pdfimages -list outfile.pdf
显示70 dpi
所以我的问题是如何添加已经压缩的图像到pdf…在不改变现有质量的情况下(除了dpi),使用imagemagick?
我找到了我要找的东西:(100张图片= 22mb imagemagick生成400mb PDF文件!!)
img2pdf:
无损转换栅格图像为PDF,无需重新编码PNG;JPEG和JPEG2000图像。这将导致PNG的无损转换,JPEG和JPEG2000图像唯一增加的文件大小来自PDF容器本身。其他栅格图形格式则使用与PNG使用的编码相同。由于PDF不支持带有透明度,因为img2pdf的目标是永远不会有损,输入图像不支持alpha通道。输出被发送到标准输出,以便可以将其重定向到文件中或作为shell管道的一部分重定向到另一个程序。要直接将输出写入文件,请使用-o或——output选择。
比较:
Imagemagick将图像转换为pdf:~400mb -无伪影72dpi - 122%压缩比
gs压缩Imagemagick pdf: ~40mb -一些伪影~12%压缩比
img2pdf *。Webp -o output_img1.pdf: ~171mb -无伪影96dpi ~50%压缩比
gs压缩img2pdf pdf: ~40mb -部分伪影~12%压缩比
所以,我保留了img2pdf的原始版本171mb。