pdfsandwich 0.1.6
GhostScript 9.07
ImageMagick 7.0.5-10
Original PDF is scanned in as greyscale @ 300dpi and file size is 2.3MB. Post-pdfsandwich file size is 18MB!
Comparing both PDFs side by side there is no difference in quality.
Command:
/usr/local/bin/pdfsandwich -coo "-normalize" -nthreads 4 -lang eng -gray original.pdf -o post.pdf
pdfimages output for original PDF:
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
1 0 image 880 624 gray 1 8 jpeg no 286 0 106 54 7144B 1.3%
1 1 image 1760 1248 gray 1 8 jpeg no 288 0 212 107 28.2K 1.3%
1 2 mask 3520 2496 - 1 1 jpeg no 288 0 424 213 28.2K 2.6%
2 3 image 880 624 gray 1 8 jpeg no 5 0 106 54 7200B 1.3%
2 4 image 1760 1248 gray 1 8 jpeg no 7 0 212 107 25.7K 1.2%
2 5 mask 3520 2496 - 1 1 jpeg no 7 0 424 213 25.7K 2.4%
3 6 image 880 624 gray 1 8 jpeg no 13 0 106 54 7128B 1.3%
3 7 image 1760 1248 gray 1 8 jpeg no 15 0 212 107 29.1K 1.4%
3 8 mask 3520 2496 - 1 1 jpeg no 15 0 424 213 29.1K 2.7%
4 9 image 880 624 gray 1 8 jpeg no 21 0 106 54 7104B 1.3%
4 10 image 1760 1248 gray 1 8 jpeg no 23 0 212 107 25.9K 1.2%
4 11 mask 3520 2496 - 1 1 jpeg no 23 0 424 213 25.9K 2.4%
5 12 image 880 624 gray 1 8 jpeg no 29 0 106 54 7104B 1.3%
5 13 image 1760 1248 gray 1 8 jpeg no 31 0 212 107 37.1K 1.7%
5 14 mask 3520 2496 - 1 1 jpeg no 31 0 424 213 37.1K 3.5%
6 15 image 880 624 gray 1 8 jpeg no 37 0 106 54 7080B 1.3%
6 16 image 1760 1248 gray 1 8 jpeg no 39 0 212 107 25.9K 1.2%
6 17 mask 3520 2496 - 1 1 jpeg no 39 0 424 213 25.9K 2.4%
7 18 image 880 624 gray 1 8 jpeg no 45 0 106 54 7172B 1.3%
7 19 image 1760 1248 gray 1 8 jpeg no 47 0 212 107 34.6K 1.6%
7 20 mask 3520 2496 - 1 1 jpeg no 47 0 424 213 34.6K 3.2%
8 21 image 880 624 gray 1 8 jpeg no 53 0 106 54 7136B 1.3%
8 22 image 1760 1248 gray 1 8 jpeg no 55 0 212 107 34.5K 1.6%
8 23 mask 3520 2496 - 1 1 jpeg no 55 0 424 213 34.5K 3.2%
9 24 image 880 624 gray 1 8 jpeg no 61 0 106 54 7124B 1.3%
9 25 image 1760 1248 gray 1 8 jpeg no 63 0 212 107 34.2K 1.6%
9 26 mask 3520 2496 - 1 1 jpeg no 63 0 424 213 34.2K 3.2%
10 27 image 880 624 gray 1 8 jpeg no 69 0 106 54 7088B 1.3%
10 28 image 1760 1248 gray 1 8 jpeg no 71 0 212 107 33.9K 1.6%
10 29 mask 3520 2496 - 1 1 jpeg no 71 0 424 213 33.9K 3.2%
11 30 image 880 624 gray 1 8 jpeg no 77 0 106 54 7140B 1.3%
11 31 image 1760 1248 gray 1 8 jpeg no 79 0 212 107 34.1K 1.6%
11 32 mask 3520 2496 - 1 1 jpeg no 79 0 424 213 34.1K 3.2%
12 33 image 880 624 gray 1 8 jpeg no 85 0 106 54 7084B 1.3%
12 34 image 1760 1248 gray 1 8 jpeg no 87 0 212 107 34.9K 1.6%
12 35 mask 3520 2496 - 1 1 jpeg no 87 0 424 213 34.9K 3.3%
13 36 image 880 624 gray 1 8 jpeg no 93 0 106 54 7084B 1.3%
13 37 image 1760 1248 gray 1 8 jpeg no 95 0 212 107 33.5K 1.6%
13 38 mask 3520 2496 - 1 1 jpeg no 95 0 424 213 33.5K 3.1%
14 39 image 880 624 gray 1 8 jpeg no 101 0 106 54 7264B 1.3%
14 40 image 1760 1248 gray 1 8 jpeg no 103 0 212 107 33.2K 1.5%
14 41 mask 3520 2496 - 1 1 jpeg no 103 0 424 213 33.2K 3.1%
15 42 image 880 624 gray 1 8 jpeg no 109 0 106 54 7148B 1.3%
15 43 image 1760 1248 gray 1 8 jpeg no 111 0 212 107 34.5K 1.6%
15 44 mask 3520 2496 - 1 1 jpeg no 111 0 424 213 34.5K 3.2%
16 45 image 880 624 gray 1 8 jpeg no 117 0 106 54 7272B 1.3%
16 46 image 1760 1248 gray 1 8 jpeg no 119 0 212 107 35.7K 1.7%
16 47 mask 3520 2496 - 1 1 jpeg no 119 0 424 213 35.7K 3.3%
17 48 image 880 624 gray 1 8 jpeg no 125 0 106 54 7156B 1.3%
17 49 image 1760 1248 gray 1 8 jpeg no 127 0 212 107 34.5K 1.6%
17 50 mask 3520 2496 - 1 1 jpeg no 127 0 424 213 34.5K 3.2%
18 51 image 880 624 gray 1 8 jpeg no 133 0 106 54 7256B 1.3%
18 52 image 1760 1248 gray 1 8 jpeg no 135 0 212 107 35.0K 1.6%
18 53 mask 3520 2496 - 1 1 jpeg no 135 0 424 213 35.0K 3.3%
19 54 image 880 624 gray 1 8 jpeg no 141 0 106 54 7124B 1.3%
19 55 image 1760 1248 gray 1 8 jpeg no 143 0 212 107 33.4K 1.6%
19 56 mask 3520 2496 - 1 1 jpeg no 143 0 424 213 33.4K 3.1%
20 57 image 880 624 gray 1 8 jpeg no 149 0 106 54 7180B 1.3%
20 58 image 1760 1248 gray 1 8 jpeg no 151 0 212 107 32.8K 1.5%
20 59 mask 3520 2496 - 1 1 jpeg no 151 0 424 213 32.8K 3.1%
21 60 image 880 624 gray 1 8 jpeg no 157 0 106 54 7112B 1.3%
21 61 image 1760 1248 gray 1 8 jpeg no 159 0 212 107 34.5K 1.6%
21 62 mask 3520 2496 - 1 1 jpeg no 159 0 424 213 34.5K 3.2%
22 63 image 880 624 gray 1 8 jpeg no 165 0 106 54 7192B 1.3%
22 64 image 1760 1248 gray 1 8 jpeg no 167 0 212 107 31.7K 1.5%
22 65 mask 3520 2496 - 1 1 jpeg no 167 0 424 213 31.7K 3.0%
23 66 image 880 624 gray 1 8 jpeg no 173 0 106 54 7144B 1.3%
23 67 image 1760 1248 gray 1 8 jpeg no 175 0 212 107 35.1K 1.6%
23 68 mask 3520 2496 - 1 1 jpeg no 175 0 424 213 35.1K 3.3%
24 69 image 880 624 gray 1 8 jpeg no 181 0 106 54 7212B 1.3%
24 70 image 1760 1248 gray 1 8 jpeg no 183 0 212 107 35.2K 1.6%
24 71 mask 3520 2496 - 1 1 jpeg no 183 0 424 213 35.2K 3.3%
25 72 image 880 624 gray 1 8 jpeg no 189 0 106 54 7152B 1.3%
25 73 image 1760 1248 gray 1 8 jpeg no 191 0 212 107 34.4K 1.6%
25 74 mask 3520 2496 - 1 1 jpeg no 191 0 424 213 34.4K 3.2%
26 75 image 880 624 gray 1 8 jpeg no 197 0 106 54 7240B 1.3%
26 76 image 1760 1248 gray 1 8 jpeg no 199 0 212 107 34.7K 1.6%
26 77 mask 3520 2496 - 1 1 jpeg no 199 0 424 213 34.7K 3.2%
27 78 image 880 624 gray 1 8 jpeg no 205 0 106 54 7136B 1.3%
27 79 image 1760 1248 gray 1 8 jpeg no 207 0 212 107 33.9K 1.6%
27 80 mask 3520 2496 - 1 1 jpeg no 207 0 424 213 33.9K 3.2%
28 81 image 880 624 gray 1 8 jpeg no 213 0 106 54 7192B 1.3%
28 82 image 1760 1248 gray 1 8 jpeg no 215 0 212 107 33.7K 1.6%
28 83 mask 3520 2496 - 1 1 jpeg no 215 0 424 213 33.7K 3.1%
29 84 image 880 624 gray 1 8 jpeg no 221 0 106 54 7132B 1.3%
29 85 image 1760 1248 gray 1 8 jpeg no 223 0 212 107 32.4K 1.5%
29 86 mask 3520 2496 - 1 1 jpeg no 223 0 424 213 32.4K 3.0%
30 87 image 880 624 gray 1 8 jpeg no 229 0 106 54 7152B 1.3%
30 88 image 1760 1248 gray 1 8 jpeg no 231 0 212 107 26.0K 1.2%
30 89 mask 3520 2496 - 1 1 jpeg no 231 0 424 213 26.0K 2.4%
31 90 image 880 624 gray 1 8 jpeg no 237 0 106 54 7132B 1.3%
31 91 image 1760 1248 gray 1 8 jpeg no 239 0 212 107 28.3K 1.3%
31 92 mask 3520 2496 - 1 1 jpeg no 239 0 424 213 28.3K 2.6%
32 93 image 880 624 gray 1 8 jpeg no 245 0 106 54 7068B 1.3%
32 94 image 1760 1248 gray 1 8 jpeg no 247 0 212 107 26.1K 1.2%
32 95 mask 3520 2496 - 1 1 jpeg no 247 0 424 213 26.1K 2.4%
33 96 image 880 624 gray 1 8 jpeg no 253 0 106 54 7252B 1.3%
33 97 image 1760 1248 gray 1 8 jpeg no 255 0 212 107 33.4K 1.6%
33 98 mask 3520 2496 - 1 1 jpeg no 255 0 424 213 33.4K 3.1%
34 99 image 880 624 gray 1 8 jpeg no 261 0 106 54 7176B 1.3%
34 100 image 1760 1248 gray 1 8 jpeg no 263 0 212 107 26.5K 1.2%
34 101 mask 3520 2496 - 1 1 jpeg no 263 0 424 213 26.5K 2.5%
35 102 image 880 624 gray 1 8 jpeg no 269 0 106 54 6968B 1.3%
35 103 image 1760 1248 gray 1 8 jpeg no 271 0 212 107 26.8K 1.2%
35 104 mask 3520 2496 - 1 1 jpeg no 271 0 424 213 26.8K 2.5%
pdfimages output for post-processing PDF:
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
1 0 image 2479 3508 gray 1 8 jpeg no 11 0 301 300 361K 4.2%
2 1 image 2479 3508 gray 1 8 jpeg no 24 0 301 300 130K 1.5%
3 2 image 2479 3508 gray 1 8 jpeg no 37 0 301 300 449K 5.3%
4 3 image 2479 3508 gray 1 8 jpeg no 50 0 301 300 130K 1.5%
5 4 image 2479 3508 gray 1 8 jpeg no 63 0 301 300 821K 9.7%
6 5 image 2479 3508 gray 1 8 jpeg no 76 0 301 300 130K 1.5%
7 6 image 2479 3508 gray 1 8 jpeg no 89 0 301 300 622K 7.3%
8 7 image 2479 3508 gray 1 8 jpeg no 102 0 301 300 621K 7.3%
9 8 image 2479 3508 gray 1 8 jpeg no 115 0 301 300 634K 7.5%
10 9 image 2479 3508 gray 1 8 jpeg no 128 0 301 300 583K 6.9%
11 10 image 2479 3508 gray 1 8 jpeg no 141 0 301 300 640K 7.5%
12 11 image 2479 3508 gray 1 8 jpeg no 154 0 301 300 654K 7.7%
13 12 image 2479 3508 gray 1 8 jpeg no 167 0 301 300 607K 7.1%
14 13 image 2479 3508 gray 1 8 jpeg no 180 0 301 300 559K 6.6%
15 14 image 2479 3508 gray 1 8 jpeg no 193 0 301 300 653K 7.7%
16 15 image 2479 3508 gray 1 8 jpeg no 206 0 301 300 686K 8.1%
17 16 image 2479 3508 gray 1 8 jpeg no 219 0 301 300 651K 7.7%
18 17 image 2479 3508 gray 1 8 jpeg no 232 0 301 300 671K 7.9%
19 18 image 2479 3508 gray 1 8 jpeg no 245 0 301 300 593K 7.0%
20 19 image 2479 3508 gray 1 8 jpeg no 258 0 301 300 551K 6.5%
21 20 image 2479 3508 gray 1 8 jpeg no 271 0 301 300 630K 7.4%
22 21 image 2479 3508 gray 1 8 jpeg no 284 0 301 300 472K 5.6%
23 22 image 2479 3508 gray 1 8 jpeg no 297 0 301 300 667K 7.8%
24 23 image 2479 3508 gray 1 8 jpeg no 310 0 301 300 670K 7.9%
25 24 image 2479 3508 gray 1 8 jpeg no 323 0 301 300 644K 7.6%
26 25 image 2479 3508 gray 1 8 jpeg no 336 0 301 300 635K 7.5%
27 26 image 2479 3508 gray 1 8 jpeg no 349 0 301 300 624K 7.4%
28 27 image 2479 3508 gray 1 8 jpeg no 362 0 301 300 587K 6.9%
29 28 image 2479 3508 gray 1 8 jpeg no 375 0 301 300 573K 6.8%
30 29 image 2479 3508 gray 1 8 jpeg no 388 0 301 300 131K 1.5%
31 30 image 2479 3508 gray 1 8 jpeg no 401 0 301 300 425K 5.0%
32 31 image 2479 3508 gray 1 8 image no 414 0 301 300 31.9K 0.4%
33 32 image 2479 3508 gray 1 8 jpeg no 427 0 301 300 742K 8.7%
34 33 image 2479 3508 gray 1 8 jpeg no 440 0 301 300 144K 1.7%
35 34 image 2479 3508 gray 1 8 jpeg no 453 0 301 300 254K 3.0%