Dynamische Formularinhalte in statischen Text umwandeln

Die Möglichkeiten und Tücken von Formularen
Antworten
jbr1986
Beiträge: 3
Registriert: 11.08.2020, 17:07

Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von jbr1986 » 11.08.2020, 17:10

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

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von Menni » 12.08.2020, 13:10

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.

jbr1986
Beiträge: 3
Registriert: 11.08.2020, 17:07

Re: Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von jbr1986 » 12.08.2020, 13:35

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von Menni » 14.08.2020, 08:12

... Unter "Seiteneigenschaften" - "Aktion" - "Seite schließen" - "JavaScript ausführen" könnte ich ja dann das Script hinterlegen, oder? ...
Ja, das geht.

Wenn du dort einfach nur

Code: Alles auswählen

this.flattenPages();
einträgst, bezieht sich das auf das ganze Dokument.

Ü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);
Dann werden mit diesem Code die Seiten 4 bis 6 geglättet. Der Button "DRUCKEN" auf Seite 5 ist aber weiterhin im geöffneten Dokument vorhanden und funktionsfähig.

jbr1986
Beiträge: 3
Registriert: 11.08.2020, 17:07

Re: Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von jbr1986 » 18.08.2020, 18:20

... 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?

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Dynamische Formularinhalte in statischen Text umwandeln

Beitrag von Menni » 25.08.2020, 15:34

jbr1986 hat geschrieben:
18.08.2020, 18:20
...
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?
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.

Antworten