PDFium Delphi Component Docs

FormFieldInfoAt Propiedad

Componente: TPdf  ·  Unidad: PDFium
Registro del campo de formulario del widget situado en la coordenada de página indicada

Syntax

property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo;// solo lectura

Description

FormFieldInfoAt realiza una prueba de impacto en la página actualmente activa y devuelve el registro TPdfFormFieldInfo que describe la anotación de widget en (X, Y). Las coordenadas están en el espacio de usuario PDF, con el origen en la esquina inferior izquierda de la página y las unidades expresadas en puntos (1/72 de pulgada). El registro refleja lo que devuelve FormFieldInfo[Index] — tipo de campo (fiTextField, fiCheckBox, …), nombre de campo, nombre alternativo, marcas, etiquetas de opción, estado de marcado, valor de exportación y tamaño de fuente

Cuando la coordenada no cae dentro de ningún rectángulo de widget, FormFieldInfoAt devuelve un TPdfFormFieldInfo inicializado por defecto — FieldType = fiUnknown y cadenas vacías en todo. Use HasFormFieldAt[X, Y] para una sonda sí/no barata antes de recuperar el registro completo, o simplemente compruebe el FieldType devuelto

La búsqueda es O(n) sobre los widgets de la página y además decodifica los metadatos de campo Unicode, por lo que es más pesada que HasFormFieldAt. En un manejador de movimiento del ratón compruebe HasFormFieldAt primero; solo llame a FormFieldInfoAt en clic o al entrar con el puntero. Las coordenadas de una posición del ratón pasan por TPdfView.PointToPage primero para traducir los píxeles de dispositivo a unidades de página

Remarks

Example

procedure TForm1.PdfView1Click(Sender: TObject);
var Info: TPdfFormFieldInfo;
  PageX, PageY: Double;
begin
  PdfView1.PointToPage(Mouse.CursorPos.X, Mouse.CursorPos.Y, PageX, PageY);
  Info := Pdf1.FormFieldInfoAt[PageX, PageY];
  if Info.FieldType <> fiUnknown then
    ShowMessage(Info.Name);
end;

See Also

HasFormFieldAt, FormFieldInfo, FormFieldAt, FormFieldCount