PDFium Component Docs

SetFormFieldFlags methode

Component: TPdf  ·  Unit: PDFium
Stelt AcroForm-veldvlaggen in voor het formulierveld op de opgegeven annotatie-index op de huidige pagina

Syntax

procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags);

IndexInteger. De op 0 gebaseerde annotatie-index van het formulierveld op de huidige pagina. Moet in het bereik 0 tot AnnotationCount - 1 liggen.
FlagsTPdfFormFieldFlags. Een set TPdfFormFieldFlag-waarden om op het veld toe te passen. Deze komen overeen met de AcroForm-veldvlaggen gedefinieerd in de PDF-specificatie, zoals alleen-lezen, verplicht of niet-exporteren.

Description

SetFormFieldFlags schrijft AcroForm-veldvlaggen naar de formulierwidgetannotatie op de opgegeven op 0 gebaseerde annotatie-index op de huidige pagina. De vlaggen besturen interactief gedrag van het veld: bijvoorbeeld het markeren als alleen-lezen voorkomt dat de gebruiker de waarde wijzigt, terwijl het markeren als verplicht signaleert dat het moet worden ingevuld voordat het formulier kan worden ingediend.

De parameter Index verwijst naar de annotatie-index zoals gerapporteerd door AnnotationCount, niet de formulierveld-index gerapporteerd door FormFieldCount. Gebruik FormFieldInfo of HasFormFieldAt om te identificeren welke annotatie-indices overeenkomen met formulierwidgets. Om een veld te adresseren op paginacoördinaten in plaats van index gebruikt u SetFormFieldFlagsAt.

Vlagwijzigingen treden onmiddellijk in werking in het in-geheugen-document maar worden niet bewaard totdat SaveAs wordt aangeroepen. Bij het programmatisch vergrendelen van een formulier na invullen is de aanbevolen volgorde: wijs FormField[]-waarden toe, roep GenerateFormAppearances aan, stel vlaggen in op alleen-lezen, en roep vervolgens SaveAs aan.

Example

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;

See Also

FormField, FormFieldCount, FormFieldInfo, SetFormFieldFlagsAt, HasFormFieldAt