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;