THotPDF.RegisterDocumentJavaScript

THotPDF

 

AcroForm Support

Đăng ký một hàm JavaScript có tên mức tài liệu trong Catalog /Names /JavaScript name tree (ISO 32000-1 §7.7.4.4 + §12.6.4.16). Các action widget AcroForm, action mở-tài-liệu và các phần thân JavaScript khác có thể gọi hàm đã đăng ký theo tên qua ’của trình đọc (Adobe Acrobat, Foxit và các viewer tương thích khác).

Cú pháp Delphi:

procedure RegisterDocumentJavaScript(const Name, Body: AnsiString);

Tham số

Name là key duy nhất mà mã nguồn JS được lưu dưới nó trong name tree. Phân biệt chữ hoa thường theo PDF 1.7 §7.9.6. Giá trị rỗng Name raise.

Body là mã nguồn JavaScript thô. HotPDF không phân tích hay xác thực JS – việc đúng cú pháp là trách nhiệm của caller. Caller điển hình truyền một khai báo hàm hoàn chỉnh (function GreetUser() { app.alert("hello"); }). Giá trị rỗng Body raise.

Mô tả

Mỗi lời gọi thêm một cặp (key, dict indirect) vào Catalog /Names /JavaScript name tree tại EndDoc lúc gọi. Mỗi Body đã đăng ký trở thành một << /S /JavaScript /JS (body) >> , sẵn sàng được tham chiếu theo tên từ bất kỳ action hoặc ngữ cảnh JS nào khác. Hữu ích khi chia sẻ một thư viện helper xác thực, định dạng hoặc tính toán xuyên nhiều widget mà không phải nhân bản mã nguồn vào từng /A action.

Đăng ký cùng Name hai lần sẽ raise nên caller không lặng lẽ mất định nghĩa đầu tiên của mình.

Các cổng tuân thủ

Raise với bất kỳ PDFACompliance cài đặt (ISO 19005-1 §6.6.1 / ISO 19005-2 §6.5.1 / ISO 19005-3 §6.5.1 cấm mọi JavaScript action trên các mức PDF/A). Raise với bất kỳ PDFXCompliance cài đặt (các workflow prepress ISO 15930 từ chối scripting tương tác). Tự nâng tài liệu Version lên PDF 1.3 khi cần; từ chối dưới StrictVersionLock nếu phiên bản đã chọn sớm hơn PDF 1.3.

Ví dụ

PDF := THotPDF.Create(nil);
PDF.FileName := 'form.pdf';
PDF.BeginDoc;
PDF.RegisterDocumentJavaScript('GreetUser',
'function GreetUser() { app.alert("Xin chào"); }');
PDF.RegisterDocumentJavaScript('ValidateNumber',
'function ValidateNumber(v) { if (isNaN(v)) app.alert("Không phải số"); }');
// ... AcroForm widget /A action can then call: ValidateNumber(this.value);
PDF.EndDoc;

Tính khả dụng

HotPDF v2.119.14. Tính năng PDF 1.3+; HotPDF tự nâng Version tài liệu trừ khi StrictVersionLock được đặt.

Xem thêm: Hỗ trợ AcroForm, THPDFActionScriptType