Advanced AcroForm Processing

HotPDF می‌تواند فیلدهای بارگذاری‌شده را دوباره محاسبه کند، appearanceهای متن متغیر مبتنی بر استاندارد را بازتولید کند، حالت‌های appearance حاشیه‌نویسی‌ها را resolve کند و مجموعه‌ای انتخاب‌شده از فیلدها را flatten کند، بدون اینکه صفحه‌های دست‌نخورده را دوباره بنویسد

Calculation order

RecalculateLoadedFormFields آرایهٔ /AcroForm /CO بارگذاری‌شده را دنبال می‌کند و عملیات محدود AFSimple_Calculate یعنی SUM، AVG، PRD، MIN و MAX را از طریق evaluator امن اسکریپت فیلد ارزیابی می‌کند

ApplyLoadedFieldCalculation action محاسبه را نصب می‌کند و فیلد هدف را بدون ورودی تکراری به /CO اضافه می‌کند

Safe field scripts

EvaluateLoadedFieldJavaScript فقط دستورهای اعلانیِ محاسبه و اعتبارسنجی را که به trigger فیلد درخواستی مربوط‌اند ارزیابی می‌کند

Variable-text appearances

EnsureLoadedFieldAppearanceStream همهٔ widgetها را پیمایش می‌کند و مقادیر /DA، /Q، /V، /DV، /Ff و /MaxLen را از سلسله‌مراتب فیلد یا AcroForm به ارث می‌برد

Annotation appearance states

GetLoadedAnnotationAppearanceStream appearanceهای normal، rollover یا down را resolve می‌کند و اگر rollover یا down موجود نباشد به normal برمی‌گردد

dictionaryهای حالت به این ترتیب عمل می‌کنند: /AS، سپس /V یا /DV به‌ارث‌رسیده، سپس حالت والد، سپس /Off و در آخر fallback به تک stream موجود

Selective flattening

FlattenLoadedFormFields فقط appearanceهای widgetهای انتخاب‌شده را در صفحه‌های صاحبشان رسم می‌کند، فقط فیلدها و حاشیه‌نویسی‌های متناظر را حذف می‌کند و هر صفحه و فیلد دست‌نخورده را نگه می‌دارد

The default permission gate refuses structural changes under DocMDP and enforces FieldMDP All, Include, and Exclude locks before any page is modified

PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');

APIهای مرتبط