THotPDF Loaded Form Field Editing Methods
Updates field constraints and widget appearance dictionaries in an existing AcroForm while preserving incremental-save and render-cache correctness
Field-level methods
procedure SetLoadedFormFieldFlags(FieldIndex, AFlags: Integer);
procedure SetLoadedFormFieldMaxLength(FieldIndex, AMaxLength: Integer);
procedure SetLoadedFormFieldJustification(FieldIndex: Integer;
AJustification: THPDFFormFieldJustification);
procedure SetLoadedFormFieldTooltip(FieldIndex: Integer; const ATooltip: AnsiString);
SetLoadedFormFieldFlagsreplaces the complete PDF/Ffbit maskSetLoadedFormFieldMaxLengthwrites/MaxLen; zero or a negative value removes the limitTHPDFFormFieldJustificationcontainsffjLeft,ffjCenter, andffjRightfor PDF/Qvalues 0 through 2
Widget geometry
function GetLoadedFormFieldWidgetCount(FieldIndex: Integer): Integer;
function GetLoadedFormFieldWidgetRect(FieldIndex, WidgetIndex: Integer;
out ARect: THPDFRect): boolean;
procedure SetLoadedFormFieldWidgetRect(FieldIndex, WidgetIndex: Integer;
X1, Y1, X2, Y2: Single);
- Field and widget indexes are zero based
- Widget enumeration exposes every
/Kidsentry of radio groups and other multi-widget fields - Rectangle endpoints use raw PDF user-space points and are normalized before writing
Widget appearance and visibility
procedure SetLoadedFormFieldRotation(FieldIndex, ADegrees: Integer);
procedure SetLoadedFormFieldBorderColor(FieldIndex: Integer;
ARed, AGreen, ABlue: Single);
procedure SetLoadedFormFieldVisibility(FieldIndex: Integer;
AVisible, APrintable: boolean);
procedure SetLoadedFormFieldBorderWidth(FieldIndex: Integer; AWidth: Single);
procedure SetLoadedFormFieldBackgroundColor(FieldIndex: Integer;
ARed, AGreen, ABlue: Single);
- Rotation accepts positive or negative multiples of 90 degrees and stores the normalized
/MK /Rvalue - Border and background RGB components are clamped to the PDF DeviceRGB range from 0 through 1
- Appearance and visibility setters update every widget belonging to the selected field
- Visibility preserves unrelated annotation flags while controlling Hidden, NoView, and Print
Incremental update behavior
- Field, widget,
/MK, and/BSdictionaries are marked dirty at the level where each value is stored - Visual changes invalidate only the affected page's cached DPI variants
- Invalid field or widget indexes leave the document unchanged
Example
PDF.BeginIncrementalUpdate('input.pdf');
PDF.SetLoadedFormFieldMaxLength(0, 40);
PDF.SetLoadedFormFieldJustification(0, ffjCenter);
PDF.SetLoadedFormFieldRotation(0, 90);
PDF.SetLoadedFormFieldBorderColor(0, 0.1, 0.4, 0.8);
PDF.SetLoadedFormFieldWidgetRect(1, 1, 80, 150, 100, 170);
PDF.SaveIncrementalUpdate('updated.pdf');
Related APIs
Loaded form field methods · Loaded document toolkit · THotPDF