PDF: Zwischen jede Seite eine leere Seite einfügen

fabiopigi

fabiopigi

Aktives Mitglied
Thread Starter
Dabei seit
03.06.2005
Beiträge
2.714
Reaktionspunkte
253
Hi

Für einige Skripte an der Uni will ich zusätzlich noch eine leere Seite ausdrucken für Notizen.

Also ich habe ein Skript mit sagen wir 6 A4 Seiten.
Dann habe ich eine Vorlage, ein PDF mit feinen Linien à 1 A4 Seite.

Ich hätte gerne ein PDF als Ausgabe welches so aufgebaut ist:
s.1 Skript Seite 1
s.2 Linien-PDF
s.3 Skript Seite 2
s.4 Linien-PDF
s.5 Skript Seite 3
s.6 Linien-PDF
...

Wenn ich so was hätte, könnte ich eben beim Drucken einfach auswählen "2-Seiten pro Blatt" und Doppelseitigdruck.

Mit dem Adobe Acrobat kann ich es machen, aber in ziemlich vielen Schritten.
Skript öffnen, Dokument Teilen (je Seite 1 PDF), die Vorlage n-Mal kopieren und so umbenennen, dass der Finder sie zwischen die PDF Seiten sortiert, dann mittels Acrobat wieder ein einzelnes PDF erstellen.

Leider lässt sich der Acrobat nicht mit Automator befingern.

Kennt ihr sonst noch irgendwelche Möglichkeiten?
 
So, habe es nun geschafft.
Hab erst vorhin entdeckt, dass man im Adobe Acrobat auch JavaScript ausführen kann.

Habe mir nun ein Script geschrieben, welches eine Datei (linien.pdf) nimmt, und diese an jede zweite Seite anfügt.

Wenn man danach beim Drucken "2-Seiten pro Blatt" wählt, hat man schön ein Skript wo man auf der linken Hälfte das PDF hat und auf der rechten Hälfte einen linierten Bereich zum Notizen machen.

Das Ergebnis schaut etwa so aus:
http://idisk.me.com/fabiopigi/Public/Pictures/Skitch/skript-20110929-233325.jpg

Das Skript ist folgendes:
Code:
app.addMenuItem({
        cExec: "trustedmakeskript();",
        cParent: "Document",
        cName: "Skript Heft"
});


trustedmakeskript = app.trustedFunction(function(){
    app.beginPriv();
    
    
    
    
        var origScript = this;
        var newScript = origScript.extractPages();
        //var newScript = origScript;
        origScript.closeDoc();
        
        var nSeiten = newScript.numPages;
        for(var i = 0;i<nSeiten;i++){
            newScript.insertPages({nPage:(i*2), cPath: "/Volumes/Auslagerung HD/HSR/Skript-PDF/linien.pdf"});
        }
        
        return true;
    app.endPriv();
    
});

Diese Datei als "MakeSkript.js" im Ordner ~/Library/Application Support/Adobe/Acrobat/9.0_x86/JavaScripts speichern.
Natürlich noch den Pfad zur PDF mit den Linien anpassen.

Diese könnt ihr selber machen, wenn ihr zB lieber Häuschen wollt, oder noch euren Namen drauf haben wollt, oder einfach das von mir verwenden:
https://www.dropbox.com/s/7yocd2nftx7nm3n/linien.pdf

Um das ganze anzuwenden öffnet ihr ein Skript, wählt unter "Dokumente" den Menu-Eintrag "Skript Heft" und wartet kurze Zeit.

Danach habt ihr ein PDF welches ihr ausdrucken könnt.

Ideal für Vorlesungen, da man keine losen Blätter mehr hat und das geschriebene direkt neben dem relevanten vom Skript ist.

Wenn eine halbe Seite zu wenig ist, könnte man auch nur einseitig Drucken und bei einem zweiten Durchgang die Rückseite nur mit Linien Drucken.
Zb mit diesem Dokument https://www.dropbox.com/s/fwq8etwpn0fgqwb/linien-back.pdf
 
  • Gefällt mir
Reaktionen: Holodan und in2itiv
Sollte jemand nicht das teure Adobe Acrobat verwenden, hätte ich noch eine günstige Alternative, die pdftk und ein einfaches Terminal-Skript verwendet.

Hier ist das Skript:

Code:
#!/bin/bash

NUM=`pdftk $1 dump_data | sed -e '/NumberOfPages/!d;s/NumberOfPages: //'`

cp leer.pdf leer_copy.pdf

while [ $NUM -gt 1 ]

do

	pdftk A=leer_copy.pdf B=leer.pdf cat A B output leer_copy_int.pdf

	mv leer_copy_int.pdf leer_copy.pdf

	NUM=$(expr $NUM - 1)

done

pdftk A=$1 B=leer_copy.pdf shuffle A B output ergebnis.pdf

rm leer_copy.pdf

Das Skript erwartet, dass es im Verzeichnis mit dem zu manipulierenden PDF ausgeführt wird und dass in dem Verzeichnis eine PDF-Datei Namens leer.pdf mit einer leeren Seite liegt. Außerdem wird beim Ausführen des Skripts in dem Verzeichnis die Datei leer_copy.pdf und leer_copy_int.pdf erzeugt (beide werden am Ende gelöscht). Das Ergebnis wird als ergebnis.pdf gespeichert. Es sollte also darauf geachtet werden, dass in dem Verzeichnis vor dem Ausführen des Skripts keine der drei Dateien liegen.
 
  • Gefällt mir
Reaktionen: fabiopigi
Zurück
Oben Unten