Oto jak to rozwiązałem. Nie rozumiem jednak, dlaczego to zadziałało.
Najpierw zrzuciłem wszystkie strony do plików png 600DPI przy użyciu ghostscript
. Zauważ, że w moim przypadku dokument był czarno-biały, więc urządzenie wybrane w tym wywołaniu odzwierciedla to:
gs -sDEVICE=pnggray -r600 -o pages-%d.png input.pdf
Następnie przekonwertować każdy pojedynczy obraz na pojedynczy plik PDF za pomocą imagemagick
. To była naprawdę szybka operacja, więc nie warto próbować zrównoważyć go (za pomocą GNU Parallel
lub podobnego oprogramowania).
for file in *.png; do convert "$file" "${file/png/pdf}"; done
Następnie połączyłem pliki PDF w jeden plik za pomocą pdftk
(inne narzędzia prawdopodobnie również by działały, ale to już zainstalowałem):
pdftk pages*.pdf cat output output.pdf
Wytworzony output.pdf
plik ma mniej więcej taki sam rozmiar jak plik wejściowy, wygląda wystarczająco dobrze i (co najważniejsze) może być wydrukowany przez moją drukarkę ... z tą wadą, że z jakiegokolwiek powodu moja drukarka przetwarza każdą stronę przez ~ 5 minut przed drukowaniem. Zresztą zrezygnowałem z drukowania na jedną noc, więc nie przejmowałem się szukaniem lepszej opcji.
Więc to, co zrobiłem, to mniej więcej kompresowanie wszystkich stron.
gs
Linia zajęło godzinę, z pliku 77MB produkowanego pliku 1,1MB który miał taką samą liczbę stron, ale każdy z nich jest „pusta” ... pusty w pewnym sensie, że strony nadal zawierać obraz, ale ten obraz jest niemal całkowicie biały, z wyjątkiem niektórych kolorowych pikseli (na wejściu były tylko obrazy w skali szarości). Coś musiało