1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

PDFs: 2 Seiten pro Blatt und dann kombinieren

Dieses Thema im Forum "AppleScript" wurde erstellt von turby, 16.05.08.

  1. turby

    turby Jonagold

    Dabei seit:
    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?
     
  2. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    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.
     
    #2 hubionmac, 17.05.08
    Zuletzt bearbeitet: 17.05.08
  3. turby

    turby Jonagold

    Dabei seit:
    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?
     
  4. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Freut mich, wenn es Dir soviel freude bereitet =)



    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 =)
     
  5. turby

    turby Jonagold

    Dabei seit:
    12.09.07
    Beiträge:
    19
    :-D Jawoll!

    Ich danke Dir
     
    #5 turby, 20.05.08
    Zuletzt bearbeitet: 20.05.08

Diese Seite empfehlen