Marcel _92: PDF Formular und Java Script

Hallo zusammen, ich habe eine Frage, da ich mich leider mit Java Script nicht so auskenne und in der Suche das Passende nicht gefunden habe.

Ich habe eine Textzeile in Acrobat welche ich mit folgendem Java Script belegt habe:

var datum = this.getField("datum");
var jetzt = new Date();
var tag = jetzt.getDate();
var monat = jetzt.getMonth() +1;
var jahr = jetzt.getYear() +1900;
var h = jetzt.getHours();
var m = jetzt.getMinutes();
var s = jetzt.getSeconds();

datum.value = tag+"."+monat+"."+jahr+"."+h+"."+m+"."+s;

Die Ausgabe klappt super: 21.6.2019.14.43.28

Nun zu meinen zwei Fragen:

  1. Es soll zwischen der Jahreszahl und der Stunde ein Trennzeichen eingefügt werden.
  2. Wird das Dokument gespeichert wird die Uhrzeit plus Datum gesichert. Öffne ich das Dokumtn jedoch nach der Bearbeitung erneut, wird das Datum plus die Uhrzeit geändert. Gibt es eine Funktion dass das Datum plus Uhrzeit nur beim ersten öffnen des Dokumentes bis zum ersten Speichern automatisch angepasst werden?

Ich hoffe ich konnte mich verständlich ausdrücken.

Beste Grüße Marcel

  1. Hallo,

    Ich hoffe ich konnte mich verständlich ausdrücken.

    Das ist nur tw. der Fall, daher geh ich nur auf die 1. Frage ein:
    Es ist bereits ein Trennzeichen zwischen Jahr und Stunde.

    Gruß
    Kalk

  2. Tach!

    Die Ausgabe klappt super: 21.6.2019.14.43.28

    Nun zu meinen zwei Fragen:

    1. Es soll zwischen der Jahreszahl und der Stunde ein Trennzeichen eingefügt werden.

    Da steht schon ein Punkt. Genauso kann man auch andere Zeichen dazwischensetzen.

    1. Wird das Dokument gespeichert wird die Uhrzeit plus Datum gesichert.

    Nein, dein Code, genauer gesagt new Date(), liefert das jeweils aktuelle Datum.

    Öffne ich das Dokumtn jedoch nach der Bearbeitung erneut, wird das Datum plus die Uhrzeit geändert.

    Ja, weil dann ein(e) andere(s) Datum/Uhrzeit aktuell ist.

    Gibt es eine Funktion dass das Datum plus Uhrzeit nur beim ersten öffnen des Dokumentes bis zum ersten Speichern automatisch angepasst werden?

    Dazu müsstest du entweder den Wert zum Erstellungszeitpunkt irgendwo merken, oder ihn irgendwoher beziehen können.

    Zu klären wäre dazu die Fragen. Gibt es denn den Zeitpunkt der Erstellung bereits irgendwo abfragbar? Oder alternativ, kann man denn in das Dokument (vielleicht auch anstelle des Javascript-Codes) einen Platzhalter für das aktuelle Datum/Uhrzeit einfügen, so dass Acrobat die entsprechenden Werte konstant setzt?

    dedlfix.

    1. Dazu müsstest du entweder den Wert zum Erstellungszeitpunkt irgendwo merken, oder ihn irgendwoher beziehen können.

      Nein. Man muss ein neues Dokument erstellen! Und ob man den Wert oder die Werte (Datum) über Stringverkettungen da hineinbaut oder über ein Template, ist nur eine Frage der Fertigkeiten. Mit Template ist es natürlich einfacher. MFG

      1. Tach!

        Dazu müsstest du entweder den Wert zum Erstellungszeitpunkt irgendwo merken, oder ihn irgendwoher beziehen können.

        Nein. Man muss ein neues Dokument erstellen! Und ob man den Wert oder die Werte (Datum) über Stringverkettungen da hineinbaut oder über ein Template, ist nur eine Frage der Fertigkeiten. Mit Template ist es natürlich einfacher.

        Wieso "nein"? Du hast damit einen Weg für den Teil "den Wert zum Erstellungszeitpunkt irgendwo merken" beschrieben.

        dedlfix.

  3. Lieber Marcel,

    was möchtest Du denn wirklich erreichen? Willst Du für Dich alleine eine PDF-Datei bauen, bei der das Wesentliche schon drinnen steht, und bei der nur das Datum für den Download "eingebaut" wird? Dann ist JavaScript wahrscheinlich nicht das Mittel der Wahl, denn JavaScript wird bei jedem Öffnen des Dokuments ausgeführt. Und da steht "nimm das jetzt gültige Datum".

    Wenn das Datum später fix sein soll, benötigst Du einen Mechanismus, der es bei der Erstellung des Dokuments fix hineinschreibt. Wie wenn man aus einem Office in ein PDF-Dokument "druckt", um es in eine PDF-Datei umzuwandeln.

    Wenn man jetzt wüsste, wie das ganze Szenario bei Dir aussähe, könnte man Dir vielleicht tatsächlich helfen...

    Liebe Grüße

    Felix Riesterer

  4. Die Ausgabe klappt super: 21.6.2019.14.43.28

    Na das ist doch schon was. Jetzt müssen wir uns nur noch überlegen, wo wir das einbauen was wir dann zum Speichern unter.. anbieten. Schau mal nach FileSaver.js das erzeugt einen Speichern-Dialog. Der wäre mit einem Blob zu füttern. Und als Blob käme eine PDF-Datei in Frage die man auch mit JS erzeugen kann, dafür gibt es Libraries. Da wird dann auch das Datum eingebaut.

    Für den Anfang: Erzeuge eine HTML-Datei mit dem aktuellen Datum, mach daraus einen Blob und übergib den an FileSaver. Das ist nicht schwer. Und wenn das geklappt hat, dann klappt das auch mit der PDF Datei. MFG

    PS: Noch Einfacher, erzeuge als erste Übung eine Textdatei mit eingebautem aktuellen Datum und übergibt den Blob an den FileSaver zum Speichern unter..

    1. PS: Noch Einfacher, erzeuge als erste Übung eine Textdatei mit eingebautem aktuellen Datum und übergibt den Blob an den FileSaver zum Speichern unter..

      Fertig! Und das jetzt als PDF Variante 😉

      1. Hallo pl,

        PS: Noch Einfacher, erzeuge als erste Übung eine Textdatei mit eingebautem aktuellen Datum und übergibt den Blob an den FileSaver zum Speichern unter..

        Fertig! Und das jetzt als PDF Variante 😉

        Dass du das kannst, sollte man erwarten. Wie hilft das dem OP?

        Bis demnächst
        Matthias

        --
        Pantoffeltierchen haben keine Hobbys.
        ¯\_(ツ)_/¯