• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

PDFs: 2 Seiten pro Blatt und dann kombinieren

turby

Jonagold
Registriert
12.09.07
Beiträge
19
Hallo zusammen,
da ich im Moment regelmäßig einige Übungsblätter + Lösungen für die Uni ausdrucken möchte, würde ich gerne folgenden Arbeitsablauf automatisieren:
Die Dateien liegen allesamt als PDF vor.
1) ausgewählte Dateien mit 2 Seiten pro Blatt neu abspeichern (im Prinzip "als PDF sichern" und dann bei Layout 2 Seiten pro Blatt)
2) entstandene Dateien in ein einziges PDF zusammenfügen
3) dieses PDF in Postscript umwandeln

Die dritte Aktion muss nicht unbedingt rein, das könnte ich notfalls auch von Hand machen. Die ersten beiden Dinge wären aber schon wichtig. 2) kann man ja ganz einfach per Automator machen (PDF kombinieren), aber bei 1) hab ich keinen Dunst wie ich das realisieren soll.
Das Problem ist, dass die Vorschau kaum skriptfähig ist, aus ihr kann ich nur Bilddateien drucken und keinerlei Druckoptionen ändern (zumindest nicht per Automator). Auch aus anderen PDF-Betrachtern heraus kann man scheinbar drucken, aber nicht in PDF sichern, erst recht nicht mit irgendwelchen Optionen. Die Suche gestaltet sich hier auch sehr schwierig. Das einzige was ich hin und wieder finde sind Ansätze per GUI-Scripting, aber da könnte ich mich aucn gleich an ein Shell-Script mit pdfnup setzen (worauf im Moment auch alles hinausläuft).
Ich bräuchte eigentlich nur eine Applikation, die ich per Automator oder Applescript so steuern kann dass sie in einem PDF 2 Seiten auf eine packt. Welche das ist, ist mir egal da die Dateien ja schon vorliegen und sie nur bearbeitet werden müssen.

Hat da jemand eine Idee?
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Ich hätte da eine Lösung die über ein paar Terminal-Aufrufe funktioniert.
Zunächst bräuchtest Du aber xpdf, welches Du hier als Mac-Version laden könntest.
Und psnup... das habe ich über ein latex-Installation bekommen.

Aber ich habe hier mal etwas nettes geschrieben.
Ein Installer Script, das die notwendigen Dateien installiert und 2 Skripte.
Einfach eine oder mehrere PDF-Dateien auf eines der Skripte ziehen und es wird eine Doppel-Seitige Version im selben Ordner abgespeichert (prefix: _double_).

So funktioniert es auf dem manuellen Weg:

----
Sagen wir mal wir wollen die Datei bla.pdf auf dem Schreibtisch so konvertieren, wie Du das möchtest.
dann gibst Du folgendes im Terminal ein:
Code:
pdftops ~/Desktop/bla.pdf - | psnup -2 | cat>~/Desktop/bla.ps
pdftops ist ein Bestandteil von xpdf und konvertiert die PDF-Datei in eine PostScript-Datei (und bindet die Schriften mit ein, was GhostScript alleine wohl nicht zustande bringt).
psnup -2 ist für das doppelseitige Page-Layout verantwortlich
und das alles wird dann in eine neue PostScript-Datei geschrieben.

man könnte statt des letzten Kommandos auch
Code:
pstopdf -i -o _double_bla.pdf
eingeben, dann wird statt der PostScript-Datei ein PDF erzeugt.
 
Zuletzt bearbeitet:

turby

Jonagold
Registriert
12.09.07
Beiträge
19
Wow, vieeeeeeeelen Dank! Mit so ner ausführlichen Antwort (und auch noch fertigen Skripten...) hätt ich gar nicht gerechnet. Vielen Dank für Deine Mühe! :)

pdftops und psnup kenn ich, mit denen hab ich das bisher immer gemacht (per ssh über den uniserver). Habs aber nicht geschafft die auf meinen Rechner rüberzukopieren, und xpdf wollte ich schon mehrmals über fink installieren aber da war fink mit meinem X11 irgendwie nicht zufrieden.
Da ist die Mac-Version jetzt natürlich extrem hilfreich :)

Aber selbst wenn das vorher schon hingehauen hätte, wäre ich wohl an den ganzen Pipes im Shell-Befehl gescheitert, und mehrere Dateien auf einmal umzuwandeln hätte ich wohl auch nicht gebacken gekriegt.
Deshalb nochmal vieeeeeeelen Dank für die Skripte, die erleichtern mir die Sache echt um einiges (und funktionieren auch wunderbar) :)

Der manuelle Befehl funktioniert bei mir leider nicht, weil er pdftops nicht findet. Scheinbar sucht er da am falschen Ort (die Dateien sind beide vorhanden in /usr/local/bin/ ). Aber ist halb so wild, ich werd das dann allemal lieber über die Skripte machen :)
Zwei Fragen hätt ich aber noch zu dem Befehl, nur so interessehalber damit ich ihn nachvollziehen kann: Warum hast Du denn hinter "pdftops <PFAD>" noch nen Strich gesetzt? Und woher kommt die Schreibweise "| cat>", sind das nicht alles Kommandos zum weiterleiten? Hätten da nicht ein oder zwei gereicht?
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Freut mich, wenn es Dir soviel freude bereitet =)


Zwei Fragen hätt ich aber noch zu dem Befehl, nur so interessehalber damit ich ihn nachvollziehen kann: Warum hast Du denn hinter "pdftops <PFAD>" noch nen Strich gesetzt? Und woher kommt die Schreibweise "| cat>", sind das nicht alles Kommandos zum weiterleiten? Hätten da nicht ein oder zwei gereicht?


also das - pdftops gibt das Ziel an. In dem Fall keine neue Datei, sondern Standard-Output, damit ich es in der Pipe direkt an den nächsten Befehl weitergeben kann.
Mit cat>"<DateiPfad>" schreibt er dann den Output aus der Pipe in eine Datei
echo "Apple Rulez" | cat > /bla.txt
schreibt zum Beispiel Apple Rulez in eine neue Datei. Wenn es die schon geben sollte, wird diese überschrieben
echo 'and MS sucks!' | cat>> /bla.txt
fügt dann etwas ans Ende dieser Datei hinzu
Code:
echo "Apple Rulez" | cat > /bla.txt;echo 'and MS sucks!' | cat>> /bla.txt
im Terminal eingegeben erzeugt Dir also eine Datei bla.txt in der DIE Perle der Weisheit geschrieben steht =)
 

turby

Jonagold
Registriert
12.09.07
Beiträge
19
:-D Jawoll!

Ich danke Dir
 
Zuletzt bearbeitet: