PDFium Component Docs

SetFormFieldFlags Methode

Deze API-entry behoudt identifiers, signatures, codeblokken en PDF-termen in hun oorspronkelijke vorm.
Component: TPdf  ·  Unit: PDFium
Stelt AcroForm-veldvlaggen in voor het formulierveld op de opgegeven annotatie-index van de huidige pagina

Syntaxis

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

IndexInteger. De 0-gebaseerde annotatie-index van het formulierveld op de huidige pagina. Moet in het bereik 0 tot AnnotationCount - 1 liggen
FlagsTPdfFormFieldFlags. Verzameling TPdfFormFieldFlag-waarden om op het veld toe te passen. Deze komen overeen met de AcroForm-veldvlaggen die in de PDF-specificatie zijn gedefinieerd, zoals read-only, required of no-export

Beschrijving

SetFormFieldFlags schrijft AcroForm-veldvlaggen naar de formwidget-annotatie op de gegeven 0-gebaseerde annotatie-index van de huidige pagina. De vlaggen bepalen het interactieve gedrag van het veld: bijvoorbeeld read-only maken voorkomt dat de gebruiker de waarde wijzigt, terwijl required maken aangeeft dat het veld moet worden ingevuld voordat het formulier kan worden verzonden

De parameter Index verwijst naar de annotatie-index zoals gerapporteerd door AnnotationCount, niet naar de formulierveld-index uit FormFieldCount. Gebruik FormFieldInfo of HasFormFieldAt om te bepalen welke annotatie-indexen overeenkomen met formwidgets. Om een veld via paginacoördinaten in plaats van via een index aan te spreken, gebruikt u SetFormFieldFlagsAt

Vlagwijzigingen werken onmiddellijk in het in-memory document, maar worden pas vastgelegd wanneer SaveAs wordt aangeroepen. Wanneer u een formulier na het invullen programmatisch vergrendelt, is de aanbevolen volgorde: FormField[]-waarden toewijzen, GenerateFormAppearances aanroepen, vlaggen op read-only zetten en dan SaveAs aanroepen

Voorbeeld

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;

Zie ook

FormField, FormFieldCount, FormFieldInfo, SetFormFieldFlagsAt, HasFormFieldAt