- Qt 6.9
- Qt PDF
- QML Types
- PdfSearchModel
- Qt 6.9.1 Reference Documentation

# PdfSearchModel QML Type

A representation of text search results within a PDF Document. More...

Import Statement: | `import QtQuick.Pdf`

- List of all members, including inherited members

## Properties

- count : int `(since 6.8)`
- currentPage : int
- currentPageBoundingPolygons : list<list<point>>
- currentResult : int
- currentResultBoundingPolygons : list<list<point>>
- currentResultBoundingRect : point
- currentResultLink : QPdfLink
- searchString : string

## Methods

- list<list<point>> boundingPolygonsOnPage(int page)

## Detailed Description

PdfSearchModel provides the ability to search for text strings within a document and get the geometric locations of matches on each page.

## Property Documentation

count : int `[since 6.8]`

The number of search results found.

This property was introduced in Qt 6.8.

currentPage : int

The page on which currentResultBoundingPolygons should provide filtered search results.

currentPageBoundingPolygons : 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 all the regions where search results are found on currentPage:

     PdfDocument {
         id: doc
     }
     PdfSearchModel {
         id: searchModel
         document: doc
     }
     Shape {
         ShapePath {
             PathMultiline {
                 paths: searchModel.matchGeometry(view.currentPage)
             }
         }
     }

See also PathMultiline.

currentResult : int

The result index within the whole set of search results, for which currentResultBoundingPolygons should provide the regions to highlight if currentPage matches `currentResultLink.page`.

currentResultBoundingPolygons : 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 regions comprising the search result currentResult on currentPage. This is normally used to highlight one search result at a time, in a UI that allows stepping through the results:

     PdfDocument {
         id: doc
     }
     PdfSearchModel {
         id: searchModel
         document: doc
         currentPage: view.currentPage
         currentResult: ...
     }
     Shape {
         ShapePath {
             PathMultiline {
                 paths: searchModel.currentResultBoundingPolygons
             }
         }
     }

It becomes empty whenever `currentPage != currentResultLink.page`.

See also PathMultiline.

currentResultBoundingRect : point

The bounding box containing all currentResultBoundingPolygons, if `currentPage == currentResultLink.page`; otherwise, an invalid rectangle.

currentResultLink : QPdfLink

The result at index currentResult.

searchString : string

The string to search for.

## Method Documentation

list<list<point>> boundingPolygonsOnPage(int page)

Returns a set of paths in a form that can be bound to the `paths` property of a PathMultiline instance, which is used to render a batch of rectangles around all the matching locations on the page:

     PdfDocument {
         id: doc
     }
     PdfSearchModel {
         id: searchModel
         document: doc
     }
     Shape {
         ShapePath {
             PathMultiline {
                 paths: searchModel.matchGeometry(view.currentPage)
             }
         }
     }

See also PathMultiline.