- Qt 6.12
- Qt PDF
- QML Types
- PdfSelection
- Qt 6.12.0 Reference Documentation

# PdfSelection QML Type

A representation of a text selection within a PDF Document. More...

Import Statement: | `import QtQuick.Pdf`
Inherits: | Item

- List of all members, including inherited members

## Properties

- document : PdfDocument
- from : point
- geometry : list<list<point>>
- hold : bool
- page : int
- renderScale : real
- text : string
- to : point

## Methods

- void clear()
- void copyToClipboard()
- void selectAll()

## Detailed Description

PdfSelection provides the text string and its geometry within a bounding box from one point to another.

To modify the selection using the mouse, bind from and to to the suitable properties of an input handler so that they will be set to the positions where the drag gesture begins and ends, respectively; and bind the hold property so that it will be set to `true` during the drag gesture and `false` when the gesture ends.

PdfSelection also directly handles Input Method queries so that text selection handles can be used on platforms such as iOS. For this purpose, it must have keyboard focus.

## Property Documentation

### document : PdfDocument

This property holds the PDF document in which to select text.

### from : point

The beginning location, in pixels from the upper-left corner of the page, from which to find selected text. This can be bound to the `centroid.pressPosition` of a DragHandler to begin selecting text from the position where the user presses the mouse button and begins dragging, for example.

### geometry : list<list<point>>

A set of paths in a form that can be bound to the `paths` property of a PathMultiline instance to render a batch of rectangles around the text regions that are included in the selection:

     PdfDocument {
         id: doc
     }
     PdfSelection {
         id: selection
         document: doc
         from: textSelectionDrag.centroid.pressPosition
         to: textSelectionDrag.centroid.position
         hold: !textSelectionDrag.active
     }
     Shape {
         ShapePath {
             PathMultiline {
                 paths: selection.geometry
             }
         }
     }
     DragHandler {
         id: textSelectionDrag
         acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus
         target: null
     }

See also PathMultiline.

### hold : bool

Controls whether to hold the existing selection regardless of changes to from and to. This property can be set to `true` when the mouse or touchpoint is released, so that the selection is not lost due to the point bindings changing.

### page : int

The page number on which to search.

See also QtQuick::Image::currentFrame.

### renderScale : real

The ratio from points to pixels at which the page is rendered.

This is used to scale from and to to find ranges of selected characters in the document, because positions within the document are always given in points.

### text : string

The text that was found in the rectangular area between from and to, or all text on the page if selectAll() was called.

### to : point

The ending location, in pixels from the upper-left corner of the page, from which to find selected text. This can be bound to the `centroid.position` of a DragHandler to end selection of text at the position where the user is currently dragging the mouse, for example.

## Method Documentation

### void clear()

Clears the current selection.

### void copyToClipboard()

Copies plain text from the text property to the system clipboard.

### void selectAll()

Selects all text on the current page.