PDFium Component Docs

SetFormFieldFlags Metoda

Component: TPdf  ·  Unit: PDFium
Ustawia flagi pola AcroForm dla pola formularza o podanym indeksie adnotacji na bieżącej stronie

Syntax

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

IndexInteger. Oparty na 0 indeks adnotacji pola formularza na bieżącej stronie. Musi mieścić się w zakresie od 0 do AnnotationCount - 1
FlagsTPdfFormFieldFlags. Zbiór wartości TPdfFormFieldFlag do zastosowania wobec pola. Odpowiadają flagom pola AcroForm zdefiniowanym w specyfikacji PDF, takim jak read-only, required czy no-export

Description

SetFormFieldFlags zapisuje flagi pola AcroForm w adnotacji widżetu formularza o podanym, opartym na 0 indeksie adnotacji na bieżącej stronie. Flagi sterują interaktywnym zachowaniem pola: na przykład oznaczenie go jako read-only uniemożliwia użytkownikowi zmianę jego wartości, a oznaczenie jako required sygnalizuje, że musi ono zostać wypełnione przed przesłaniem formularza

Parametr Index odnosi się do indeksu adnotacji podawanego przez AnnotationCount, a nie do indeksu pola formularza podawanego przez FormFieldCount. Użyj FormFieldInfo lub HasFormFieldAt, aby ustalić, które indeksy adnotacji odpowiadają widżetom formularza. Aby adresować pole przez współrzędne na stronie zamiast przez indeks, użyj SetFormFieldFlagsAt

Zmiany flag działają natychmiast w dokumencie w pamięci, ale nie są utrwalane do czasu wywołania SaveAs. Przy programowym blokowaniu formularza po jego wypełnieniu zalecana sekwencja to: przypisać wartości FormField[], wywołać GenerateFormAppearances, ustawić flagi na read-only, a następnie wywołać SaveAs

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