Dateinamen bei speichern vergeben

Die Möglichkeiten und Tücken von Formularen
Antworten
nikki1982
Beiträge: 13
Registriert: 08.12.2020, 09:03

Dateinamen bei speichern vergeben

Beitrag von nikki1982 » 08.12.2020, 10:59

Guten Morgen,

ich bin seit kurzem Acrobat User und erstelle gerade ein Formular.
Soweit so gut

Jetzt habe ich eine Schaltfläche für Datei speichern hinzugefügt.
Ich möchte aber das sich der Dateiname aus verschiedenen Feldern zusammen setzt.

Zb.
Feld1 = RO
Feld2 = Name
Feld3 = Datum
so das am ende die Datei
ROName08122020.pdf lautet.

Kann mir da jemand weiter helfen?

nikki1982
Beiträge: 13
Registriert: 08.12.2020, 09:03

Re: Dateinamen bei speichern vergeben

Beitrag von nikki1982 » 14.12.2020, 10:11

Guten Morgen nochmal,

kann mir denn niemand hier weiterhelfen?

Ich wäre ewig zu dank verpflichtet.

Grüße

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Re: Dateinamen bei speichern vergeben

Beitrag von acronaut » 14.12.2020, 21:36

Hi,

Du kannst die textlichen Informationen eines Felds einfach über JavaScript zu einem String zusammenfassen. Das geschieht bspw. in einem "Benutzerdef. Berechnungsscript" in den Eigenschaften des Ergebnisfeld:

Code: Alles auswählen

var ZusammengesetzterDateiname = String(this.getField("Feld1").value) + String(this.getField("Feld2").value) + String(this.getField("Feld3").value) + ".pdf";
So kannst Du den Dateinamen zusammenfügen. Nachdem ich nun nicht weiß, wie Dein "Datum-Feld" aussieht, respektive wie der Wert formatiert ist, kann ich da nicht genaueres dazu schreiben.

Außerdem hast Du das Problem, dass ein "SaveAs" über JavaScript aus Sicherheitsgründen nur unter speziellen Aspekten ausgeführt werden kann:
  • Batch-Prozess
  • oder Priviligierter Kontext (Vom Nutzer in einem speziellen Verzeichnis aktiv abgelegtes Script mit spezieller "Annotation")

Somit befürchte ich, dass es für Dich sowieso nicht in Frage kommt, wenn das Script auch an andere Personen raus gehen soll.

Schöne Grüße,
Andreas

nikki1982
Beiträge: 13
Registriert: 08.12.2020, 09:03

Re: Dateinamen bei speichern vergeben

Beitrag von nikki1982 » 15.12.2020, 12:38

Hallo Andreas,


Zum Verständnis - was ist der Batch-Prozess?
und was bedeutet Priviligierter Kontext ? Was und wo sollte denn ein Skript abgelegt werden mit der Annotation?


Kann ich denn in dem Fall nicht eine Schaltfläche erzeugen - Ihr die Funktion Speichern unter... zuweisen und dann das Skript hinterlegen?

Bin da echt ein newbi.

Gruß Nick

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Re: Dateinamen bei speichern vergeben

Beitrag von acronaut » 16.12.2020, 09:40

Hi,

Batch Prozess: Kann man in Acrobat als Nutzer aktiv anstoßen. Damit arbeitet man bspw. ganze Ordner auf einmal durch um z.B. auf jedem PDF in dem Ordner ein Wasserzeichen einzufügen.

Privilegierter Kontext (sorry für den Schreibfehler: es heißt natürlich nicht priviligiert!) meint, dass aus Sicherheitsgründen ein PDF im Acrobat/Reader in einer sog. Sandbox läuft. Es darf als automatisch nix raus. Wozu natürlich ein "Speichern unter" führen würde. Daher bekommst Du, so wie Du es bisher gemacht hast, ja auch einfach nur den üblichen Applikations-"Speichern-Unter-Dialog angezeigt, und sonst nichts. Den Rest muss der Nutzer aktiv (!) machen.
Jetzt hat man damit aber verständlicherweise in manchen Szenarien, wo man eben doch mehr machen möchte so seine Probleme. Daher gibt es die Möglichkeit, dass der Nutzer auf seinem PC aktiv (also quasi mit eigenen Händen, sowie mit Hirn und Verstand) diese JavaScripte in einem vordefinierten Ordner abspeichert:
  • normalerweise unter "Systemordner Nutzer\AppData\Roaming\Adobe\Acrobat\Privileged\DC\JavaScripts" (DC ist hier die aktuelel Acropbat Versionsnummer)
  • oder direkt im Anwendungsordner unter "JavaScripts"
Dann muss die JavaScript Funktion im Script selbst als sog. trustedFunction deklariert werden.
Danach erst kann diese aus einem PDF heraus aufgerufen werden.

Hier kannst Du eine ziemlich gute und ausführliche Erklärung dazu finden: https://www.pdfscripting.com/public/Tru ... cripts.cfm

Schöne Grüße,
Andi

Antworten