PDF-ből JPG thumbnail készítése

Üdv

Készítettem egy scriptet, ami a mappában lévő összes pdf kiterjesztésű állomány első oldalából csinál egy thumbnailnek használható jpg file-t

Kellemes használatot

Íme a kód:

## a mappában lévő pdf fileok átalakítása, átméretezése <150x100-as jpg képekké
## jó thumbnailek gyártására
## a pdf-ek első oldaláról készít egy jpg fájlt. Annak oldalarányai megmaradnak, a maximális hosszúsága és magassága pedig 150x100 pixel lesz
for i in *.pdf;do
filename=$(basename $i);
extension=${filename##*.};
filename=${filename%.*};
convert -resize 150x100 $i[0] $filename.jpg;
done

Hozzászólások

A magam részéről inkább a 256 színű png-t pereferálom a 16millió színű jpg helyett. Egy pdf-ben többnyire nem fotók vannak, ezért szvsz felesleges a 16 milló színárnyalat. Akár tizedére is lecsökkenthető így a thumbnail mérete. Több tízezer pdf-nél ez már tetemes megtakarítást eredményez.
Sőt, ha csak fekete szöveget tartalmaz a pdf, akkor az 1 bites, kétszínű png is egy jó választás lehet.

Én ghostscriptel hozom létre az első 2 oldalról az ilyen bélyegképeket (bár nálam inkább preview funkciója van):

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png256 -r90 -dFirstPage=1 -dLastPage=2 -dTextAlphaBits=4 \
-dGraphicsAlphaBits=4 -dMaxStripSize=8192 -sOutputFile="out_%d.png" ${SOURCE} >/dev/null 2>&1

A gyakorlatban valami ilyesmi lesz belőle:
http://elektrotanya.com/sharp_lc-13b4u-s-b_sm.pdf/download.html

Én ennek az egésznek azért örülök, mert ezt ringyóz alatt nem tudtam volna így megcsinálni (mármint ilyen szabadságot mit a bash nem kapok windoz alatt). Nemrég óta használok linuxot (munkára is) és tetszik. Nem bántam meg hogy váltottam.

Az ötlet jó, a 256 színnel, de az én esetemben csak 20-30 pdf-ről van szó.
Amúgy lehet hogy átírom majd.

Üdv

Na jó, de ezt keresni kell, a linuxon meg "alapban" adott.
Ha nem lett volna ennyire kézenfekvő, eszembe sem jutott volna hogy scriptet készítsek erre a feladatra, inkább olyan programot kerestem volna amiben van ilyen funkció = órákig tartó keresés -> warez -> vírusos warezoldalak -> hajtépés.
Itt meg internetes keresés -> jé ezt meg lehet scriptel is csinálni -> script megírása -> örül, és még talán másnak is hasznos lehet amit írtam.

Azért van különbség :)

Erről a powershell-ről meg nem is hallottam eddig (amíg windowsos voltam :) , csak most hogy linuxos vagyok), de most már nem is fogom használni...

Azért jó tudni hogy van rá lehetőség windows alatt is.

nagyon elfogult vagy :)

megemelem a kalapom a windows minden előnye előtt, de csak a shell-t ne akarjuk összehasonlítani please mindenki. nekem a win + shell egyenlő a hajtépéssel. persze meg lehet mindent oldani, de itt kb. szerintem akkora a szakadék, hogy még gates-nek sincs annyi pénze sóderra hogy feltöltsék..

a VB viszont nagyon kényelmes imho.

neked meg egy linux telepítő cd beszerzése?
hát nem tudom letölteni egyszerűbb winre az imagemagick pár megáját mint egy sokszázmegás disztrót

ps: nem tudom érzed-e a logikát (vagy annak hiányát) röviden: az egyetlen összehasonlítási alapod hogy kedvenc disztród éppen tartalmazza az általad gyakran használt eszközöket pár klikkelést megspórolandó

nem azt írtad a ciklussal nem lesz baj?
de tessék, miután kitömörítetted az imagemagickot és path-ba betetted:

for %i in (*.pdf) do convert -resize 10x10 %i %~ni.jpg

("for /?"-be ha beleolvasol lehet látni ilyen basename, filename meg még vagy 10 trükköt amit jelen esetben a "~n" tesz )

Zúzzátok már le, szegényt!
Mint azt írta, nemrég váltott linuxra. Én csak örülnék a helyetekben, s örülnék akkor is, ha én írhattam volna ilyet!
Csak így tovább, a kezdeti lelkesedést nehogy elveszítsed pár MS bérenc miatt :DD

(az MS kagylós barátok meg írják meg a hypersuperultrapowershell scriptet, s tessék betenni ide!)

Én csak azt mondom hogy amíg windowsom volt addig teljesen másképp gondolkodtam. Kerestem volna egy warezelt programot és azzal oldottam volna meg. A scriptírás fel sem merült volna számomra mint megoldás. És azt hiszem hogy ezzel nagyon sokan így vannak. Tehát itt gondolkodásbeli különbségről beszélek, igazából nem arról hogy van-e bash vagy nincs. De ez a téma már kezd nagyon off lenni.

Mindenesetre örülök hogy ezt a tudást megszereztem és hogy itt megoszthatom Veletek. Annak meg még jobban örülnék ha valaki még vagy ötletet merítene, vagy használná is a scriptemet (mondjuk egy másik "kezdő"), vagy szintén felismerné hogy így is lehet akár windowson, akár más rendszeren.

Béke :)

Én amit a bash-ban iszonyatosan sokat használok, az az execdir. Ez olyan mint az exec csak az adott talatot abbol a konyvtarbol hasznalja amelyikben megtalalta. Példa:
find ./ -iname '*.pdf' -execdir convert -resize 150x100 {} {}.jpg \;
Ez filenev.pdf.jpg-ket csinalna, ezt meg lehetne akadalyozni vagy utolag szurni, csak nem akartam tulbonyolitani.

Nagyon könnyű csak bonyolultan néz ki :)
Egy kaptafára készülnek, minden rar kicsomagolása az adott könyvtárban (és alkönyvtáraiban):
find ./ -iname '*.rar' -execdir unrar {} \;
Egyszerű, itt a {} a találat a \; pedig ne zavarjon szimplan lezarja a parancsot. A find meg teljesen alap.

amugy most mondjam azt, hogy macen ez is kb. 2 kattintas az Automator nevu programban? :D
(az ilyen GUI-s scriptelo dolog, nem kell ilyen formedvenyeket irnod, csak kivalasztod, hogy pl. finder program select files - bedobot a mappat, ennek a kimenete legyen a preview program - resize image bemenete. ket kattintas a grafikus feluleten, mindossze annyit kell beirnod, hogy mekkorara konvertalja le. ja, meg be kell pipalni,h ogy az ereetieket megtartsa-e, vagy nem.)
:)