PDFium Delphi Component Docs

FormFieldInfo Propiedad

Componente: TPdf  ·  Unidad: PDFium
Registro completo que describe un campo de formulario en un índice dado de la página activa

Syntax

property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo;// solo lectura

Description

FormFieldInfo devuelve un registro de instantánea TPdfFormFieldInfo para la anotación de widget de campo de formulario en el Index basado en cero de la página actualmente activa. El registro proporciona una vista fuertemente tipada de un widget de campo AcroForm sin tener que descifrar el manejador FPDF_ANNOTATION subyacente. La especificación PDF 1.7, sección 12.7, define los tipos y marcas de campo subyacentes

El registro lleva el Name del campo (ruta totalmente calificada a través de cualquier grupo de campos padre, p. ej. "order.shipto.address"), el AlternateName usado para las informaciones sobre herramientas accesibles, la enumeración FieldType (fiPushButton, fiCheckBox, fiRadioButton, fiTextField, fiListBox, fiComboBox, fiSignature o fiUnknown), el conjunto de bits Flags (ffReadOnly, ffRequired, ffNoExport, …), el ExportValue tal como se escribe en una exportación FormData, la marca Checked para campos booleanos, el FontSize usado para renderizar y las matrices de conjuntos de opciones OptionLabels / OptionSelected usadas por cuadros combinados y de lista Los widgets de botón de radio que pertenecen a un grupo rellenan además GroupCount y GroupIndex

Los índices válidos son 0 .. FormFieldCount - 1. El registro es un tipo por valor; modificar sus campos no escribe de vuelta al documento. Para cambiar el valor de un campo, asigne mediante FormField[Index]; para alterar la máscara de bits de marcas llame a SetFormFieldFlagsAt. La lectura es perezosa — PDFium decodifica los nombres de campo Unicode, las etiquetas de opción y los valores de exportación bajo demanda — así que cachee el resultado cuando itere muchos campos varias veces

Parameters

IndexÍndice de widget basado en cero en la página actual (0 .. FormFieldCount - 1)

Remarks

Example

var I, J: Integer;
var Info: TPdfFormFieldInfo;
for I := 0 to Pdf1.FormFieldCount - 1 do
begin
  Info := Pdf1.FormFieldInfo[I];
  Memo1.Lines.Add(Format('%s [%d] export=%s checked=%s',
    [Info.Name, Ord(Info.FieldType), Info.ExportValue, BoolToStr(Info.Checked, True)]));
  for J := 0 to High(Info.OptionLabels) do
    Memo1.Lines.Add(' ' + Info.OptionLabels[J]);
end;

See Also

FormField, FormFieldCount, FormFieldInfoAt, FormFieldAt, FormType