spiderek
Goto Top

PDF-Formular (Schaltfläche) durch Java Script unter bestimmte Name speichern und per Email versenden

Hallöchen,

kann man durch Java Script in eine Schaltfläche, ein offenes PDF-Formular unter bestimmte Name in ein bestimmtes Ordner (Ordnername und Ort bleibt immer gleich) speichern?

Ein Knopf um der Formular per Email zu senden habe ich schon erstellt:

var c_ID = this.getField('KundenNr').value;
var c_name = this.getField('Kunde').value;
var f_email;
var betreff = c_ID + ' - ' + c_name;
var body = 'Hi,\n\nanbei sende ich die neue Datei\n\nVG \n\n';

var folder = "D:\New Ordner\";
var dat = this.getField('Datum').value;
var file = c_ID + '_' + c_name + '_' + dat + '.pdf';
var = path;

f_email = "myemail@gmx.de";

if (this.getField('KundenNr').value == "")
{
app.alert('Kundennummer-Feld darf nicht leer sein.');
this.getField('KundenNr').setFocus();
exit;
}

//PDF speichern unter?????
path = folder + file;

this.mailDoc(false, f_email, "", "", betreff, body);

Könnte mir jemand dabei helfen?

Vielen Dank vorab
Gosia

Content-Key: 1925957736

Url: https://administrator.de/contentid/1925957736

Printed on: May 2, 2024 at 18:05 o'clock

Member: colinardo
colinardo Feb 16, 2022, updated at Feb 17, 2022 at 09:38:08 (UTC)
Goto Top
Servus Gosia,
die saveAs Methode ist aus Sicherheitsgründen nur von einem privilegierten Kontext aus möglich, bspw. beim Starten des Dokumentes aus einem Skript heraus. Direkt im PDF hinterlegen lässt sich ein automatisches Speichern unter anderem Namen aus den o.g. Gründen nicht, denn sonst könnte ein Angreifer seine Payload ganz einfach gleich auf dem Zielsystem platzieren.

screenshot

Quelle: https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/pdfs/acrobat ...

Ein kleines VBS-Skript was dies bspw. ermöglicht sähe dann folgendermaßen aus
' create objects  
Set objAcro = CreateObject("AcroExch.App")  
Set docAV = CreateObject("AcroExch.AVDoc")  
' open pdf  
docAV.Open "E:\demo.pdf","Mein Formular"  
' show acrobat instance  
objAcro.Show
' get js object  
Set jsDoc = docAV.GetPDDoc().GetJSObject()
' save under different file name  
jsDoc.saveAs("E:\neu.pdf")  

Grüße Uwe