2016-05-06 7 views
0

Ich habe JavaScript-Code in wenigen Ereignissen in einem Adobe LiveCycle-Formular. Wenn es mit PDF4NET mit Daten geladen wird, führt es das Javascript nicht aus, das in anderen Ereignissen vorhanden ist. Hier ist der Beispielcode. Bitte helfen Sie mir, was ich ändern muss, damit es funktioniert.PDF4NET nicht das Javascript in Adobe LiveCycle-Formular

Beispielcode in Livecycle Form:

SampleForm::prePrint - (JavaScript, both, Propagation Enabled) 

SampleForm.SubForm1.TextField1.rawValue=SampleForm.SubForm1.TextField2.rawValue; 

-Code in C#:

  PDFDocument pDFDocument = new PDFDocument(stream); 

      ... populate fields ...... 

     pDFDocument.get_Form().FlattenFormFields(); 
     System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); 
     pDFDocument.Save(memoryStream); 
...... 

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

0

Dies ist vor allem Vermutungen, weil ich PDF4NET nicht kenne, aber einer dieser Vorschläge könnte funktionieren.

Nachdem wir die Website für PDF4NET angeschaut haben, sieht es so aus, als ob sie nur statische XFA-Formulare unterstützt. Dies bedeutet, dass die JavaScript-Ereignisse wahrscheinlich nicht ausgeführt werden. Sie können dies überprüfen, indem Sie ein Feld für das init-Ereignis (entweder für das Feld oder das Formular) ausfüllen und prüfen, ob es funktioniert.

Wenn die Skript-Ereignisse ausgeführt werden, ist Ihr Skript je nach Javascript-Interpreter und XFA-Objektmodell möglicherweise falsch. Es ist möglicherweise nicht in der Lage, SampleForm von einem Skript auf SampleForm aufzulösen. Versuchen Sie das Skript on SubForm1 setzen und es so zu ändern:

TextField1.rawValue = TextField2.rawValue; 

Wenn das fehlschlägt Sie versuchen resolveNode() verwenden könnte, die Felder zu erhalten.