Schaltfläche einbauen um speichern zu ermöglichen
Schaltfläche einbauen um speichern zu ermöglichen
Ich hoffe ich bin hier richtig...
Ich muss ein Formular erstellen und möchte gerne eine Schaltfläche zum speichern (eben auch wenn man nur den Reader hat) des Formulares erstellen. Dazu gibt es ja schon unzählige Beiträge und Erklärungen im Internet. Trotzdem bin ich scheinbar zu blöd es zu kapieren.
Soll ja über "Menübefehl ausführen - speichern unter"
Aber wie komm ich zu der Aktion Menübefehl ausführen? Wenn ich mit der Rechten Maustaste im LifeCycle Designer in die Schaltfläche klicke kommt nur: Schrift, Absatz, Füllzeichen, Alles auswählen
Und wenn ich im acrobat pro reingehe und es mit der rechten maustaste anklicke dann geht das garnicht..
Hilfe? =)
Danke!
Ich muss ein Formular erstellen und möchte gerne eine Schaltfläche zum speichern (eben auch wenn man nur den Reader hat) des Formulares erstellen. Dazu gibt es ja schon unzählige Beiträge und Erklärungen im Internet. Trotzdem bin ich scheinbar zu blöd es zu kapieren.
Soll ja über "Menübefehl ausführen - speichern unter"
Aber wie komm ich zu der Aktion Menübefehl ausführen? Wenn ich mit der Rechten Maustaste im LifeCycle Designer in die Schaltfläche klicke kommt nur: Schrift, Absatz, Füllzeichen, Alles auswählen
Und wenn ich im acrobat pro reingehe und es mit der rechten maustaste anklicke dann geht das garnicht..
Hilfe? =)
Danke!
Schaltfläche einbauen um speichern zu ermöglichen
Hallo !
Aktionen müssen Objekten ( Schaltflächen etc.) i.d.R. per Script (JavaScript oder FormCalc) anprogrammiert werden.
Das Objekt Schaltfläche klickt zwar ein und aus wenn Du drauf klickst - das steckt drin - aber was die Schaltfläche bei dieser Aktion auslösen soll, das musst Du ihr per Script anprogrammieren.
Ist in Deinem Fall aber ganz einfach:
Ziehe die Schaltfläche aus der Objektbiblithek also an den Platz.
Dann markierst Du die Schaltfläche durch einfaches Anklicken.
Im Objektfenster ( Menü FENSTER - Menüpunkt OBJEKT) stellst Du unter "Beschriftung" den Namen ein, z.B. "Speichern unter".
Dann öffnest Du den Scripteditor ( Menü FENSTER - Menüpunkt OBJEKT) und ziehst Ihn ggfls. etwas größer mit dem Anfasser am unteren Rand. Er erscheit standardmässig als oberstes Teilfenster.
Im DropDown-Menü "Anzeigen" wählst du die Aktion "mouseDown" aus.
Im DropDon-Menü "Sprache" (ganz rechts) wählst Du "JavaScript" aus.
Jetzt gibst Du als zweite Zeile unterhalb der, die jetzt schon im Editorfenster steht, die folgende ein:
[fontsize=2]
app.execMenuItem("SaveAs");
Das Semikolon am Ende ist notwendig.
[/fontsize][fontsize=2]Jetzt speicherst Du ab - das war's.
===========
Bitte beachten:
===========
Du kannst erst dann in Formularen speichern, wenn du dieses Recht für dieses Formular einmal im Acrobat Pro hinzugefügt hast.
Solange Du das nicht tust, hat der Button keinerlei Funktion ....
Das geht blöderweise nicht im LiveCycle-Desinger.
Dazu öffnest Du das fertige Formular im Acrobat Pro, klickst dort auf den Menüpunkt ERWEITERT und auf den Menüeintrag FUNKTIONEN IN ACROBAT READER ERWEITERN. Danach speicherst Du auch nocheinmal ab.
Jetzt kannst Du das Formular mit den ausgefüllten Werten im Reader abspeichern.
[/fontsize]
Aktionen müssen Objekten ( Schaltflächen etc.) i.d.R. per Script (JavaScript oder FormCalc) anprogrammiert werden.
Das Objekt Schaltfläche klickt zwar ein und aus wenn Du drauf klickst - das steckt drin - aber was die Schaltfläche bei dieser Aktion auslösen soll, das musst Du ihr per Script anprogrammieren.
Ist in Deinem Fall aber ganz einfach:
Ziehe die Schaltfläche aus der Objektbiblithek also an den Platz.
Dann markierst Du die Schaltfläche durch einfaches Anklicken.
Im Objektfenster ( Menü FENSTER - Menüpunkt OBJEKT) stellst Du unter "Beschriftung" den Namen ein, z.B. "Speichern unter".
Dann öffnest Du den Scripteditor ( Menü FENSTER - Menüpunkt OBJEKT) und ziehst Ihn ggfls. etwas größer mit dem Anfasser am unteren Rand. Er erscheit standardmässig als oberstes Teilfenster.
Im DropDown-Menü "Anzeigen" wählst du die Aktion "mouseDown" aus.
Im DropDon-Menü "Sprache" (ganz rechts) wählst Du "JavaScript" aus.
Jetzt gibst Du als zweite Zeile unterhalb der, die jetzt schon im Editorfenster steht, die folgende ein:
[fontsize=2]
app.execMenuItem("SaveAs");
Das Semikolon am Ende ist notwendig.
[/fontsize][fontsize=2]Jetzt speicherst Du ab - das war's.
===========
Bitte beachten:
===========
Du kannst erst dann in Formularen speichern, wenn du dieses Recht für dieses Formular einmal im Acrobat Pro hinzugefügt hast.
Solange Du das nicht tust, hat der Button keinerlei Funktion ....
Das geht blöderweise nicht im LiveCycle-Desinger.
Dazu öffnest Du das fertige Formular im Acrobat Pro, klickst dort auf den Menüpunkt ERWEITERT und auf den Menüeintrag FUNKTIONEN IN ACROBAT READER ERWEITERN. Danach speicherst Du auch nocheinmal ab.
Jetzt kannst Du das Formular mit den ausgefüllten Werten im Reader abspeichern.
[/fontsize]
Schaltfläche einbauen um speichern zu ermöglichen
vielen lieben Dank für die Beschreibung. War alles leicht zu verstehen und genau das was ich gebraucht habe. hat auch sofort geklappt.
Schönen Sonntag noch!
Schönen Sonntag noch!
Schaltfläche einbauen um speichern zu ermöglichen
einen kleinen Schönheitsfehler hat das ganze doch noch.
Wenn ich als Formularverwender das Formular speichern will. Scheint nachdem ich auf speichern geklickt habe (oder auf abbrechen wenn ichs doch nicht speichern will) - "Senden Vorgang abgebrochen" auf. Er speichert es aber trotzdem.
Ist daweil nicht so dringend, aber falls mal jemand Zeit hat das zu beantworten was ich da noch falsch gemacht habe, wäre das nett
LG
Wenn ich als Formularverwender das Formular speichern will. Scheint nachdem ich auf speichern geklickt habe (oder auf abbrechen wenn ichs doch nicht speichern will) - "Senden Vorgang abgebrochen" auf. Er speichert es aber trotzdem.
Ist daweil nicht so dringend, aber falls mal jemand Zeit hat das zu beantworten was ich da noch falsch gemacht habe, wäre das nett

LG
Schaltfläche einbauen um speichern zu ermöglichen
hat sich schon erledigt. bin schon selbst draufkommen 

Schaltfläche einbauen um speichern zu ermöglichen
Vielen Dank für die Info - auch bei mir hat es geklappt.
Ich habe da noch eine Nachfrage: ist es möglich, ein Formular direkt mit dem Dateiattribut "Schreibgeschützt" abzuspeichern?
Es geht mir darum, dass die Mitarbeiter ein Formular ausfüllen und über einen Button es abspeichern aber nicht überspeichern können und somit gezwungen bzw. daran erinnert werden, einen neuen Dateinamen einzugeben.
Alternativ dazu wäre eine Lösung, die den Dateinamen des Dokuments beim Abspeichern aus dem Inhalt eines Feldes und z. B. der Systemzeit generiert oder einer laufenden Nummer generiert - ist das möglich?
Ich habe da noch eine Nachfrage: ist es möglich, ein Formular direkt mit dem Dateiattribut "Schreibgeschützt" abzuspeichern?
Es geht mir darum, dass die Mitarbeiter ein Formular ausfüllen und über einen Button es abspeichern aber nicht überspeichern können und somit gezwungen bzw. daran erinnert werden, einen neuen Dateinamen einzugeben.
Alternativ dazu wäre eine Lösung, die den Dateinamen des Dokuments beim Abspeichern aus dem Inhalt eines Feldes und z. B. der Systemzeit generiert oder einer laufenden Nummer generiert - ist das möglich?
Schaltfläche einbauen um speichern zu ermöglichen
Hallo !
Das Abspeichern mit einem gegebenen Dateinamen ist relativ einfach, bedingt aber aufgrund des Sicherheitskonzeptes von Acrobat eine zuvor erfolgte Ablage einer Datei bzw. einen Dateieintrag auf dem Rechner des Users.
Acrobat sieht standardmässig nicht die Vorgabe von Speicherpfaden in Formularscripten vor.
Damit könnte sonst ein Script geschreiben werden, um dem User unbemerkt irgendwelche Inhalte auf die Platte zu schieben.
Nur Speichern unter ist erlaubt, weil der User dann selbst agiert.
Wenn jedoch eine - ich nenne sie jetzt mal Steuerdatei - im JavaScript-Verzeichnis von Acrobat auf dem Rechner des Users abgelegt ist, berücksichtigt Acrobat den dort eingetragenen Speicherpfad.
Damit kann dann im Script darauf Bezug genommen werden.
Also ein Vorgehen, wie bei den von Windows bekannten .ini - Dateien.
(Gibt's die noch ?).
Der Ordner "Javascripts" liegt im Installationspfad von Acobat.
Bei mir ist das
c:\program files (x86)\Acrobat 9.0\Acrobat\Javascripts
In dieser Datei ( der Name der Datei ist völlig egal, nur die Endung .js muss sie haben ) sollte folgender oder ähnlicher Code stehen:
myTrustedSaveFunction(function(doc,path)
{
app.beginPriv();
doc.saveAs(DeinBevorzugterPfad);
app.endPriv();
});
Der in der Schaltfläche eingesetzte Java-Befehl kann dann so lauten:
myTrustedSaveAs(event.target, "/c/Name.pdf");
Das Funktionsargument "path" wird eben durch das Script auf der Festplatte vorgegeben und ist damit sicher (oder zumindest sicherer).
Natürlich kann der Name auch aus Datumsfunktion+Name oder wie auch immer generiert werden.
** ist alles nicht auf meinem Mist gewachsen, ich hab's auch aus dem Forum hier, weiß aber nicht mehr wo der Beitrag stand.
Deshalb habe ich hier meine Notizen wiedergegeben.
Gruß
petzi
Das Abspeichern mit einem gegebenen Dateinamen ist relativ einfach, bedingt aber aufgrund des Sicherheitskonzeptes von Acrobat eine zuvor erfolgte Ablage einer Datei bzw. einen Dateieintrag auf dem Rechner des Users.
Acrobat sieht standardmässig nicht die Vorgabe von Speicherpfaden in Formularscripten vor.
Damit könnte sonst ein Script geschreiben werden, um dem User unbemerkt irgendwelche Inhalte auf die Platte zu schieben.
Nur Speichern unter ist erlaubt, weil der User dann selbst agiert.
Wenn jedoch eine - ich nenne sie jetzt mal Steuerdatei - im JavaScript-Verzeichnis von Acrobat auf dem Rechner des Users abgelegt ist, berücksichtigt Acrobat den dort eingetragenen Speicherpfad.
Damit kann dann im Script darauf Bezug genommen werden.
Also ein Vorgehen, wie bei den von Windows bekannten .ini - Dateien.
(Gibt's die noch ?).
Der Ordner "Javascripts" liegt im Installationspfad von Acobat.
Bei mir ist das
c:\program files (x86)\Acrobat 9.0\Acrobat\Javascripts
In dieser Datei ( der Name der Datei ist völlig egal, nur die Endung .js muss sie haben ) sollte folgender oder ähnlicher Code stehen:
myTrustedSaveFunction(function(doc,path)
{
app.beginPriv();
doc.saveAs(DeinBevorzugterPfad);
app.endPriv();
});
Der in der Schaltfläche eingesetzte Java-Befehl kann dann so lauten:
myTrustedSaveAs(event.target, "/c/Name.pdf");
Das Funktionsargument "path" wird eben durch das Script auf der Festplatte vorgegeben und ist damit sicher (oder zumindest sicherer).
Natürlich kann der Name auch aus Datumsfunktion+Name oder wie auch immer generiert werden.
** ist alles nicht auf meinem Mist gewachsen, ich hab's auch aus dem Forum hier, weiß aber nicht mehr wo der Beitrag stand.
Deshalb habe ich hier meine Notizen wiedergegeben.
Gruß
petzi
Schaltfläche einbauen um speichern zu ermöglichen
Hallo Petzi,
danke für die Info. Den Eintrag hatte ich auch schon gefunden, kann aber leider keine zusätzliche JS-Datei mit dem Formular mitgeben. Daher auch die Idee mit dem Setzen des "Schreibgeschützt"-Attributs.
Gibt's dafür vielleicht 'ne Idee?
Grüße
Napp
danke für die Info. Den Eintrag hatte ich auch schon gefunden, kann aber leider keine zusätzliche JS-Datei mit dem Formular mitgeben. Daher auch die Idee mit dem Setzen des "Schreibgeschützt"-Attributs.
Gibt's dafür vielleicht 'ne Idee?
Grüße
Napp
Schaltfläche einbauen um speichern zu ermöglichen
Hallo,
habe das Speichern-unter durch petzis Anleitung hinbekommen. Stehe jetzt vor folgendem Problem:
Ich möchte den Namen aus Formular-Feldern generieren.
Zitat: Natürlich kann der Name auch aus Datumsfunktion+Name oder wie auch immer generiert werden.
Wie genau funktioniert das?? Ich würde die Datei auch gerne als XML speichern. Ist das auch möglich??
Vielen Dank für eure Hilfe.
Annett
habe das Speichern-unter durch petzis Anleitung hinbekommen. Stehe jetzt vor folgendem Problem:
Ich möchte den Namen aus Formular-Feldern generieren.
Zitat: Natürlich kann der Name auch aus Datumsfunktion+Name oder wie auch immer generiert werden.
Wie genau funktioniert das?? Ich würde die Datei auch gerne als XML speichern. Ist das auch möglich??
Vielen Dank für eure Hilfe.
Annett
Schaltfläche einbauen um speichern zu ermöglichen
Hallo duplex !
Das Problem ist, dass Du aus dem Formular heraus keinen Dateinamen oder Formate etc. vorgeben kannst.
Das hat seinen Grund in Sicherheitserwägungen, damit niemand per Formularprogrammierung auf einem fremden Rechner Dateien hinschieben kann, wie und wo er will, ohne das es der User bemerkt.
Daher die Beschränkung auf den zwingend vorgegebenen Dialog "Speichern unter", der eine Useraktion erfordert und nicht unterdrückt oder beeinflusst werden kann.
Es gibt einen Weg, den ich in meinem Eintrag vom 18. Juni dargestellt habe.
Das ist der einzige Weg, um ein Abspeichern an einem bestimmten Ort mit einem durch Programmierung vorgegebenen oder generierten Namen zu ermöglichen.
Eine Formatauswahl ist damit, so glaube ich, nicht möglich.
Das Problem ist, dass Du aus dem Formular heraus keinen Dateinamen oder Formate etc. vorgeben kannst.
Das hat seinen Grund in Sicherheitserwägungen, damit niemand per Formularprogrammierung auf einem fremden Rechner Dateien hinschieben kann, wie und wo er will, ohne das es der User bemerkt.
Daher die Beschränkung auf den zwingend vorgegebenen Dialog "Speichern unter", der eine Useraktion erfordert und nicht unterdrückt oder beeinflusst werden kann.
Es gibt einen Weg, den ich in meinem Eintrag vom 18. Juni dargestellt habe.
Das ist der einzige Weg, um ein Abspeichern an einem bestimmten Ort mit einem durch Programmierung vorgegebenen oder generierten Namen zu ermöglichen.
Eine Formatauswahl ist damit, so glaube ich, nicht möglich.