- Qt 6.9
- Qt PDF
- QML Types
- PdfScrollablePageView
- Qt 6.9.2 Reference Documentation

# PdfScrollablePageView QML Type

A complete PDF viewer component to show one page a time, with scrolling. More...

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

- List of all members, including inherited members

## Properties

- backEnabled : bool
- currentPage : int
- document : PdfDocument
- forwardEnabled : bool
- pageRotation : real
- renderScale : real
- searchModel : PdfSearchModel
- searchString : string
- selectedText : PdfDocument
- sourceSize : size
- status : int

## Methods

- void back()
- void copySelectionToClipboard()
- void forward()
- void goToLocation(int page, point location, real zoom)
- void goToPage(int page)
- void resetScale()
- void scaleToPage(real width, real height)
- void scaleToWidth(real width, real height)
- void searchBack()
- void searchForward()
- void selectAll()

## Detailed Description

PdfScrollablePageView provides a PDF viewer component that shows one page at a time, with scrollbars to move around the page. It also supports selecting text and copying it to the clipboard, zooming in and out, clicking an internal link to jump to another section in the document, rotating the view, and searching for text. The pdfviewer example demonstrates how to use these features in an application.

The implementation is a QML assembly of smaller building blocks that are available separately. In case you want to make changes in your own version of this component, you can copy the QML, which is installed into the `QtQuick/Pdf/qml` module directory, and modify it as needed.

See also PdfPageView, PdfMultiPageView, and PdfStyle.

## Property Documentation

backEnabled : bool `[read-only]`

This property indicates if it is possible to go back in the navigation history to a previous-viewed page.

See also PdfPageNavigator::backAvailable and back().

currentPage : int `[read-only]`

This property holds the zero-based page number of the page visible in the scrollable view. If there is no current page, it holds -1.

This property is read-only, and is typically used in a binding (or `onCurrentPageChanged` script) to update the part of the user interface that shows the current page number, such as a SpinBox.

See also PdfPageNavigator::currentPage.

document : PdfDocument `[required]`

A PdfDocument object with a valid `source` URL is required:

     import QtQuick
     import QtQuick.Pdf

     PdfMultiPageView {
         document: PdfDocument { source: "my.pdf" }
     }

forwardEnabled : bool `[read-only]`

This property indicates if it is possible to go to next location in the navigation history.

See also PdfPageNavigator::forwardAvailable and forward().

pageRotation : real

This property holds the clockwise rotation of the pages.

The default value is `0` degrees (that is, no rotation relative to the orientation of the pages as stored in the PDF file).

renderScale : real

This property holds the ratio of pixels to points. The default is `1`, meaning one point (1/72 of an inch) equals 1 logical pixel.

searchModel : PdfSearchModel

This property holds a PdfSearchModel containing the list of search results for a given searchString.

See also PdfSearchModel.

searchString : string

This property holds the search string that the user may choose to search for. It is typically used in a binding to the `text` property of a TextField.

See also searchModel.

selectedText : PdfDocument

The selected text.

sourceSize : size

This property holds the scaled width and height of the full-frame image.

See also Image.sourceSize.

status : int

This property holds the rendering status of the current page.

## Method Documentation

void back()

Scrolls the view back to the previous page that the user visited most recently; or does nothing if there is no previous location on the navigation stack.

See also PdfPageNavigator::back(), currentPage, and backEnabled.

void copySelectionToClipboard()

Copies the selected text (if any) to the system clipboard.

See also selectAll().

void forward()

Scrolls the view to the page that the user was viewing when the back() method was called; or does nothing if there is no "next" location on the navigation stack.

See also PdfPageNavigator::forward() and currentPage.

void goToLocation(int page, point location, real zoom)

Scrolls the view to the location on the page, if possible, and sets the zoom level.

See also PdfPageNavigator::jump() and currentPage.

void goToPage(int page)

Changes the view to the page, if possible.

See also PdfPageNavigator::jump() and currentPage.

void resetScale()

Sets renderScale back to its default value of `1`.

void scaleToPage(real width, real height)

Sets renderScale such that the whole first page will fit into a viewport with the given width and height. The resulting renderScale depends on pageRotation: the page will fit into the viewport at a larger size if it is first rotated to have a matching aspect ratio.

void scaleToWidth(real width, real height)

Sets renderScale such that the width of the first page will fit into a viewport with the given width and height. If the page is not rotated, it will be scaled so that its width fits width. If it is rotated +/- 90 degrees, it will be scaled so that its width fits height.

void searchBack()

Decrements the searchModel's current result so that the view will jump to the previous search result.

void searchForward()

Increments the searchModel's current result so that the view will jump to the next search result.

void selectAll()

Selects all the text on the current page, and makes it available as the system selection on systems that support that feature.

See also copySelectionToClipboard().