Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PDF Formular per Email senden mit individuellem Betreff

Frage Entwicklung JavaScript

Mitglied: Casiopaya80

Casiopaya80 (Level 1) - Jetzt verbinden

18.06.2014 um 13:09 Uhr, 11731 Aufrufe, 12 Kommentare

Hallo,

ich möchte gerne ein PDF Formular per Email versenden wobei die Betreffzeile automatisch individuell ausgefüllt werden soll (Kundennummer, Name des Kunden und Land).

Ich benötige einen String den ich in das Feld "URL für Verknüpfung eingbenen" kann.

Ich dachte es wäre irgendwas wie mailto:?subject=Name + getField("CustomerName"). Aber leider steht dann nur in der Betreffzeile "Name"... Irgendwas mit dem getField scheint nicht zu stimmen...

Das Formular habe ich mit Adobe Acrobat XI Pro Version 10.0.07 gemacht.

hat jemand eine Idee wie das funktionieren könnte?

Danke!



Mitglied: colinardo
LÖSUNG 18.06.2014, aktualisiert um 14:31 Uhr
Hallo Casiopaya80, Willkommen auf Administrator.de!
Nehme als Aktion der Schaltfläche "JavaScript ausführen" und dann gibst du folgendes ein (Feldnamen musst du natürlich an dein Dokument anpassen):
01.
var c_ID =  this.getField('CustomerID').value; 
02.
var c_name =  this.getField('CustomerName').value; 
03.
var c_land =  this.getField('CustomerCountry').value; 
04.
var betreff = 'Kundennummer: ' + c_ID + ' / Name: ' + c_name + " / Land: " + c_land; 
05.
var body = 'Das ist der Body der Nachricht'; 
06.
this.mailDoc(false, "empfaenger@domain.de", "", "", betreff, body );
Siehe auch dieses Demo-PDF

Dies sind die Parameter für die Funktion mailDoc:
bUI  - (optional) If true (the default), the rest of the parameters are used in a 
compose-new-message window that is displayed to the user. If false, the cTo 
parameter is required and all others are optional. 
Note: (Acrobat 7.0) When this method is executed in a non-privileged context, the 
bUI parameter is not honored and defaults to true. See Privileged versus 
non-privileged context. 
 
cTo (optional)  - The semicolon-delimited list of recipients for the message. 
cCc (optional) - The semicolon-delimited list of CC recipients for the message. 
cBcc (optional) - The semicolon-delimited list of BCC recipients for the message. 
cSubject (optional) -  The subject of the message. The length limit is 64 KB. 
cMsg (optional) - The content of the message. The length limit is 64 KB.
Eine Acrobat Javascript API Referenz gibt es zum nachlesen

Grüße Uwe
Bitte warten ..
Mitglied: Casiopaya80
18.06.2014 um 14:31 Uhr
Vielen Dank! Funktioniert super!!!!

Viele Grüße,
Anja
Bitte warten ..
Mitglied: Casiopaya80
01.07.2014 um 12:56 Uhr
Hallo Uwe,

ich habe noch eine kurze Frage zu meinem Problem von vor 2 Wochen.

Wie kann ich dem Formular denn sagen, dass es nach meinem Text (Body) ein paar Leerzeilen macht?
Jetzt hängt leider die Signatur direkt an meinem Text im Body und ich weiß nicht wie ich diese Leerzeilen einfügen kann?
Könntest Du bitte mir nochmals helfen?

Danke und Grüße,
Anja
Bitte warten ..
Mitglied: colinardo
LÖSUNG 01.07.2014, aktualisiert um 13:43 Uhr
Zitat von Casiopaya80:
Wie kann ich dem Formular denn sagen, dass es nach meinem Text (Body) ein paar Leerzeilen macht?
var body = 'Das ist der Body der Nachricht\n\n\n';
Grüße Uwe
Bitte warten ..
Mitglied: Casiopaya80
01.07.2014 um 13:43 Uhr
SUPER! Vielen Dank nochmal!!!
Bitte warten ..
Mitglied: Elchfliege
17.03.2015 um 12:06 Uhr
Vielen Dank für den Tipp mit dem Java-Script. Funktioniert.
ABER leider ist dadurch die Prüfung der erfoderlichen Felder verloren gegangen bei meinem Formular. Wir kann man das Script ergänzen, damit die erforderlichen Felder geprüft werden, dass sie nicht leer sind?
Vielen Dank im voraus
Gert
Bitte warten ..
Mitglied: colinardo
17.03.2015, aktualisiert um 13:05 Uhr
Hallo Gert, Willkommen auf Administrator.de!
Wir kann man das Script ergänzen, damit die erforderlichen Felder geprüft werden, dass sie nicht leer sind?
Dazu musst du jedes Feld auf seine Werte prüfen und bei einem leeren Feld aus der Funktion springen.
Beispiel für die Prüfung eines Feldes:
01.
var c_ID =  this.getField('CustomerID').value; 
02.
if (c_ID == ""){ 
03.
  app.alert('Das Feld darf nicht leer sein.'); 
04.
  exit; 
05.
06.
// usw.
Wenn du alle Textfelder auf einmal prüfen willst, geht das auch mit einer Schleife über alle Textfelder:
01.
for(var i=0; i<this.numFields;i++){ 
02.
    var f = this.getField(this.getNthFieldName(i)); 
03.
    if (f.type == "text" && f.value == ""){ 
04.
        app.alert('Ein benötigtes Feld ist nicht ausgefüllt'); 
05.
        f.setFocus(); 
06.
        exit; 
07.
08.
09.
var c_name =  this.getField('CustomerName').value; 
10.
var c_land =  this.getField('CustomerCountry').value; 
11.
var c_ID =  this.getField('CustomerID').value; 
12.
var betreff = 'Kundennummer: ' + c_ID + ' / Name: ' + c_name + " / Land: " + c_land; 
13.
var body = 'Das ist der Body der Nachricht'; 
14.
this.mailDoc(false, "empfaenger@domain.de", "", "", betreff, body );
Für Felder anderen Typs muss man in der Schleife separat prüfen, je nachdem was für ein Typ Feld es ist.

Wenn man nur Felder prüfen will die die Eigenschaft Benötigt (required) haben, kann man das einfach mit Ergänzung des IF-Teils machen:
 if (f.type == "text" && f.required == true && f.value == ""){
Ich verweise auf die JavaScript-Referenz von Acrobat, da stehen die verfügbaren Eigenschaften aller Element drin. Ist für Entwicklungszwecke mit Acrobat unverzichtbar.

Grüße Uwe
Bitte warten ..
Mitglied: Elchfliege
17.03.2015 um 14:01 Uhr
Hallo Uwe
vielen Dank für Deine schnelle Hilfe. Ich denke das wird mir weiterhelfen. Es geht nur um zwei Textfelder die geprüft werden müssen.
Die JavaScript Referenz hatte ich mir schon angeschaut, aber leider habe ich nur sehr wenig Ahnung mit JavaScript.
Ich werde das heute abend mal ausprobieren und dann noch ein Feedback geben.
Nochmals vielen Dank für die schnelle Reaktion!
Bitte warten ..
Mitglied: Elchfliege
17.03.2015 um 20:04 Uhr
Hallo nochmal
habe das Script angepasst und es funtkioniert wie es soll. Super, vielen Dank!
Falls es vielleicht jemand anderem hilft stelle ich das Script mal hier rein:

var c_name = this.getField('Person 1').value;
if (c_name == ""){
app.alert('Fältet ||Person 1: Förnamn/Efternam|| får inte vara tomt.');
exit;
}
var c_tel = this.getField('Telefon').value;
if (c_tel == ""){
app.alert('Fältet ||Telefon|| får inte vara tomt.');
exit;
}
var betreff = 'Dein Betreff / ' + c_name;
var body = 'Dein Text';
this.mailDoc(false, "info@xxxxx.xx", "", "", betreff, body );
Bitte warten ..
Mitglied: Elchfliege
20.03.2015 um 10:26 Uhr
Hallo
eine weitere Frage hierzu:
mein Kunde möchte gerne, dass sich das PDF-Dokument in einem neuen Tab oder neuer Seite öffnet. Vor allem auch auf dem Smartphone, so dass das Formular dann direkt im Smartphone (und auch am Desktop-PC) ausgefüllt und versendete werden kann.
Kann mir jemand einen Tipp geben dazu?
Vielen Dank im Voraus!
Bitte warten ..
Mitglied: colinardo
20.03.2015, aktualisiert um 11:09 Uhr
Was meinst du mit "auf einer neuer Seite" ? Im Browser ?
Dafür reicht es, dem Link in deiner HTML-Datei das Attribut target="_blank" mit zu geben.
<a href="http://www.domain.de/datei.pdf" target="_blank" >Dein Dokument</a>
Aber für sowas bitte in Zukunft einen neuen Thread aufmachen anstatt hier alte Sachen aufzuwärmen, das hat nun gar nichts mit dem Thread zu tun. Merci.

Grüße Uwe
Bitte warten ..
Mitglied: Elchfliege
20.03.2015 um 11:18 Uhr
Danke Uwe
Du hast recht, das ist natürlich eine andere Problematik.
Ich werde es nochmal an anderer Stelle erläutern.
Auf jeden Fall vielen Dank für die schnelle Reaktion.
Viele Grüße
Gert
Bitte warten ..
Ähnliche Inhalte
Webentwicklung
Wordpress und WooCommerce Produkte mit individuellem Formular
Frage von mpmichaelWebentwicklung

Hallo, ich habe ein etwas kniffeliges Problem. Es geht um Wordpress und WooCommerce. Ich habe 3 Produkte und bei ...

Microsoft Office
InfoPath 2013: Versenden eines Formulares als PDF per Email
Frage von Focus198Microsoft Office

Hallo Zusammen, ich habe ein InfoPath Formular gebaut und versende es mittels Schaltpläche per Email. Soweit so gut. Jetzt ...

Sonstige Systeme
PDF-Formulare mit handschriftlicher Unterschrift
Frage von FenjaWSonstige Systeme19 Kommentare

Hallo Zusammen, ich hoffe ihr könnt mir helfen. Ist es möglich ein PDF Dokument zu erstellen und mit einer ...

Windows Server
PDF Formular - Daten können nicht gespeichert werden
gelöst Frage von el-capitano86Windows Server5 Kommentare

Hallo zusammen, kurz zur Umgebung: 1x SBS 2008 und 1x Terminalserver unter 2008. Die User arbeiten alle ausschließlich auf ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 6 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 10 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware8 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...