2012-12-07 14 views
5

Próba zapisu do pliku tekstowego w/Adobe Acrobat Reader z wykorzystaniem AcroJS.Zapisywanie pliku tekstowego za pomocą programu acrobat javascript

Jako koncepcja uzyskałem sposób korzystania z zaufanych funkcji w programie Acrobat, ale gdy próbowałem uruchomić następujący przykład, aby zapisać (inny problem niż oryginał), formularz pdf pod inną nazwą przy użyciu this.saveAs (..) otrzymał błąd. Moje pytanie jest dwojakie;

1- Dlaczego pojawia się komunikat "Ustawienia zabezpieczeń uniemożliwiają dostęp do tej właściwości lub metody" i jak mogę się go pozbyć?

zaufany funkcję w javascript folder jest jako follwos (copeid off w internecie)

var mySaveAs = app.trustedFunction(function(cFlName) 
    { 
     app.beginPriv(); 
     try{ 
      this.saveAs(cFlName); 
      } 
     catch(e){ 
       app.alert("Error During Save " + e.message); 
       } 
     app.endPriv(); 
    }); 

Wołam zaufanego funkcję z doucment jako follwos i spodziewa się plik o nazwie sample.pdf zostanie wygenerowany wewnątrz "C:/test"

 if(typeof(mySaveAs) == "function") 
    { 
     mySaveAs("/C/test/sample.pdf"); 
    } 
    else 
    { 
     app.alert("Missing Save Function"); 
    } 

2- Jak napisać do pliku tekstowego? Tutaj chcę wyodrębnić niektóre wartości pól z formularza PDF i zapisać je w pliku tekstowym (lub XML)!

Odpowiedz

3
  1. Jak można się domyślić, jest to środek bezpieczeństwa zapobiegający spustoszenia złośliwych skryptów. Musisz wyłączyć ustawienia zabezpieczeń. Aby to zrobić, naciśnij Ctrl + K na Preferencje, przejdź do karty Rozszerzone zabezpieczenia i wyłącz to.

    Aby uzyskać więcej informacji na temat dodawania zwiększonych zabezpieczeń, patrz: http://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/enhanced.html

  2. O ile mi wiadomo, nie ma żadnych funkcji, które pozwolą na zapisanie dowolnych danych do pliku tekstowego lub pliku XML. Jednakże, masz kilka opcji:

    • Zastosowanie Doc.exportAsText (tekst) i Doc.exportAsFDF (XML) do eksportowania danych ze starannie spreparowane dziedzinach. To nie jest bardzo proste i trochę niezręczne, ale działa.

    • Zastosowanie Net.HTTP.request lub Net.SOAP wysłać dane do lokalnego serwera WWW ad-hoc (np: coś prostego, bieganie Python lub PHP) i niech obsłużyć żądania. To pozwala ci robić praktycznie wszystko, co chcesz, ale wymaga więcej pracy, aby skonfigurować serwer.

    Patrz: Acrobat JS API Reference

Powiązane problemy