Poster aufgesplittet speichern?

T

thexm

Mitglied
Thread Starter
Dabei seit
10.01.2009
Beiträge
34
Reaktionspunkte
0
Hallo zusammen,

in meinem Studium muss ich ca. wöchentlich Präsentationen halten und ich habe rausgefunden, dass es günstigste und gleichzeitig beste Möglichkeit ist, mein Poster (das ich für die Präsentation brauche) auf mehrere Din A3 Seiten zu drucken und danach zusammenzufügen.
Normalerweise würde man das über den Acrobat Reader machen, wo das Aufsplitten im Druckdialog kein Problem ist. Das Problem ist in meinem Fall allerdings, dass ich die Druckdatei quasi vollkommen fertig als mehrseitiges DinA3-PDF brauche um sie einfach am Drucker in der Uni auszudrucken. Der Acrobat Reader (auch Acrobat Pro) erlauben mir jedoch nicht, im Druckdialog als PDF zu speichern.
Die Computer in der Hochschule sind extrem langsam und unzuverlässig, die Drucker allerdings top. Ein paar Workarounds habe ich schon gefunden (PDFwriter). Dieser funktioniert bei mir jedoch nicht mehr seit ich auf 10.12.4 geupdated habe... (und davor auch nur mit viel Daumen drücken und Geduld obwohl mein Rechner nicht schwach ist (2015er MacBook Pro 15") Weiß jemand vielleicht irgendein Tool, das mir erlaubt das Aufgesplittete Poster als DinA3 PDF zu speichern ohne großen Ärger?
Das Problem kostet mich im Moment extrem viel Zeit und Nerven und ich wäre extrem Dankbar wenn jemand eine Lösung parat hätte.

Vielen Dank schonmal!
 
Wenn du dich ein wenig mit dem Terminal auskennst, kannst du auch das Tool pdfjam verwenden. Mit den Optionen --trim und --clip kannst du pdf-Seiten beschneiden. Du nimmst also deine pdf-Datei, die auf einer Seite dein Poster enthält. Dann schneidest du einmal die untere Hälfte weg und speicherst das Ergebnis als „oben.pdf“ (diese Datei enthält auf einer Seite die obere Hälfte des Posters), dann führst du den Befehl erneut aus, schneidest diesmal aber die obere Hälfte weg. Das Ergebnis speicherst du unter anderem Namen ("unten.pdf"). Danach kannst du mit pdfjam noch beide Dateien zu einer pdf-Datei zusammenführen (also eine PDf-Datei mit zwei Seiten, eine mit der oberen und eine mit der unteren Hälfte). Eine Erklärung der Optionen samt Beispiele findest du beispielsweise unter https://wiki.ubuntuusers.de/PDFjam/.
Du kannst die PDF-Seite natürlich auch in noch kleinere Teile zerlegen, wenn das gewünscht ist. Du kannst dir die Befehle auch in einem kleinen Bash-Skript ablegen. Dann braucht man nur noch das Skript auszuführen.
 
Wenn du dich ein wenig mit dem Terminal auskennst, kannst du auch das Tool pdfjam verwenden. Mit den Optionen --trim und --clip kannst du pdf-Seiten beschneiden. Du nimmst also deine pdf-Datei, die auf einer Seite dein Poster enthält. Dann schneidest du einmal die untere Hälfte weg und speicherst das Ergebnis als „oben.pdf“ (diese Datei enthält auf einer Seite die obere Hälfte des Posters), dann führst du den Befehl erneut aus, schneidest diesmal aber die obere Hälfte weg. Das Ergebnis speicherst du unter anderem Namen ("unten.pdf"). Danach kannst du mit pdfjam noch beide Dateien zu einer pdf-Datei zusammenführen (also eine PDf-Datei mit zwei Seiten, eine mit der oberen und eine mit der unteren Hälfte). Eine Erklärung der Optionen samt Beispiele findest du beispielsweise unter https://wiki.ubuntuusers.de/PDFjam/.
Du kannst die PDF-Seite natürlich auch in noch kleinere Teile zerlegen, wenn das gewünscht ist. Du kannst dir die Befehle auch in einem kleinen Bash-Skript ablegen. Dann braucht man nur noch das Skript auszuführen.

Leider bin ich recht unbewandert bzw. total wenn es um terminal befehle und deren anwendung geht. Außerdem mache ich Poster auf 15-25 Din A3 Seiten, weswegen das sehr umständlich bzw. kompliziert werden würde und sehr viel Zeit in Anspruch nehmen würde jedes mal... Kennt niemand ein Programm, dass das kann?
 
a. Es ist nicht nötig, immer komplette Beiträge zu zitieren - eigentlich muß man gar nicht zitieren, wenn man direkt antwortet und niemand dazwischenquatscht.
b. Für den von TEXnician vorgeschlagenen weg könnte man (z.B. der Tippgeber :)) auch ein kleines Skript schreiben, das das automatisiert (hat er ja selbst vorgeschlagen). Wenn deine Ausgangsposter alle die gleiche Größe haben, sollte das nicht mal so kompliziert sein (jedenfalls für einen Experten wie T.). Dann wäre das weder umständlich noch zeitaufwändig.
 
Hier mal ein kleines Skript, das automatisiert eine pdf-Datei mit einer Seite in Teilseiten unterteilt und die Teilseiten in einer neuen pdf-Datei speichert:

Code:
#!/bin/bash

anz_hoehe=$1
anz_breite=$2
datei=$3
datei_ohne_suffix=${datei%.*}
mypid=$(echo "$$")

dimstring=`pdfinfo $datei | grep "Page size:"`
read breite hoehe <<<${dimstring//[^0-9]/ }

breite_sub=`echo "$breite / $anz_breite" | bc -l`
hoehe_sub=`echo "$hoehe / $anz_hoehe" | bc -l`

for i in `seq 1 $anz_hoehe`;
do
    for j in `seq 1 $anz_breite`;
    do
        trim_left=`echo "($j - 1) * $breite_sub" | bc -l`
        trim_up=`echo "($i - 1) * $hoehe_sub" | bc -l`
        trim_right=`echo "($anz_breite - $j) * $breite_sub" | bc -l`
        trim_down=`echo "($anz_hoehe - $i) * $hoehe_sub" | bc -l`

        pdfjam --trim "$trim_left $trim_up $trim_right $trim_down" --clip true $datei --outfile /tmp/$mypid.$i.$j.pdf
    done
done

pdfjam /tmp/$mypid.*.pdf --outfile ${datei_ohne_suffix}_splitted.pdf

Du brauchst dafür pdfjam und pdfinfo. Letzteres ist Teil von poppler. pdfjam und poppler kann man beispielsweise über homebrew installieren.
Wie funktioniert das ganze nun? Ganz einfach, du speicherst den Text als reine Textdatei, die du beispielsweise skript.sh nennst. Als nächstes machen wir das Skript mit "chmod +x skript.sh" im Terminal ausführbar. Das Skript und die zu bearbeitende pdf Datei (mit Namen test.pdf) legst du am besten in einen leeren Ordner an. Und wechselst dann im Terminal mit "cd" in genau dieses Verzeichnis. Das ist sinnvoll, da das Skript temporäre Dateien anlegt und am Ende löscht. So kann man verhindern, dass versehentlich andere Dateien, deren Namen dem Löschpattern entsprechen, gelöscht werden. Das Skript wird dann wie folgt aufgerufen:

Code:
./skript.sh n m test.pdf

test.pdf ist der Name der Datei mit der zu teilenden Seite. n und m sind positive ganze Zahl, die die Anzahl an Teile in Höhe und Breite (Höhe=n, Breite=m) angibt, in die die Seite zerlegt werden soll. "./skript.sh 2 3 test.pdf" erzeugt also insgesamt 6 Teilseiten, wobei entlang der Höhe in 2 und entlang der Breite in 3 Teile geteilt wird. Das Skript berechnet zunächst einige Größen und erzeugt dann aus der Seite Teilseiten, die als tmp.i.j.pdf im aktuellen Verzeichnis abgelegt werden (wobei i und j positive ganze Zahlen sind). Am Ende werden dann alle Teilseiten in eine einzige pdf-Datei mit Namen ergebnis.pdf zusammengefasst und alle Dateien mit dem Namen tmp.*.pdf gelöscht. Wichtig ist also, dass das aktuelle Verzeichnis keine Dateien enthält, die ergebnis.pdf heißen oder nach dem Pattern tmp.*.pdf benannt sind, da diese überschrieben bzw. gelöscht werden. Daher auch mein gut gemeinter Rat oben das ganze in einem ansonsten leeren Verzeichnis zu machen und vorher in dieses Verzeichnis zu wechseln.

PS: Man muss sich bei der Zerlegung natürlich gut überlegen wie man das Poster teilen muss, damit aus einer Seite mit Din-Seitenverhältnis (also 1:sqrt(2)) am Ende auch wieder Teilseiten entstehen, die ein Din-Seitenverhältnis haben. Diese Aufgabe übernimmt das Skript nicht.

Edit: Fehler beseitigt. Speichert keine Zwischenergebnisse mehr in Benutzerverzeichnissen. Name der Ausgabedatei orientiert sich an Namen der Eingabedatei.
 
Zuletzt bearbeitet:
korrekturvorschläge:
1. in dimstring "${datei}" statt test.pdf
2. tmpfiles schreiben nach "/tmp/${mypid}.*..." mit prozess-id mypid=$(echo "$$")
3. statt ergebnis.pdf "${datei}-splitted.pdf"
 
korrekturvorschläge:



Es gibt auf Macupdate auch diverse Alternativen zum Posterazor die ebenfalls ein

GUI – Graphical User Interface


für Nichtcoder mitbringen – wenn man auf der verlinkten Macupdate-Webseite ein mal wenig nach unten scrollen würde: :p


simulacrum.jpg
 
Zurück
Oben Unten