Документация PDFiumPas

DeviceToPage Метод

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdfView  ·  Модуль: PDFium
Преобразует экранный пиксель (X, Y) внутри просмотра в точку PDF user-space на текущей странице

Синтаксис

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, отступов страницы и смещения прокрутки; эти помощники являются безопасным общедоступным интерфейсом к этому преобразованию

Примечания

Пример

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;

См. также

PageToDevice, CharacterIndexAtPos, LinkAnnotationAtPos, WebLinkAtPos