Neue Seite und Dateinamen einfügen

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
Antworten
R.Siegel
Beiträge: 4
Registriert: 03.01.2018, 10:48

Neue Seite und Dateinamen einfügen

Beitrag von R.Siegel » 04.01.2018, 12:20

Hallo miteinander!
Dies ist mein erster Beitrag im Acronauten-Forum - sollte ich also wichtige Angaben vergessen oder durch allgemeine Unwissenheit glänzen, bitte ich darum mir dies nachzusehen... :cool:

Zu meinem Problem:
Ich habe einen großen Druckauftrag mit mehreren Tausend pdf-Dateien und einer weitverzweigten Baum-Struktur.
Zur besseren Übersicht soll beim Druck vor jedes Dokument ein Deckblatt mit dem Dateinamen eingefügt werden.

Da mein JS-Kenntnisse nur sehr dürftig sind, habe ich bisher noch keine zufriedenstellende Lösung gefunden.

Über den Aktionsassisten konnte ich folgenden Code einfügen, der mir immerhin schonmal eine neue Seite einfügt:

Code: Alles auswählen

NewPage = app.trustedFunction( function (nWidth, nHeight)
{
app.beginPriv(); // Explicitly raise privilege
app.newPage(0, 612, 792);
app.endPriv();
})
Ich habe auch ein Skript gefunden mit dem ich den Dateinamen auf die Fußzeile setzen kann:

Code: Alles auswählen

{ var fd = this.addField("xftDate", "text", p, [30,15, TotWidth-30-30,30]);
fd.value = "Datum: " + util.printd(AcDateFormat, AcDate) + " (" + FileNM +")";
fd.textSize=6; fd.readonly = true;
}
Allerdings setzt diese Funktion die Fußzeile dann auf alle Seiten und ich benötige diese nur auf dem Deckblatt.
Außerdem ist der Weg über den Aktionsassistenten sehr umständlich und langsam.
Ich benötige eine Funktion, die z.b. über Tastenkombination, automatisch vor jedem Druckvorgang oder zumindest einfachen Knopfruck ausgeführt wird.

Hat jemand von Euch eine Idee, wie ich das angehen könnte?

Vielen Dank,
Ronald

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Neue Seite und Dateinamen einfügen

Beitrag von BAlheit » 04.01.2018, 16:53

Folgendes erzeugt das Feld nur auf der ersten Seite:

Code: Alles auswählen

var fd = this.addField("xftDate", "text", 0, [30,15, TotWidth-30-30,30]);

R.Siegel
Beiträge: 4
Registriert: 03.01.2018, 10:48

Neue Seite und Dateinamen einfügen

Beitrag von R.Siegel » 05.01.2018, 11:30

Vielen Dank - das war schonmal hilfreich!

Jetzt brauche ich nur noch eine vereinfachte Ausführung bzw. Automatisierung... ;-)

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Neue Seite und Dateinamen einfügen

Beitrag von BAlheit » 05.01.2018, 12:57

Was ist an dem Aktionsassisten umständlich?

R.Siegel
Beiträge: 4
Registriert: 03.01.2018, 10:48

Neue Seite und Dateinamen einfügen

Beitrag von R.Siegel » 05.01.2018, 13:44

Für eine kleinere Anzahl von Dokumenten innerhalb weniger Unterordner, ist der Aktionsassistent (AA) sicher soweit okay.

Mein Auftrag umfasst ca. 1500 Dateien in ca. 500 Unterordnern. Diese Struktur muss auch erhalten bleiben. Ich habe bisher im AA keine Option gefunden, die die Dateien wieder an gleicher Stelle bzw. mit der gleichen Struktur abspeichert. Selbst der Zugriff auf Unterordner scheint nicht möglich zu sein.

Mein Gedanke war ja, dass es doch irgendwie möglich sein müßte eine spezifische Aktion über eine Tastenkombination zu starten oder ein Symbol auf der Werkzeugleiste dafür anzulegen. Damit könnte ich zumindest einigermaßen effizient die Aktion für jedes Dokumtent ausführen, bevor ich es an den Drucker schicke.

Noch besser wäre natürlich ein vollautomatisches Skript, dass alle Dokumente dementsprechend abarbeitet... ;-)

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Neue Seite und Dateinamen einfügen

Beitrag von BAlheit » 05.01.2018, 15:52

Mit einer Aktion kann man alle Dokumente in Ordner und Unterordnern abarbeiten und dort speichern.

R.Siegel
Beiträge: 4
Registriert: 03.01.2018, 10:48

Neue Seite und Dateinamen einfügen

Beitrag von R.Siegel » 08.01.2018, 11:13

@BAlheit
Tatsächlich! Das ist ja wiedermal verrückt...
Ich hatte das vorher schon versucht und nicht hinbekommen.
Jetzt funktioniert es auf jedenfall mit dem AA so wie ich es brauche - vielen Dank für deine Hilfe!

Falls es nochmal jemanden interessieren sollte, mein Code sieht jetzt so aus:

Code: Alles auswählen

/* Neue Seite einfügen */
this.newPage(0, 595, 842);

/* Dateinamen einfügen */
var FileNM =this.documentFileName

{ var fd = this.addField("DocName", "text", 0, [50,400,590,450]);
fd.value = FileNM;
fd.textSize=14; fd.readonly = true;
}

Antworten