Hallo zusammen,
ich habe ein Formular erstellt, in welchem sich u. a. ein Feld immer das aktuelle Datum zieht ("Benutzerdef. Berechnungsskript"). Gibt es eine Möglichkeit, den Datumsinhalt dieses Feldes beim Öffnen oder Schließen des Dokuments in normalen statischen Text umzuwandeln?
Problem: Das Dokument wird nach dem öffnen, dem Aktualisieren des Datums und schließen von einer anderen Software eingelesen. Diese erkennt jedoch leider nur statischen Text, nicht aber den Inhalt aus Formularfeldern. ☹
Danke vorab.
Viele Grüße
Johannes
Dynamische Formularinhalte in statischen Text umwandeln
Re: Dynamische Formularinhalte in statischen Text umwandeln
Hi Johannes,
wird der Text auch nicht erkannt, wenn das Formularfeld schreibgeschützt ist? Wenn du es also auf "readonly" setzt. Vielleicht mal ausprobieren.
Meines Wissens nach gibt es über Acrobat keine direkte Möglichkeit einzelne Formularfelder zu "flatten".
Mit JavaScript schon, per "flattenPages". Über den Parameter "nNonPrint" ließen sich Felder davon ausnehmen. Aber die Sache ist, dass alles was geglättet wurde nicht wieder umgewandelt werden kann. Einmal geglättet ist es quasi eingebrannt. Ein weiteres aktualisieren des Feldes ist dann, weil nicht mehr vorhanden, logischerweise nicht mehr möglich.
wird der Text auch nicht erkannt, wenn das Formularfeld schreibgeschützt ist? Wenn du es also auf "readonly" setzt. Vielleicht mal ausprobieren.
Meines Wissens nach gibt es über Acrobat keine direkte Möglichkeit einzelne Formularfelder zu "flatten".
Mit JavaScript schon, per "flattenPages". Über den Parameter "nNonPrint" ließen sich Felder davon ausnehmen. Aber die Sache ist, dass alles was geglättet wurde nicht wieder umgewandelt werden kann. Einmal geglättet ist es quasi eingebrannt. Ein weiteres aktualisieren des Feldes ist dann, weil nicht mehr vorhanden, logischerweise nicht mehr möglich.
Re: Dynamische Formularinhalte in statischen Text umwandeln
Hi Menni,
lieben Dank für Deine Antwort!
Die Formularfelder schreibgeschützt einzurichten, hilft leider nicht. Die Daten können immer noch nicht markiert, und somit auch nicht ausgelesen, werden (siehe beigefügte Grafik).
Also, lasse es uns bitte weiter mit dem JavaScript versuchen. Es wäre nicht schlimm, wenn alle Felder "geflattet" werden. Unter "Seiteneigenschaften" - "Aktion" - "Seite schließen" - "JavaScript ausführen" könnte ich ja dann das Script hinterlegen, oder?
Kannst Du mir nennen, wie der Scriptcode dafür aussehen muss?
Viele Grüße
Johannes
lieben Dank für Deine Antwort!
Die Formularfelder schreibgeschützt einzurichten, hilft leider nicht. Die Daten können immer noch nicht markiert, und somit auch nicht ausgelesen, werden (siehe beigefügte Grafik).
Also, lasse es uns bitte weiter mit dem JavaScript versuchen. Es wäre nicht schlimm, wenn alle Felder "geflattet" werden. Unter "Seiteneigenschaften" - "Aktion" - "Seite schließen" - "JavaScript ausführen" könnte ich ja dann das Script hinterlegen, oder?
Kannst Du mir nennen, wie der Scriptcode dafür aussehen muss?
Viele Grüße
Johannes
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Re: Dynamische Formularinhalte in statischen Text umwandeln
Ja, das geht.... Unter "Seiteneigenschaften" - "Aktion" - "Seite schließen" - "JavaScript ausführen" könnte ich ja dann das Script hinterlegen, oder? ...
Wenn du dort einfach nur
Code: Alles auswählen
this.flattenPages();
Über die optionalen Parameter "nStart" und "nEnd" kann ansonsten auch, wenn das Dokument mehrere Seiten hat, bestimmt werden auf welche Seiten sich das beziehen soll. Beide Parameter sind 0-basiert und die Werte inkludiert. Wird nur "nStart" angegeben bezieht sich "flattenPages" exklusiv auf diese Seite.
Der dritte Parameter "nNonPrint" gibt am wie Felder, die als Eigenschaft "sichtbar, aber Drucken nicht möglich" haben, behandelt werden sollen.
0 -> sie werden auch geglättet (ist der default-Wert)
1 -> sie bleiben wie sie sind
2 -> sie werden aus dem Dokument entfernt
Bsp.: ein Dokument mit 10 Seiten und auf Seite 5 befindet sich ein Button "DRUCKEN", welcher "sichtbar, aber Drucken nicht möglich" als Eigenschaft hat.
Code: Alles auswählen
this.flattenPages(3, 5, 1);
Re: Dynamische Formularinhalte in statischen Text umwandeln
... nochmals besten Dank, Menni.
Nun ist es so, dass die Daten beim Schließen des PDF "geflattet" werden, wenn ich die Datei mit "Adobe Acrobat X Standard" geöffnet und geschlossen habe.
Wenn ich das PDF mit Acrobat Reader DC öffne und schließe, werden die Daten leider nicht "geflattet". Dies ist aber nötig.
Gibt es eine Möglichkeit, mein Vorhaben auch für den "Acrobat Reader" umzusetzen?
Nun ist es so, dass die Daten beim Schließen des PDF "geflattet" werden, wenn ich die Datei mit "Adobe Acrobat X Standard" geöffnet und geschlossen habe.
Wenn ich das PDF mit Acrobat Reader DC öffne und schließe, werden die Daten leider nicht "geflattet". Dies ist aber nötig.
Gibt es eine Möglichkeit, mein Vorhaben auch für den "Acrobat Reader" umzusetzen?
Re: Dynamische Formularinhalte in statischen Text umwandeln
Leider nein.
Laut der Acrobat JS API ist dies nicht erlaubt :
The property or method is not allowed in Adobe Reader but is available in Acrobat Professional and Acrobat Standard.