Metode THotPDF.RegisterDocumentJavaScript

THotPDF

 

Dukungan AcroForm

Mendaftarkan fungsi JavaScript bernama di tingkat dokumen dalam name tree Catalog /Names /JavaScript (ISO 32000-1 §7.7.4.4 + §12.6.4.16). Aksi widget AcroForm, aksi buka dokumen, dan body JavaScript lain dapat memanggil fungsi yang terdaftar dengan nama melalui mesin JavaScript penampil (Adobe Acrobat, Foxit, dan penampil lain yang kompatibel)

 

Sintaks Delphi:

procedure RegisterDocumentJavaScript(const Name, Body: AnsiString);

 

Parameter

Name adalah kunci unik tempat sumber JS disimpan dalam name tree. Peka huruf besar-kecil menurut PDF 1.7 §7.9.6. Name kosong menimbulkan kesalahan

Body adalah sumber JavaScript mentah. HotPDF tidak mem-parsing atau memvalidasi JS – pemanggil bertanggung jawab atas kebenaran sintaks. Pemanggil biasanya melewatkan deklarasi fungsi lengkap (function GreetUser() { app.alert("hello"); }). Body kosong menimbulkan kesalahan

 

Deskripsi

Setiap panggilan menambahkan pasangan (key, dict tidak-langsung) ke pohon nama /Names /JavaScript Katalog pada saat EndDoc. Setiap Body yang terdaftar menjadi dict tidak-langsung << /S /JavaScript /JS (body) >> miliknya sendiri, siap dirujuk per nama dari aksi atau konteks JS lainnya. Berguna untuk berbagi library helper validasi, pemformatan, atau kalkulasi ke banyak widget tanpa menduplikasi sumbernya di setiap aksi /A.

Mendaftarkan Name yang sama dua kali menimbulkan kesalahan agar pemanggil tidak diam-diam kehilangan definisi pertama

 

Pemeriksaan kepatuhan

Menimbulkan kesalahan di bawah setelan PDFACompliance apa pun yang tidak kosong (ISO 19005-1 §6.6.1 / ISO 19005-2 §6.5.1 / ISO 19005-3 §6.5.1 melarang semua aksi JavaScript di seluruh level PDF/A). Menimbulkan kesalahan di bawah setelan PDFXCompliance apa pun yang tidak kosong (alur kerja prepress ISO 15930 menolak skrip interaktif). Secara otomatis menaikkan Version dokumen ke PDF 1.3 bila perlu; menolak di bawah StrictVersionLock jika versi yang dipilih lebih lama dari PDF 1.3

 

Contoh

PDF := THotPDF.Create(nil);
PDF.FileName := 'form.pdf';
PDF.BeginDoc;
PDF.RegisterDocumentJavaScript('GreetUser',
  'function GreetUser() { app.alert("Hello"); }');
PDF.RegisterDocumentJavaScript('ValidateNumber',
  'function ValidateNumber(v) { if (isNaN(v)) app.alert("Not a number"); }');
// ... AcroForm widget /A action can then call: ValidateNumber(this.value);
PDF.EndDoc;

 

Ketersediaan

HotPDF v2.119.14. Fitur PDF 1.3+; HotPDF menaikkan Version dokumen secara otomatis kecuali StrictVersionLock disetel

 

Lihat juga: Dukungan AcroForm, THPDFActionScriptType