Descrierea funcționează pentru:
Ubuntu 21.04
pdfjam 3.03
GPL Ghostscript 9.53.3 (2020-10-01)
Am creat această întrebare după ce am găsit soluția -- pentru a le ușura altora (deoarece unele comenzi pe care le-am găsit erau învechite etc.)
Cheia pentru găsirea soluției este să știți că „păstrarea” adnotărilor se numește „aplatizare”, ceea ce pune, în esență, stratul de adnotare în cel „standard” (standard).
Astfel, avem trei pași:
- aplatizare:
pdf2ps -q -sOutputFile=- input.pdf | ps2pdf - out-flat.pdf
- fuzionarea 4on1:
pdfjam --nup 2x2 out-flat.pdf --outfile out-4on1.pdf --landscape
Pentru mine, pasul 1 a produs un PDF care a fost semnificativ mai mare decât originalul, așa că un al treilea pas alternativ ar putea o compresie:
- comprimare:
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o out-4on1-compressed.pdf out-4on1.pdf
Rețineți că pentru compresie există mai multe rate de compresie pe care le puteți alege, cea aleasă aici (ebook) este cea mai potrivită pentru scopurile mele. Mai multe detalii mai jos.
Deoarece va trebui să fac asta în mod regulat, am creat un script convenabil pentru asta. Sper să fie de ajutor și altora!
#!/bin/sh
# argument 1: numele fișierului de intrare
# argument 2: rata de compresie (opțional)
# eliminați sfârșitul fișierului pentru a putea schimba numele fișierului
filename=$(nume de bază -- "$1")
extensie="${filename##*.}"
prefix="${filename%.*}"
# compilați adnotările în stratul(ele) principal(e)
pdf2ps -q -sOutputFile=- $1 | ps2pdf - $prefix-flattened.pdf
# puneți 4 diapozitive într-una pe pagină, modul peisaj
pdfjam --nup 2x2 $prefix-flattened.pdf --outfile $prefix-4on1-largeFile.pdf --landscape
# comprima
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/${2:-ebook} -q -o $prefix-4on1.pdf $prefix-4on1-largeFile.pdf
# șterge fișierele intermediare
rm ./$prefix-flattened.pdf
rm ./$prefix-4on1-largeFile.pdf
Nu uitați să faceți fișierul script executabil (de exemplu, prin chmod +x 4on1-script.sh
). Scriptul șterge toate fișierele intermediare.De asemenea, creează un nume de fișier util, pentru care era necesară „identificarea” prefixului unui fișier. Primul său argument este numele fișierului de intrare. Al doilea argument al său este opțional și determină calitatea compresiei. Valoarea implicită este ebook, alte valori sunt:
- ecran: selectează ieșirea cu rezoluție joasă similară cu setarea „Ecran optimizat” Acrobat Distiller.
- ebook: selectează o ieșire de rezoluție medie similară cu setarea „eBook” Acrobat Distiller. (ales aici)
- imprimanta selectează rezultate similare cu setarea „Print Optimized” din Acrobat Distiller.
- prepress selectează rezultate similare cu setarea „Prepress Optimized” din Acrobat Distiller.
- implicit selectează ieșirea menită să fie utilă într-o mare varietate de utilizări, posibil în detrimentul unui fișier de ieșire mai mare.
Dacă vă place această soluție, luați în considerare și pe cele pe care le-am bazat pe aceasta: