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;
ビュー内の screen pixel (X, Y) を、現在ページ上の PDF user-space の点へ変換します
点がページ rectangle の外に出ると False を返します。OnMouseDown / OnMouseMove でカーソルを PDF 座標へマップするのに使います
TPdfView は Zoom、Rotation、ページパディング、スクロールオフセットに基づく device-to-page 変換を内部に維持しており、これらのヘルパーがその変換への安全な公開インターフェースです
PageNumber := 代入はキャッシュ済み座標を無効化しますRotation を尊重するため、90° 回転したページでも正しい PDF rectangle に対応付けられます
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;