元 pdf のエンコード種類を調べると、/FlateDecode /DCTDecode の両方が指定されている。
$ grep Decode --binary-files=text src.pdf /Filter [ /FlateDecode /DCTDecode ] /Length 82761 >> << /Filter /FlateDecode /Length 47 >>
一旦 pdftk で非圧縮。
$ pdftk src.pdf output dst.pdf uncompress
再度調べると、/DCTDecode だけになった。jpegで圧縮されているようだ。
$ grep Decode --binary-files=text dst.pdf <</ColorSpace/DeviceRGB/Subtype/Image/Filter[/DCTDecode]/Length 151441/Width 1664/Type/XObject/Height 2352/BitsPerComponent 8>>stream
pdfimages で圧縮前後の pdf に対して画像を抽出し、両者の画像を比較。両者は一致。
$ pdfimages src.pdf src $ pdfimages dst.pdf dst $ diff src-000.ppm dst-000.ppm
convert で圧縮。ファイルサイズを比較すると非圧縮 pdf とそれなりにコンパラ。
$ convert src-000.ppm src-000.png $ convert src-000.ppm src-000.jpeg $ ls -lah dst.pdf src* -rw-r--r-- 1 **** **** 149K Feb 24 04:40 dst.pdf -rw-r--r-- 1 **** **** 124K Feb 24 05:16 src-000.jpeg -rw-r--r-- 1 **** **** 424K Feb 24 05:26 src-000.png -rw-r--r-- 1 **** **** 12M Feb 24 03:51 src-000.ppm -rw-r--r-- 1 **** **** 82K Feb 19 15:58 src.pdf