|
Registrerer en navngiven JavaScript-funktion på dokumentniveau i kataloget/Names /JavaScriptnavnetræ (ISO 32000-1 §7.7.4.4 + §12.6.4.16); AcroForm-widget-handlinger, dokumentåbne-handlinger og andre JavaScript-brødtekster kan kalde den registrerede funktion efter navn via viserens JavaScript-motor (Adobe Acrobat, Foxit og andre kompatible visere)
Delphi-syntaks:
procedure RegisterDocumentJavaScript(const Name, Body: AnsiString);
Parametre
Nameer den unikke nøgle, under hvilken JS-kilden gemmes i navnetræet; der skelnes mellem store og små bogstaver pr. PDF 1.7 §7.9.6; tomName raises
Bodyer den rå JavaScript-kilde; HotPDF tolker eller validerer ikke JS'en – kalderen er ansvarlig for syntaktisk korrekthed; typiske kaldere sender en komplet funktionserklæring (function GreetUser() { app.alert("hello"); }). Empty Body raises
Beskrivelse
Hvert kald tilføjer et (nøgle, indirekte ordbog) par til kataloget/Names /JavaScriptnavnetræet vedEndDoctid; hver registreret Body bliver sin egen indirekte<< /S /JavaScript /JS (body) >>ordbog, klar til at blive refereret efter navn fra enhver anden handling eller JS-kontekst; nyttigt til deling af et bibliotek af validerings-, formaterings- eller beregningshjælpere på tværs af mange widgets uden at kopiere kilden i hver/A action
Registrering af den sammeNameto gange udløser en undtagelse, så kaldere ikke lydløst mister deres første definition
Overholdelsesporte
Udløser en undtagelse under enhver ikke-tomPDFAComplianceindstilling (ISO 19005-1 §6.6.1 / ISO 19005-2 §6.5.1 / ISO 19005-3 §6.5.1 forbyder alle JavaScript-handlinger på tværs af PDF/A-niveauer); udløser en undtagelse under enhver ikke-tomPDFXComplianceindstilling (ISO 15930 prepress-arbejdsgange afviser interaktiv scripting); opgraderer automatisk dokumentetVersiontil PDF 1.3 efter behov; afviser underStrictVersionLockhvis den valgte version er ældre end PDF 1.3
Eksempel
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-handling kan derefter kalde: ValidateNumber(this.value); PDF.EndDoc;
Availability
HotPDF v2.119.14. PDF 1.3+ funktion; HotPDF opgraderer automatisk dokumentets Version, medmindreStrictVersionLocker indstillet
Se også: AcroForm-understøttelse, THPDFActionScriptType
|