function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Las coordenadas en espacio de dispositivo del punto que se va a convertir, en píxeles de pantalla con origen en la esquina superior izquierda |
| Left, Top, Width, Height | Integer. El rectángulo de renderizado que se pasó a la llamada correspondiente de RenderPage |
| Rotation | TRotation. La rotación de página usada al renderizar. Debe coincidir con el valor pasado a RenderPage |
| PageX, PageY | Double. Parámetros de salida que reciben las coordenadas convertidas del espacio de usuario PDF, con origen en la esquina inferior izquierda y unidades en puntos |
True si la conversión tuvo éxito, o False si falló, por ejemplo, si no hay ninguna página cargadaConvierte un punto del espacio de dispositivo, es decir, píxeles de pantalla, al espacio de usuario PDF, en puntos. Use este método para llevar la posición de un clic del mouse sobre una página renderizada a la posición correspondiente en la página PDF
El espacio de usuario PDF tiene su origen en la esquina inferior izquierda de la página, con el eje Y apuntando hacia arriba. El espacio de dispositivo tiene su origen en la esquina superior izquierda del rectángulo de renderizado, con el eje Y apuntando hacia abajo
Los parámetros Left, Top, Width, Height y Rotation deben coincidir exactamente con lo que se pasó a la llamada de RenderPage que generó la imagen sobre la que se hizo clic
// Convierte un clic del mouse sobre la página renderizada a coordenadas PDF
procedure TForm1.PdfPanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
PageX, PageY: Double;
begin
if Pdf.DeviceToPage(X, Y, 0, 0, PdfPanel.Width, PdfPanel.Height,
ro0, PageX, PageY) then
StatusBar1.SimpleText := Format('Page pos: %.1f, %.1f pt', [PageX, PageY]);
end;