Gegeven: een dikke 400 pdf-files van telkens een bladzijde of vijftig. Die ik graag zou willen lezen op mijn cyberPad in mijn comic-lezer, wegens dat dat eigenlijk handiger is dan een pdf-lezer.
Er zijn voor al die dingen duizend manieren om het te doen, maar dit is hoe ik het nu aan het doen ben:
Eén:
find . -iname '*.pdf' -print -exec sh -c 'mkdir "${0%.pdf}"; mv "$0" "${0%.pdf}"' {} \;
Vind alle pdf-en, maak een folder aan met de naam van de pdf minus “.pdf”, en verplaats die pdf telkens naar die folder.
Twee:
find . -iname '*.pdf' -print -exec sh -c 'convert -density 300 -resize 50% "$0" "${0%.pdf}.jpg"; rm "$0"' {} \;
Vind alle pdf-en, converteer die naar jpg met Imagemagick (eerst wat groter zetten met die hogere density en dan de helft verkleinen, want anders zag het er niet zo proper uit), en verwijder de pdf.
Drie:
find . -type d -mindepth 1 -print -exec sh -c 'zip -r -j "$0.cbz" "$0"' {} \;
Vind alle directories en zip daar de inhoud van in een cbz, tralala.
Ik wou dat ik kon zeggen dat het op een ik en een gij gedaan was, maar helaas: die conversie naar PDF, dat duurt echt wel een eeuw.
Reacties
7 reacties op “Een gemak als het doet wat het moet doen”
Verplaats? (=Verwijder)?
Awel nee: move dus. 🙂
Is het niet Ghostscript dat uw pdf-en rendert?
Yup, maar achter de schermen van ImageMagick.
Bon, ik denk dat daar uw vertraging optreedt. Voor elke pdf file wordt er nu een ghostscript proces gestart, als het al niet per pagina uit die pdf is.
Neenee: het is één Ghostscriptproces per pdf, maar dat kan wel tien minuten duren per keer.
Ik heb gisteren precies het tegenovergestelde gedaan. Via het program Fastfilm heb ik van familysearch.org het doop/huwelijk/sterf boek van de gemeente Wittem gedownload. Dit programma maakt er jpg’s van. In dit geval waren het 360. Ik wilde hier een enkel pdf doc van maken. Na enig zoeken kwam ik bij imagemagick uit.
convert *.jpg -adjoin wittem.pdf maakte er een mooi docu van. Alleen wordt dit veel te groot. De jpg’s zijn per stuk 2.5 mb. Heb nu even gekeken of ik als batch alle jpg’s kan verkleinen en ik denk dat ik het antwoord gevonden heb, je kunt gewoon aangeven hoeveel pixels je jpg moet krijgen (convert example.png -resize 200×100 example.png) of aangeven wat het compressieniveau moet zijn (convert howtogeek.png -quality 95 howtogeek.jpg)