Вот как я это решил. Я не понимаю, почему это сработало.
Во-первых, я свалил все страницы в png-файлы 600DPI, используя ghostscript
. Обратите внимание, что в моем случае документ был черно-белым, поэтому устройство, выбранное в этом вызове, отражает это:
gs -sDEVICE=pnggray -r600 -o pages-%d.png input.pdf
Затем преобразуйте каждое отдельное изображение в один файл PDF с помощью imagemagick
. На самом деле это была довольно быстрая операция, поэтому не стоит пытаться распараллелить ее (с помощью GNU Parallel
или подобного программного обеспечения).
for file in *.png; do convert "$file" "${file/png/pdf}"; done
Затем я скомбинировал PDF-файлы в один файл с помощью pdftk
(другие инструменты, вероятно, также будут работать, но это было то, что я уже установил):
pdftk pages*.pdf cat output output.pdf
Полученный файл output.pdf
имеет примерно такой же размер, что и входной файл, выглядит достаточно хорошо и (что самое важное) может быть напечатан моим принтером ... с тем недостатком, что по какой-то причине мой принтер обрабатывает каждую страницу в течение ~ 5 минут перед печатью. Во всяком случае, я оставил печать на ночь, поэтому мне было все равно, что мне лучше.
Так что я сделал более или менее повторное сжатие всех страниц.