THotPDF.RegisterDocumentJavaScript

THotPDF

 

Suport AcroForm

Înregistrează o funcție JavaScript denumită la nivel de document în arborele de nume Catalog /Names /JavaScript (ISO 32000-1 §7.7.4.4 + §12.6.4.16). Acțiunile widgeturilor AcroForm, acțiunile de deschidere a documentului și alte corpuri JavaScript pot apela funcția înregistrată după nume prin motorul JavaScript al vizualizatorului (Adobe Acrobat, Foxit și alte vizualizatoare compatibile)

 

Sintaxă Delphi:

procedure RegisterDocumentJavaScript(const Name, Body: AnsiString);

 

Parametri

Name este cheia unică sub care sursa JS este stocată în arborele de nume. Sensibil la majuscule și minuscule conform PDF 1.7 §7.9.6. Un Name gol generează o eroare

Body este sursa JavaScript brută. HotPDF nu parsează și nu validează JS – apelantul este responsabil pentru corectitudinea sintactică. Apelurile tipice transmit o declarație completă de funcție (function GreetUser() { app.alert("hello"); }). Un Body gol generează o eroare

 

Descriere

Fiecare apel adaugă o pereche (cheie, dicționar indirect) în arborele de nume Catalog /Names /JavaScript la momentul EndDoc. Fiecare Body înregistrat devine propriul său dicționar indirect << /S /JavaScript /JS (body) >>, gata să fie referențiat după nume din orice altă acțiune sau context JS. Este util pentru partajarea unei biblioteci de ajutoare de validare, formatare sau calcul între multe widgeturi fără a duplica sursa în fiecare acțiune

Înregistrarea aceluiași Name de două ori generează o eroare, astfel încât apelanții să nu-și piardă în tăcere prima definiție

 

Constrângeri de conformitate

Generează o eroare la orice setare nevidă PDFACompliance (ISO 19005-1 §6.6.1 / ISO 19005-2 §6.5.1 / ISO 19005-3 §6.5.1 interzic toate acțiunile JavaScript la nivelurile PDF/A). Generează o eroare la orice setare nevidă PDFXCompliance (fluxurile de prepress ISO 15930 resping scriptingul interactiv). Crește automat Version-ul documentului la PDF 1.3 când este nevoie; refuză sub StrictVersionLock dacă versiunea aleasă este anterioară PDF 1.3

 

Exemplu

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;

 

Disponibilitate

HotPDF v2.119.14. Funcție PDF 1.3+; HotPDF crește automat Version-ul documentului dacă

 

Vezi și: Suport AcroForm, THPDFActionScriptType