Veja como eu resolvi isso. Eu não entendo porque funcionou, no entanto.
Primeiramente, despejei todas as páginas em arquivos pDP de 600 DPI usando ghostscript
. Note que no meu caso o documento era B & W, então o dispositivo escolhido nesta invocação está refletindo isso:
gs -sDEVICE=pnggray -r600 -o pages-%d.png input.pdf
Em seguida, converte cada imagem em um único arquivo PDF usando imagemagick
. Na verdade, foi uma operação muito rápida, então não valeu a pena tentar paralelizá-lo (com GNU Parallel
ou software similar).
for file in *.png; do convert "$file" "${file/png/pdf}"; done
Em seguida, concatenei arquivos PDF em um único arquivo usando pdftk
(outras ferramentas provavelmente também funcionariam, mas era o que eu já havia instalado):
pdftk pages*.pdf cat output output.pdf
O arquivo output.pdf
produzido tem aproximadamente o mesmo tamanho que o de entrada, parece bom o suficiente e (o mais importante) pode ser impresso pela minha impressora ... com a desvantagem de que por qualquer motivo minha impressora processa cada página ~ 5 minutos antes da impressão. Eu deixei a impressão para uma noite de qualquer maneira, então eu não me importei em procurar melhor opção.
Então, o que eu fiz é mais ou menos recomprimir todas as páginas.