TL;DR:JPEG 和 PDF 之间的往返转换中文件大小加倍。使用的工具:poppler
和imagemagick
我正在做这个
- 从仅包含图像(扫描文档)的 pdf 中提取图像,
pdfimags
通过poppler
- 进行无损编辑(旋转)(或不执行任何操作)
- 将图像转换为pdf,via
imagemagick
(由于某些平台相关问题,我无法使用img2pdf)
Original 16M
Images 32M (Few kb images were deleted)
Final 33M
提取时图像大小加倍。假设发生了某种解压缩,为什么在制作PDF时不能将它们无损压缩回来?
编辑:
- 尝试
-compress
使用LZW
,在 4 倍时间后生成 150M 文件。 - 试过了
-page A4
,没有变化。
命令:
$ pdfimages -all Scanneddoc.pdf ./a
$ rm a-001.jpg
$ mogrify -rotate -90 a-*.jpg
$ convert a*.jpg Rotated.pdf
文件信息:
pdfimages -list input
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 260 260 rgb 3 8 jpeg no 8 0 851 851 9.91K 5.0%
1 1 image 3184 2020 rgb 3 8 jpeg no 11 0 272 272 674K 3.6%
2 2 image 260 260 rgb 3 8 jpeg no 16 0 851 851 9.91K 5.0%
2 3 image 2556 2968 rgb 3 8 jpeg no 19 0 309 309 740K 3.3%
3 4 image 260 260 rgb 3 8 jpeg no 24 0 851 851 9.91K 5.0%
3 5 image 2500 3052 rgb 3 8 jpeg no 27 0 303 303 684K 3.1%
4 6 image 260 260 rgb 3 8 jpeg no 32 0 851 851 9.91K 5.0%
4 7 image 2392 1372 rgb 3 8 jpeg no 35 0 205 205 242K 2.5%
5 8 image 260 260 rgb 3 8 jpeg no 40 0 851 851 9.91K 5.0%
5 9 image 2360 3148 rgb 3 8 jpeg no 43 0 286 286 714K 3.3%
pdfimages -list output
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 2020 3184 rgb 3 8 jpeg no 8 0 272 272 615K 3.3%
2 1 image 2968 2556 rgb 3 8 jpeg no 22 0 359 359 1741K 7.8%
3 2 image 3052 2500 rgb 3 8 jpeg no 36 0 369 370 1610K 7.2%
4 3 image 1372 2392 rgb 3 8 jpeg no 50 0 205 205 509K 5.3%
5 4 image 3148 2360 rgb 3 8 jpeg no 64 0 381 381 1493K 6.9%
澄清:解决方案和评论强调图像的旋转。需要明确的是,问题在于图像尺寸较大,因此不旋转也无济于事。虽然有损变换可能会妨碍有效压缩,导致尺寸过大,但问题确实出在提取部分。