Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

DynaPDF.SetFieldFlags

The function sets the flags of a specific interactive form field.

Component Version macOS Windows Linux Server iOS SDK
DynaPDF 4.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "DynaPDF.SetFieldFlags"; PDF; Field; Flags; Reset )   More

Parameters

Parameter Description Example
PDF The PDF reference returned from DynaPDF.New. $pdf
Field The field index or field name. "FirstName"
Flags New field flags. You can pass a flag by name 1
Reset Pass 1 to set flags to the ones you passed or pass 0 to add the flag. 1

Result

Returns OK or error.

Description

The function sets the flags of a specific interactive form field.
The parameter Flags is a bit mask, multiple flags can be set by adding the values or use a bitwise Or operator, e.g. Print + Multiline (4096+32 = 4128). If the parameter Reset is 1 the flags of the field are set to the ones specified. If Reset is 0, the flags are added by using a bitwise Or operator.

Possible flag names: ReadOnly, Required, NoExport, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, Multiline, Password, NoToggleToOff, RadioIsUnion, CommitOnSelCh, Edit, Sorted, FileSelect, MultiSelect, DoNotSpellCheck, DoNotScroll or Comb.
See Dynapdf_help.pdf for the meaning of the flags or their numerical value.

Instead of making a field read only, you can also flatten it with DynaPDF.FlattenAnnotOrField function.

See also SetFieldFlags function in DynaPDF manual.

Examples

Create a read only invisible field to e.g. hide your record ID in FileMaker:

Set Variable [ $r; Value:
Let ( [
fieldName = "ID";
field = MBS( "DynaPDF.CreateTextField"; $pdf; fieldName; -1; 0; 200; 120; -50; 300; 20 );
r = MBS("DynaPDF.SetFieldFlags"; $pdf; field; "Hidden ReadOnly Invisible NoView"; 0)
/* yes, three ways to hide! */
]; field ) ]

Create readonly field:

Set Variable [ $r; Value:
Let ( [
    fieldName = "Customer No";
    field = MBS( "DynaPDF.CreateTextField"; $pdf; fieldName; -1; 0; 200; 120; -50; 300; 20 );
    r = MBS("DynaPDF.SetFieldFlags"; $pdf; field; "ReadOnly"; 0)
]; field ) ]

Loop over all fields and turn them read only:

Set Variable [ $count ; Value: MBS( "DynaPDF.GetFieldCount"; $PDF ) ]
Set Variable [ $index ; Value: 0 ]
If [ $index$count ]
    Loop [ Flush: Always ]
        # turn field to read only
        Set Variable [ $r ; Value: MBS("DynaPDF.SetFieldFlags"; $pdf; $index; "ReadOnly"; 0 ) ]
        #
        # next
        Set Variable [ $index ; Value: $index + 1 ]
        Exit Loop If [ $index$count ]
    End Loop
End If

See also

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 15th December 2023


DynaPDF.SetFieldExpValueEx - DynaPDF.SetFieldFont