Hallo zusammen,
ich habe vor einige Wasserzeichen in vorhandene PDF Dokumente zu machen, da das
Neben Logo, Anschrift, Pfad, Dateiname, Datum und Seitenzahl, sowie © Zeichen je nach Dokument an mindestens 5 Stellen geschieht, wäre das jedes PDF Dokument öffnen und 5x das Passende Wasserzeichen einfügen, was doch etwas Zeit in Anspruch nimmt bei sagen wir mal 1000 oder mehr Dokumenten.
Daher kam ich schnell auf JavaScript, dieses bietet meine PDF XChange Editor Pro intern an.
Ich habe mir also schnell ein wenig Code zusammen gebastelt der auch für die einzelnen Bereiche gut funktioniert. Bei 2 Bereichen gibt es aber noch Probleme.
1. Die Seitenzahl, diese lautet immer Seite 0 oder 1 wie auch immer ich "this.pageNum" nachträglich maniupuliere
Allerdings erscheint nun überall das aktuelle Datum und unten Drunter steht dann z.B. Seite 1 von 16 aber auf jeder Seite, wünschenswert aber wäre natürlich auf jeder Seite die passende Seite auch mit Schleifen oder ähnlichem kam ich bisher nicht zum Erfolg. Es wirkt fast so, als ob der Code nur 1x global für das gesamte Dokument ausgeführt wird und nicht für jede Seite manuell überprüft wird. Hat einer noch eine Idee wo ich schauen könnte.
Das entsprechende Referenzhandbuch dazu hab ich mir schon angesehen: https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf allerdings konnte ich da nichts in der Richtung finden.
Bei Logos habe ich das Problem, das Augenscheinlich alles funktioniert jedenfalls gibt die interne JavaScript Console undefined zurück, nur das Logo erscheint nicht im Endeffekt arbeitet es ja sehr ähnlich, nur das einige Parameter getauscht werden müssen.
und der Befehl
this.addWatermarkFromText({...
entsprechend durch
this.addWatermarkFromFile({...
ersetzt werden muss, auch beim Pfad hab ich an vorangestellte /vor dem Laufwerksbuchstaben gedacht, aber auch das führte nicht zur Lösung.
Falls noch jemand Ideen hat würde ich mir freunden davon zu hören und bedanke mich im Voraus.
Mfg Senoyches
ich habe vor einige Wasserzeichen in vorhandene PDF Dokumente zu machen, da das
Neben Logo, Anschrift, Pfad, Dateiname, Datum und Seitenzahl, sowie © Zeichen je nach Dokument an mindestens 5 Stellen geschieht, wäre das jedes PDF Dokument öffnen und 5x das Passende Wasserzeichen einfügen, was doch etwas Zeit in Anspruch nimmt bei sagen wir mal 1000 oder mehr Dokumenten.
Daher kam ich schnell auf JavaScript, dieses bietet meine PDF XChange Editor Pro intern an.
Ich habe mir also schnell ein wenig Code zusammen gebastelt der auch für die einzelnen Bereiche gut funktioniert. Bei 2 Bereichen gibt es aber noch Probleme.
1. Die Seitenzahl, diese lautet immer Seite 0 oder 1 wie auch immer ich "this.pageNum" nachträglich maniupuliere
Javascript:
var Horiz = 21.6; //Seitlicher Abstand vom Blattrand
var Vert = 6; // von Blattrand (von unten/oben)
//var Seite = util.printf("%,301d", (this.pageNum+1));
//Seite = ("%,301d", Seite)
var Datum = util.printd("dd.mm.yyyy", new Date);
var Seite = this.pageNum + 1;
var Seiten = this.numPages;
var Fusszeilerechts = Datum + "\nSeite " + Seite + " von " + Seiten
this.addWatermarkFromText({
cText: Fusszeilerechts,
cFont: "Segoe-UI-Light",
nFontSize:8,
nHorizAlign:app.constants.align.right,
nVertAlign:app.constants.align.bottom,
nHorizValue: Horiz * 72 / 25.4, //Seitenabstand l/r
nVertAlign:app.constants.align.bottom,
nVertValue: Vert * 72 / 25.4, //Seitenabstand o/u
});
Allerdings erscheint nun überall das aktuelle Datum und unten Drunter steht dann z.B. Seite 1 von 16 aber auf jeder Seite, wünschenswert aber wäre natürlich auf jeder Seite die passende Seite auch mit Schleifen oder ähnlichem kam ich bisher nicht zum Erfolg. Es wirkt fast so, als ob der Code nur 1x global für das gesamte Dokument ausgeführt wird und nicht für jede Seite manuell überprüft wird. Hat einer noch eine Idee wo ich schauen könnte.
Das entsprechende Referenzhandbuch dazu hab ich mir schon angesehen: https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf allerdings konnte ich da nichts in der Richtung finden.
Bei Logos habe ich das Problem, das Augenscheinlich alles funktioniert jedenfalls gibt die interne JavaScript Console undefined zurück, nur das Logo erscheint nicht im Endeffekt arbeitet es ja sehr ähnlich, nur das einige Parameter getauscht werden müssen.
und der Befehl
this.addWatermarkFromText({...
entsprechend durch
this.addWatermarkFromFile({...
ersetzt werden muss, auch beim Pfad hab ich an vorangestellte /vor dem Laufwerksbuchstaben gedacht, aber auch das führte nicht zur Lösung.
Falls noch jemand Ideen hat würde ich mir freunden davon zu hören und bedanke mich im Voraus.
Mfg Senoyches