Speicherort für *.pdf Datei vorschlagen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
sillak
Beiträge: 4
Registriert: 29.04.2009, 09:26

Speicherort für *.pdf Datei vorschlagen

Beitrag von sillak » 28.05.2009, 12:07

Hallo allerseits,
ich habe folgendes Problem und bin auch über die Suche nicht fündig geworden:

Ich möchte ein Formular über einen eingebauten Button in einem vorgegebenen Pfad abspeichern. Der Dateiname soll frei zu vergeben sein.

Ich habe bei der Click-Eigenschaft des Buttons folgendes hinterlegt:

app.execMenuItem("SaveAs");

Es funktioniert auch soweit, daß beim Anklicken des Buttons das "Speichern unter"-Fenster geöffnet wird.

Allerdings soll immer das Verzeichnis schon vorgeschlagen werden, in das das Formular hinein gespeichert werden soll.

Gibt es bei meiner Variante noch irgendeinen Parameter, den man angeben kann oder bin ich mit meinem Ansatz völlig falsch und es gibt einen anderen Weg?

Wenn ja, welchen?

Vielen Dank im Voraus für jegliche Tipps.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Speicherort für *.pdf Datei vorschlagen

Beitrag von walde » 28.05.2009, 15:07

Hallo sillak,

 

Schauen Sie doch mal hier rein:

 

http://www.acronaut.de/forum34/510.html

 

gruß,

 

Walde

sillak
Beiträge: 4
Registriert: 29.04.2009, 09:26

Speicherort für *.pdf Datei vorschlagen

Beitrag von sillak » 29.05.2009, 11:42

Ich habe schon unter dem angegebenen Link nachgesehen, werde daraus aber nicht schlau.

Muß man erst einen Ordner 'JavaScript' anlegen?
Denn dort steht ja sinngemäß:

Example 4 (Acrobat 8.0 and later) Execute app.execMenuItem in folder JavaScript using a trusted function.

myTrustedMenu = app.trustedFunction( function( name ) {
 app.beginPriv();
app.execMenuItem(name);
app.endPriv();
}

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Speicherort für *.pdf Datei vorschlagen

Beitrag von walde » 29.05.2009, 20:51

Hallo sillak,

 

Sie legen einfach eine .js Datei im JavaScript Verzeichniss (Mein Verzeichniss: C:\Program Files (x86)\Adobe\Acrobat 9.0\Acrobat\Javascripts) von Acrobat bzw. Reader an. Der Dateiname ist hierbei egal. In dieser Datei sollte ein Code wie z.B. der nachfolgende enthalten sein:

myTrustedSaveAs = app.trustedFunction(function(doc,path)
{
app.beginPriv();
doc.saveAs(path);
app.endPriv();
});

In Ihrem Formular kann der Befehl auf dem Click Event einer Schaltfläche z.B. wie folgt lauten:

[fontsize=1]myTrustedSaveAs(event.target, "/c/mySavedDoc.pdf");[/fontsize]

[fontsize=1][/fontsize] 

[fontsize=1]Gruß,[/fontsize]

[fontsize=1][/fontsize] 

[fontsize=1]Walde[/fontsize]

[fontsize=1][/fontsize] 

blackfox
Beiträge: 21
Registriert: 03.08.2010, 13:20

Speicherort für *.pdf Datei vorschlagen

Beitrag von blackfox » 03.08.2010, 14:36

Hallo walde,

das Speichern eines PDF-Formulars an einem vorgegebenen Speicherort haben Sie so erklärt, dass ich es gut nachvollziehen konnte. Danke.

Was ich jetzt noch suche, ist die Vergabe des Dateinamens dieser Datei aus mehreren Feldwerten dieses Formulars mit einem Trennzeichen dazwischen, z. B. "Name"-"Datum". Sie haben zwar an anderer Stelle im Forum einen Link angegeben, aber leider kann ich aufgrund mangelnder Kenntnisse damit nicht viel anfangen.

Könnten Sie mir damit helfen, dass Sie die notwendige Syntax für die Dateibezeichnung aus "Name"-"Datum" in das Beispiel mit dem vorgegebenen Speicherpfad einfügen?

Es wäre eine große Hilfe für mich.

blackfox

 

blackfox
Beiträge: 21
Registriert: 03.08.2010, 13:20

Speicherort für *.pdf Datei vorschlagen

Beitrag von blackfox » 04.08.2010, 06:59

Nachtrag

Das Formular wird mit dem LiveCycle Designer 9 erstellt,
während das Abspeichern dann mit dem Adobe Reader 9 erfolgt.

Mit freundlichen Grüßen
blackfox

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Speicherort für *.pdf Datei vorschlagen

Beitrag von FileAffairs » 04.08.2010, 08:35

Hallo blackfox,

ausgehend von Waldes Beispiel kann der Dateiname natürlich auch dynamsich zusammengestellt werden. Hier mal ein kurzer Beispielcode der entsprechend an die eigenen Feldnamen angepasst werden muss:

Code: Alles auswählen

// Auslesen des Wertes des Namen Feldes
var namePart = Name.rawValue;

// Aktuelles Datum ermitteln
var datum = new Date();
var datePart = datum.getDay() + "-" +  (datum.getMonth() + 1) + "-" + datum.getFullYear() ;

// Dateinamen und Pfad zusammenbauen
var fullName = "/C/" + namePart + "-" + datePart;

myTrustedSaveAs(event.target,fullName);
 
Gruß

Maruan Sahyoun // fileaffairs.de

blackfox
Beiträge: 21
Registriert: 03.08.2010, 13:20

Speicherort für *.pdf Datei vorschlagen

Beitrag von blackfox » 06.08.2010, 13:19

Hallo FileAffairs,

danke erstmal für die schnelle Hilfestellung.

Ich werde es mir in den nächsten Tagen in Ruhe anschauen, ob ich daraus die Lösung für meine Aufgabe basteln kann.

Gruß

blackfox

blackfox
Beiträge: 21
Registriert: 03.08.2010, 13:20

Speicherort für *.pdf Datei vorschlagen

Beitrag von blackfox » 10.08.2010, 11:19

Hallo FileAffairs,

offensichtlich habe ich das Ganze noch nicht richtig begriffen, denn trotz etlicher Versuche funktioniert es noch nicht bei mir.


Mit freundlichen Grüßen
blackfox


[fontsize=2][/fontsize]

john61
Beiträge: 27
Registriert: 09.06.2009, 13:01

Speicherort für *.pdf Datei vorschlagen

Beitrag von john61 » 10.08.2010, 11:58

Hallo blackfox,

im Beispiel von FileAffairs fehlt eine Kleinigkeit, nämlich + ".pdf".

Der Ausdruck
// Dateinamen und Pfad zusammenbauen
heisst dann
var fullName = "/C/" + namePart + "-" + datePart + ".pdf";

Dann funktioniert es.

Anbei das Beispiel von Walde (seine js-Datei bleibt unverändert) mit den Ergänzungen von FileAffairs plus Korrektur.

Gruß
john61

PS: Ich habe den Speicherpfad von C/ nach C/test geändert.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten