PDFium Delphi Component Docs

SetFormFieldFlags Yöntem

Component: TPdf  ·  Unit: PDFium
Geçerli sayfadaki belirtilen annotation dizinindeki form field için AcroForm field flags ayarlar

Syntax

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

IndexInteger. Geçerli sayfada form alanının sıfır tabanlı annotation indeksi. 0 ile AnnotationCount - 1 aralığında olmalıdır
FlagsTPdfFormFieldFlags. Alana uygulanacak TPdfFormFieldFlag değerleri kümesi. Bunlar, PDF specification'ında tanımlı AcroForm alan flag'lerine karşılık gelir; salt okunur, zorunlu veya no-export gibi

Description

SetFormFieldFlags, geçerli sayfada verilen sıfır tabanlı annotation indeksindeki form widget annotation'ına AcroForm alan flag'lerini yazar. Flag'ler alanın etkileşimli davranışını denetler: örneğin salt okunur işaretlemek kullanıcının değerini değiştirmesini engeller; zorunlu işaretlemek ise form gönderilmeden önce doldurulması gerektiğini belirtir

Index parametresi, FormFieldCount'un bildirdiği form-alan indeksini değil, AnnotationCount'un bildirdiği annotation indeksini ifade eder. Hangi annotation indekslerinin form widget'larına karşılık geldiğini belirlemek için FormFieldInfo'yu veya HasFormFieldAt'ı kullanın. Bir alana indeks yerine sayfa koordinatlarıyla erişmek için SetFormFieldFlagsAt'ı kullanın

Flag değişiklikleri bellek içi dokümanda anında etkili olur ama SaveAs çağrılana kadar kalıcılaşmaz. Bir formu doldurduktan sonra programatik olarak kilitlearken önerilen sıra şudur: FormField[] değerlerini atayın, GenerateFormAppearances'i çağırın, flag'leri salt okunur olarak ayarlayın, ardından SaveAs'i çağırın

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