procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags);
| Index | Integer. Det nollbaserade annoteringsindexet för formulärfältet på den aktuella sidan. Måste ligga i intervallet 0 till AnnotationCount - 1 |
| Flags | TPdfFormFieldFlags. En mängd TPdfFormFieldFlag-värden som tillämpas på fältet. De motsvarar AcroForm-fältflaggorna som definieras i PDF-specifikationen, till exempel read-only, required eller no-export |
SetFormFieldFlags skriver AcroForm-fältflaggor till formulärwidget-annoteringen vid det angivna nollbaserade annoteringsindexet på den aktuella sidan. Flaggorna styr fältets interaktiva beteende: att till exempel markera det som read-only hindrar användaren från att ändra dess värde, medan required signalerar att det måste fyllas i innan formuläret kan skickas in
Parametern Index avser annoteringsindexet så som det rapporteras av AnnotationCount, inte formulärfältindexet som rapporteras av FormFieldCount. Använd FormFieldInfo eller HasFormFieldAt för att identifiera vilka annoteringsindex som motsvarar formulärwidgetar. För att adressera ett fält med sidkoordinater i stället för med index, använd SetFormFieldFlagsAt
Flaggändringar börjar gälla omedelbart i dokumentet i minnet men sparas inte beständigt förrän SaveAs anropas. När ett formulär låses programmatiskt efter ifyllnad är den rekommenderade sekvensen: tilldela FormField[]-värden, anropa GenerateFormAppearances, sätt flaggorna till read-only och anropa sedan SaveAs
var
I: Integer;
begin
Pdf1.PageIndex := 0;
// Mark every form field on the page as read-only
for I := 0 to Pdf1.AnnotationCount - 1 do
if Pdf1.FormFieldInfo[I].FieldType <> fftUnknown then
Pdf1.SetFormFieldFlags(I, [ffReadOnly]);
Pdf1.SaveAs('output_readonly.pdf');
end;