function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overload;
function DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): Boolean; overload;
function DeviceToPage(Rectangle: TRect): TPdfRectangle; overload;
Преобразует экранный пиксель (X, Y) внутри вьювера в точку PDF user-space на текущей странице
Возвращает False, когда точка лежит вне прямоугольника страницы; используйте в OnMouseDown / OnMouseMove, чтобы отобразить курсор в координаты PDF
TPdfView ведёт преобразование device-to-page внутри, отталкиваясь от Zoom, Rotation, полей страницы и смещения прокрутки; эти хелперы — безопасный публичный интерфейс к этому преобразованию
PageNumber := делают кэшированные координаты недействительнымиRotation, так что страница, повёрнутая на 90°, всё равно отображается в правильный прямоугольник PDF
procedure TForm1.PdfView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
PageX, PageY: Double;
begin
if PdfView1.DeviceToPage(X, Y, PageX, PageY) then
Caption := Format('pt = (%.2f, %.2f)', [PageX, PageY]);
end;