2012-12-07 43 views
5

Cố gắng ghi vào một tập tin văn bản w/Adobe Acrobat Reader sử dụng AcroJS.Viết tập tin văn bản bằng cách sử dụng acrobat javascript

Là một khái niệm tôi đã biết cách sử dụng các hàm tin cậy trong Acrobat nhưng khi tôi cố gắng chạy ví dụ sau để lưu (vấn đề khác thì bản gốc) biểu mẫu pdf dưới một tên khác bằng cách sử dụng this.saveAs (..) đã nhận được lỗi. Câu hỏi của tôi là hai lần;

1- Tại sao tôi nhận được thông báo "Cài đặt bảo mật ngăn chặn quyền truy cập vào thuộc tính hoặc phương pháp này" và làm cách nào để loại bỏ lỗi này?

chức năng đáng tin cậy trong javascript thư mục là như follwos (copeid tắt web)

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

Tôi gọi hàm tin cậy từ doucment như follwos và mong đợi một tập tin với tên sample.pdf sẽ được tạo bên trong "C:/test"

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

2- Làm cách nào để ghi vào tệp văn bản? Ở đây tôi muốn trích xuất một số giá trị trường từ dạng PDF và ghi chúng vào một tệp văn bản (hoặc XML)!

Trả lời

3
  1. Như bạn có thể đoán, đó là biện pháp bảo mật để ngăn chặn các tập lệnh độc hại gây ra sự tàn phá. Bạn cần phải tắt cài đặt bảo mật. Để thực hiện việc này, hãy nhấn Ctrl + K vào Tùy chọn, chuyển đến tab Bảo mật nâng cao và tắt tính năng này.

    Để biết thông tin bổ sung về tăng cường an ninh, tham khảo: http://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/enhanced.html

  2. Theo như tôi biết, không có bất kỳ chức năng mà sẽ cho phép bạn ghi dữ liệu tùy ý vào một tập tin văn bản hoặc tập tin XML. Tuy nhiên, bạn có một vài lựa chọn:

    • Sử dụng Doc.exportAsText (văn bản) và Doc.exportAsFDF (XML) để xuất dữ liệu từ các lĩnh vực chế tác một cách cẩn thận. Đây không phải là rất đơn giản và một chút khó xử, nhưng nó hoạt động.

    • Sử dụng Net.HTTP.request hoặc Net.SOAP để gửi dữ liệu đến máy chủ web cục bộ đặc biệt (ví dụ: đơn giản, chạy Python hoặc PHP) và để chúng xử lý yêu cầu. Điều này cho phép bạn làm khá nhiều thứ bạn muốn, nhưng yêu cầu nhiều công việc hơn để thiết lập máy chủ.

    Xem: Acrobat JS API Reference

Các vấn đề liên quan