Saturday, August 20, 2011

Viele Digitalbilder in einer handlichen PDF-Datei unterbringen

Aus einer Sammlung von 108 Digitalbildern mit einer Aufloesung von 2816 x 2112 Punkten und einer durchschnittlichen Groesse von 2.4MB soll eine handliche PDF-Datei mit Seiten im A5-Querformat erstellt werden. Jedes Bild sei dabei auf einer eigenen Seite mit einem Seitenrand von 1 cm untergebracht.

Das Konvertierungswerkzeug meiner Wahl ist ImageMagick-convert (auf einer Linux-Kiste).

1 Zoll entspricht 2.54 Zentimeter.
Ich verwende hier die Standardaufloesung von 72 Punkten pro Zoll.

Die Breite des Randes laesst sich wie folgt ermitteln:
1 cm * 72 pt/in / 2.54 cm/in = 28 pt

Die Ermittlung der Parameter fuer die Seitenlaengen ist entweder einfach, wenn man hier nachschaut:
oder etwas komplizierter, wenn man es selber berechnet:

Das Format A0 hat einen Flaecheninhalt vom 1qm und ein Seitenverhaeltnis von lang : kurz = wurzel(2) : 1. Zum naechst kleineren Format halbiert sich der Flaecheninhalt (die Laenge der kurzen Seite ist dabei gleich der Laenge der langen Seite des naechst kleineren Formats).

1 qm = l * k = (wurzel(2) * k) * k = wurzel(2) * k^2
k^2 = 1 qm / wurzel(2)
k = wurzel(1 qm / wurzel(2)) = wurzel(1 qm / 2^0.5)
k = wurzel(2^-0.5 qm) = 2^(-0.5 * 0.5) m
k = 2^(-0.25) m = 841 mm
l = wurzel(2) * k = 2^0.5 * 2^(-0.25) m = 2^(0.5+(-0.25)) m
l = 2^0.25 m = 1189 mm

Um den Flaecheninhalt des Formates An zu erhalten halbiert man 1 qm n-mal (1, 1/2, 1/4, 1/8, 1/16, ...).
F = 1 qm * 2^(-n)

Fuer k und l ergeben sich nun folgende Berechnungsvorschriften:
kn = 2^(-0.25) * wurzel(2^(-n)) m = 2^(-0.25) * 2^(0.5*(-n)) m
kn = 2^(0.5*(-n) - 0.25) m
ln = 2^(0.25) * wurzel(2^(-n)) m = 2^(0.25) * 2^(0.5*(-n)) m
ln = 2^(0.5*(-n) + 0.25) m

k5 = 2^(0.5*(-5) - 0.25) m = 2^(-2.75) m = 149 mm
k5 = 2^(-2.75) m * 72 pt/in / 0.0254 m/in = 421 pt
l5 = 2^(0.5*(-5) + 0.25) m = 2^(-2.25) m = 210 mm
l5 = 2^(-2.25) m * 72 pt/in / 0.0254 m/in = 596 pt

Abzueglich des Randes bleiben fuer das Bild also noch 568 x 393 Punkte. Damit beim Zoomen am Bildschirm noch ein paar Reserven da sind, werden diese Werte noch auf 1136 x 786 verdoppelt.

mkdir sm
find -maxdepth 1 -type f -name '*.JPG' -print -exec convert {} -scale 1136x786 sm/{} \;
convert -page 596x421 -density 72 -border 28 -bordercolor white sm/* Zusammenfassung.pdf
rm -r sm

Die resultierende Datei ist ca. 25 MB gross (10% der Bildersammlung).

0 comments:

Post a Comment