|
/Names /JavaScriptيسجل مقطع JavaScript مسمى على مستوى المستند ليتم تشغيله عند فتح المستند أو الإشارة إليه بواسطة إجراءات تفاعلية (PDF 1.3 §12.6.4.16 / §12.7.4.2.4 الجدول 222)
صيغة Delphi:
procedure RegisterDocumentJavaScript(const Name, Body: AnsiString);
المعلمات
Name هو المفتاح الفريد الذي يخزن تحته مصدر JS في name tree. هو case-sensitive وفق PDF 1.7 §7.9.6. يرفع Name الفارغ exception
Body is the raw JavaScript source. HotPDF does not parse or validate the JS – the caller is responsible for syntactic correctness. Typical callers pass a complete function declaration (function GreetUser() { app.alert("hello"); }). Empty Body raises.
الوصف
تضيف كل مكالمة زوج (مفتاح، قاموس غير مباشر) إلى شجرة اسم الفهرس /Names /JavaScript في وقت EndDoc. يصبح كل متن registered Body قاموس << /S /JavaScript /JS (body) >> غير مباشر خاص به، جاهزًا للإشارة إليه بالاسم من أي إجراء آخر أو سياق JS. مفيد لمشاركة مكتبة من مساعدي التحقق أو التنسيق أو الحساب عبر العديد من العناصر دون تكرار المصدر في كل إجراء /A
يؤدي تسجيل نفس الـ Name مرتين إلى إثارة استثناء حتى لا يفقد المستدعون تعريفهم الأول بصمت
بوابات الامتثال
يثير استثناءً تحت أي إعداد PDFACompliance غير فارغ (تمنع المواصفات ISO 19005-1 §6.6.1 / ISO 19005-2 §6.5.1 / ISO 19005-3 §6.5.1 جميع إجراءات JavaScript عبر مستويات PDF/A). يثير استثناءً تحت أي إعداد PDFXCompliance غير فارغ (ترفض عمليات سير العمل المسبقة للنشر ISO 15930 البرمجة النصية التفاعلية). يرفع تلقائيًا Version المستند إلى PDF 1.3 عند الحاجة؛ ويرفض تحت StrictVersionLock إذا كان الإصدار المختار يسبق PDF 1.3
مثال
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;
التوفر
الإصدار HotPDF v2.119.14. ميزة PDF 1.3+؛ يقوم HotPDF تلقائيًا برفع إصدار المستند ما لم يتم تعيين StrictVersionLock
انظر أيضا: AcroForm Support، THPDFActionScriptType
|