37414
Jun 14, 2019, updated at 09:17:17 (UTC)
14643
8
0
Javascript-Code in Adobe Acrobat XI Pro für ein ausfüllbares PDF-Formular
Hallo an Alle,
Ich habe ein Formular in Adobe Acobat XI Pro erstellt.
Dieses ist als PDF-Formular ausfüllbar.
Unter Anderem enthält das Formular auch ein Listenfeld, welches etwas modifiziert wurde, damit ein Fenster nach unten aufpoppt (ähnlich wie ein Dropdownfeld), wobei man dann aber die Möglichkeit hat, mehrere Inhalte gleichzeitig auszuwählen (mit gedrückter Strg-Taste).
Grds. funktioniert das auch ganz gut.
[Die Code-Teile aus dem Formular habe ich unten eingefügt mit Angabe, wo diese im Formular abgelegt sind.]
Aber ein paar kleine Problemchen gibt´s noch:
1) Als ersten Eintrag habe ich in den Listenfeld-Eigenschaften unter "Optionen" ein ">"-Zeichen eingesetzt. Wenn der Nutzer jetzt seine gewünschten Auswahlen getroffen hat, wäre es gut, wenn dieses ">"-Zeichen, welches immer als Standardauswahl steht, verschwinden würde, ohne dass man es extra abwählen muss. Wenn man nämlich gleich die Strg-Taste gedrückt hält, bleibt dieses Zeichen natürlich stehen. Könnte sein, dass einige Nutzer des Formulars das so nicht verstehen.
2) Wenn man einmal eine Auswahl getroffen hat, kann man diese nicht mehr ändern, da das Feld beim erneuten editieren, kein zweites Mal ausklappt.
3) Die einzelnen Auswahlen (es sind immer 1 od. maximal 2 Buchstaben), stehen am Ende in dem Feld des Formulars nebeneinander mit einem Leerzeichen dazwischen.
Könnte man hier auch ein Komma einsetzen oder ggf. einen Schrägstrich? Wenn ja, wie/wo mache ich das im Code?
Hier mal die Code-Teile:
a) Listenfeld / Eigenschaften / Aktionen:
Feld aktivieren - Javascript ausführen (1. Zeile):
a1) Listenfeld / Eigenschaften / Aktionen:
Feld aktivieren - Javascript ausführen (2. Zeile):
b) Textfeld / Eigenschaften / Aktionen:
Maustaste loslassen
Feld ausblenden --> Merkzeichen 3.0
Feld einblenden --> txt_merged.0
Javascript ausführen:
c) Textfeld / Eigenschaften / Berechnung
Benutzerdefiniertes Berechnungsscript:
Ich habe die Formular-Datei als PDF hier mal hochgeladen:
Ausfüllbares Formular
Es handelt sich um den Bereich, den Ihr ganz unten seht, wo steht "Kinder 1 - 3" und dort in der Zeile, wo die "Merkzeichen" stehen (also die 4. Zeile in diesem Block).
Ich hoffe, Ihr versteht den obigen Aufbau - und auch anhand der hochgeladenen Datei (PDF).
Danke und Gruß,
imebro
Ich habe ein Formular in Adobe Acobat XI Pro erstellt.
Dieses ist als PDF-Formular ausfüllbar.
Unter Anderem enthält das Formular auch ein Listenfeld, welches etwas modifiziert wurde, damit ein Fenster nach unten aufpoppt (ähnlich wie ein Dropdownfeld), wobei man dann aber die Möglichkeit hat, mehrere Inhalte gleichzeitig auszuwählen (mit gedrückter Strg-Taste).
Grds. funktioniert das auch ganz gut.
[Die Code-Teile aus dem Formular habe ich unten eingefügt mit Angabe, wo diese im Formular abgelegt sind.]
Aber ein paar kleine Problemchen gibt´s noch:
1) Als ersten Eintrag habe ich in den Listenfeld-Eigenschaften unter "Optionen" ein ">"-Zeichen eingesetzt. Wenn der Nutzer jetzt seine gewünschten Auswahlen getroffen hat, wäre es gut, wenn dieses ">"-Zeichen, welches immer als Standardauswahl steht, verschwinden würde, ohne dass man es extra abwählen muss. Wenn man nämlich gleich die Strg-Taste gedrückt hält, bleibt dieses Zeichen natürlich stehen. Könnte sein, dass einige Nutzer des Formulars das so nicht verstehen.
2) Wenn man einmal eine Auswahl getroffen hat, kann man diese nicht mehr ändern, da das Feld beim erneuten editieren, kein zweites Mal ausklappt.
3) Die einzelnen Auswahlen (es sind immer 1 od. maximal 2 Buchstaben), stehen am Ende in dem Feld des Formulars nebeneinander mit einem Leerzeichen dazwischen.
Könnte man hier auch ein Komma einsetzen oder ggf. einen Schrägstrich? Wenn ja, wie/wo mache ich das im Code?
Hier mal die Code-Teile:
a) Listenfeld / Eigenschaften / Aktionen:
Feld aktivieren - Javascript ausführen (1. Zeile):
var feld = this.getField("Merkzeichen3.0");
var r = feld.rect;
r[3] -= 100;
feld.textSize = 8;
feld.rect = r;
a1) Listenfeld / Eigenschaften / Aktionen:
Feld aktivieren - Javascript ausführen (2. Zeile):
var feld = this.getField("Merkzeichen3.0");
var r = feld.rect;
r[3] += 100;
feld.rect = r;
feld.textSize = 8;
feld.textFont = font.Helv;
feld.hidden = true;
this.getField("txt_merged.0").hidden = false;
b) Textfeld / Eigenschaften / Aktionen:
Maustaste loslassen
Feld ausblenden --> Merkzeichen 3.0
Feld einblenden --> txt_merged.0
Javascript ausführen:
this.getField("Merkzeichen3.0").setFocus();
c) Textfeld / Eigenschaften / Berechnung
Benutzerdefiniertes Berechnungsscript:
var sel = this.getField("Merkzeichen3.0").value;
if(Object.prototype.toString.call(sel) === '[object Array]'){
event.value = sel.join(" ");
}else{
event.value = sel;
}
Ich habe die Formular-Datei als PDF hier mal hochgeladen:
Ausfüllbares Formular
Es handelt sich um den Bereich, den Ihr ganz unten seht, wo steht "Kinder 1 - 3" und dort in der Zeile, wo die "Merkzeichen" stehen (also die 4. Zeile in diesem Block).
Ich hoffe, Ihr versteht den obigen Aufbau - und auch anhand der hochgeladenen Datei (PDF).
Danke und Gruß,
imebro
Please also mark the comments that contributed to the solution of the article
Content-Key: 462197
Url: https://administrator.de/contentid/462197
Printed on: April 26, 2024 at 03:04 o'clock
8 Comments
Latest comment
Tja, entsprechende Hilfe gegen Entlohnung wurde angeboten, aber kommentarlos abgelehnt. Sogar schon eine entsprechende Vorlage wurde frei Haus geliefert. So oder so hat jemand mit seiner offensichtlich kommerziellen oder amtliche Arbeit hier antanzt um sie frei Haus erledigen zu lassen seinen Job verfehlt. Sowas unterstützt natürlich niemand, verständlicherweise ...
Und aus dubiosen Quellen Dokumente auch noch mit JavaScript runterzuladen? Jemand wäre ganz schön intelligent.
Btw. heute in Zeiten von mobilen Devices und Tablets hat JavaScript sowieso nichts mehr in PDFs zu suchen, die meisten der heute verfügbaren Reader interpretieren das nämlich gar nicht (und das ist auch gut so) und somit hätte dein PDF auch null Funktion. Von Security-Suiten und Sicherheitsbedenken will ich erst gar nicht erst anfangen. Ein Grund warum man sowas heutzutage zu 99% in Webseiten-Formulare verlagert!
Als denn schönes Funmeln noch... Und nicht vergessen, ab Montag 12:30 gilt für Beamte: Wochenende!
Und aus dubiosen Quellen Dokumente auch noch mit JavaScript runterzuladen? Jemand wäre ganz schön intelligent.
Btw. heute in Zeiten von mobilen Devices und Tablets hat JavaScript sowieso nichts mehr in PDFs zu suchen, die meisten der heute verfügbaren Reader interpretieren das nämlich gar nicht (und das ist auch gut so) und somit hätte dein PDF auch null Funktion. Von Security-Suiten und Sicherheitsbedenken will ich erst gar nicht erst anfangen. Ein Grund warum man sowas heutzutage zu 99% in Webseiten-Formulare verlagert!
Als denn schönes Funmeln noch... Und nicht vergessen, ab Montag 12:30 gilt für Beamte: Wochenende!
Und auf die Idee die zwei Dinger da über deiner Nase zu dem zu benutzen wozu sie geschaffen wurden wenn man programmiert, bist du anscheinend noch nicht gekommen.
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_ref ...
Hier hilft man schon, aber wenn man sieht das sich die TOs nicht mal annähernd mit dem beschäftigen was man ihnen fertig vor die Füße wirft ... ist das Perlen vor die Säue geworfen.
Du hättest ja mal selbst die Befehle in der oben verlinkten Doku nachschlagen können. Und dir somit den Thread ersparen können. Lesen wollen die meisten offensichtlich nicht mehr, weil ihnen das zu lange dauert. Die tun mir aber ehrlich gesagt nicht leid, wenn sie wochenlang in Foren nach code betteln, den man in 2-3 Stunden selbst hätte erlesen können wenn man nur gewollt hätte.
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_ref ...
Ich möchte nicht wissen, wie hoch der Prozentsatz derjenigen User hier im Forum ist, die ihre Fragen für Lösungen von Problemen auf ihrer Arbeitsstelle erfragen. Ich schätze, dass es weit über 50% sind.
Das finde ich da schon eher bedenklich, zeugt nur davon das den Jugendlichen heute nicht mehr beigebracht wird sich selbst zu helfen, wenn man 95% der Fragen hier schon durch selbst ergooglen lösen kann. Zeugt eher das die Leute immer fauler und bequemer werden.Hier hilft man schon, aber wenn man sieht das sich die TOs nicht mal annähernd mit dem beschäftigen was man ihnen fertig vor die Füße wirft ... ist das Perlen vor die Säue geworfen.
Du hättest ja mal selbst die Befehle in der oben verlinkten Doku nachschlagen können. Und dir somit den Thread ersparen können. Lesen wollen die meisten offensichtlich nicht mehr, weil ihnen das zu lange dauert. Die tun mir aber ehrlich gesagt nicht leid, wenn sie wochenlang in Foren nach code betteln, den man in 2-3 Stunden selbst hätte erlesen können wenn man nur gewollt hätte.
Wie Du auf "Jugendliche" kommst, weiß ich auch nicht.
Naja, bei dem Body 😁