PDFium Component Docs

SetFormFieldFlags Yöntem

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
Geçerli sayfadaki belirtilen annotation dizinindeki form field için AcroForm field flags ayarlar

Söz dizimi

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

IndexTamsayı. Geçerli sayfadaki form alanının 0 tabanlı annotation dizini. 0 ile AnnotationCount - 1 aralığında olmalıdır
FlagsTPdfFormFieldFlags. Alan için uygulanacak TPdfFormFieldFlag değerleri kümesi. Bunlar, PDF belirtiminde tanımlanan AcroForm alan bayraklarına karşılık gelir; örneğin read-only, required ya da no-export

Açıklama

SetFormFieldFlags, geçerli sayfadaki form widget annotation'ına verilen 0 tabanlı annotation dizininde AcroForm alan bayraklarını yazar. Bayraklar alanın etkileşimli davranışını denetler: örneğin read-only yapmak kullanıcının değerini değiştirmesini engeller, required yapmak ise form gönderilmeden önce doldurulması gerektiğini bildirir

Index parametresi FormFieldCount tarafından bildirilen form-field dizinini değil, AnnotationCount tarafından bildirilen annotation dizinini ifade eder. Hangi annotation dizinlerinin form widget'larına karşılık geldiğini belirlemek için FormFieldInfo ya da HasFormFieldAt kullanın. Bir alana dizin yerine sayfa koordinatlarıyla erişmek için SetFormFieldFlagsAt kullanın

Bayrak değişiklikleri belgenin bellek içi kopyasında hemen geçerli olur ama SaveAs çağrılana kadar kalıcı değildir. Bir formu doldurduktan sonra programatik olarak kilitlerken önerilen sıra şudur: FormField[] değerlerini ata, GenerateFormAppearances çağır, bayrakları read-only yap, sonra SaveAs çağır

Örnek

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;

Ayrıca bkz.

FormField, FormFieldCount, FormFieldInfo, SetFormFieldFlagsAt, HasFormFieldAt