> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/uwp/changelogs/version-9/v9-2-0-79335.md).

# Version 9.2.0.79335 Changelog (February 14th, 2022)

World's #1 PDF SDK Library for Web, Mobile, Server, Desktop

Version: 9.2.0.79335

Release Date: February 14th, 2022

## New features

Enhanced Reading Mode that adds support to reflow images

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-e265f56cebeb342d0892555c50b6e2a9e7b7b970%2Fba62ef99f285d326997f2fdeef5db9999fa23bd6-969x859.gif?alt=media)

Reading Mode now allows annotate text (Highlight, Underline, and Strikeout)

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-2c128a80e648aa71013dd117603ae52e73b3e302%2F97243ff8ddd9fef342efb6ee9903b317183730d4-969x859.gif?alt=media)

Page text selection - added ability to select the entire page text in 1 click

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-9857fc169f46583df596b3c9a8b07b4f22dac3e1%2Fde76721e6c4ac53c365a4e9c56222c50c5ec5abb-878x804.gif?alt=media)

## Improvements

* \[tools] Pen/Style: added support to move selected annotations
* \[tools] \[control] ViewerControl: save dialog will be prompt when un-modified documents in tabs are request to be closed
* \[tools] \[control] ViewerControl: added ability to create custom PDF documents from code using ViewerControl.CreateNewDocumentAsync()
* \[tools] \[control] ViewerControl: keyboard shortcut: document pages can now be scrolled using arrow keys without selecting the document
* \[tools] \[control] ViewerControl: keyboard shortcut: Ctrl + O will open browse document
* \[tools] \[control] ViewerControl: added export options under seoncdary menu of command bar

## Bug Fixes

* \[tools] Fixed exception throw on Page.AnnotRemove() when deleting annotations created as a direct object
* \[tools] Multi-select and lasso tools: fixed exception throw when trying to select annotation created as a direct object
* \[tools] \[control] ViewerControl: Fixed exception caused by not properly disposing/unsubscribing keydown events after the ViewerControl was disposed
* \[tools] \[control] ViewerControl: fixed property not showing/hiding add tab/document button option in the tab control
* \[tools] \[control] Signature Dialog: fixed default button overlaping other UI elements

## New APIs - Tools Package SDK

*New* Methods

* `async Task ViewerControl.CreateNewDocumentAsync(CreateDocumentOptions)`
* `void TabControlViewModel.SaveCurrentTabState()`
* `void PdfViewCtrlTabInfo.RaiseTabClosedEvent()`
* `void PdfViewCtrlTabInfo.PdfViewCtrlTabInfo(bool)`
* `void ReflowView.Dispose()`
* `void ReflowViewModel.Dispose()`
* `async Task ReflowViewModel.RequestPageAsync(int, bool)`
* `static string UtilityFunctions.ConvertRgbToHex(SettingsColor, bool)`
* `static SolidColorBrush ConvertHexToSolidColor(string)`
* `static SettingsColor ConvertHexToSettingsColor(string)`
* `static PDFDoc PDFDocCreator.Create(CreateDocumentOptions)`
* `static void PDFDocCreator.GetPaperDimensionsFromSize(PaperSizes, double, double)`
* `bool Tool.SelectPageText()`
* `bool TextSelect.SelectPageText()`

*New* Properties

* `bool ViewerControl.IsSoundAnnotEnabled`
* `bool ViewerControl.ShowExport`
* `async Task ViewerControl.CreateNewDocumentAsync(CreateDocumentOptions)`
* `bool ViewerViewModel.IsExportVisible`
* `bool ViewerViewModel.IsSoundAnnotEnabled`
* `async Task ViewerViewModel.CreateNewDocumentAsync(CreateDocumentOptions)`
* `ToolManager ReflowView.ToolManager`
* `bool ReflowView.IncludeImages`
* `bool ReflowView.IsEditingEnabled`
* `bool ReflowView.ShowChangePageButtons`
* `bool ReflowView.SetHideBackgroundImages`
* `bool ReflowView.SetHideImagesUnderText`
* `bool ReflowView.SetDoNotReflowTextOverImages`
* `bool ReflowViewModel.IncludeImages`
* `bool ReflowViewModel.IsEditingEnabled`
* `bool ReflowViewModel.ShowChangePageButtons`
* `bool ReflowViewModel.SetHideBackgroundImages`
* `bool ReflowViewModel.SetHideImagesUnderText`
* `bool ReflowViewModel.SetDoNotReflowTextOverImages`
* `string ReflowViewModel.AddAnnot(string)`
* `string ReflowViewModel.EditAnnot(string)`
* `string ReflowViewModel.DeleteAnnot(string)`
* `string ReflowViewModel.GetAnnotations()`
* `bool AnnotationPropertyDialog.HasThickness`
* `bool ToolManager.IsSoundAnnotEnabled`
* `static Dictionary<PaperSizes, Tuple<double, double>> PDFDocCreator.PaperSizeMap`

*New* Events

* `ReflowViewModel.ReflowContentUpdated`
* `ReflowViewModel.PageChangeRequested`
* `ReflowView.DocumentChanged`
* `delegate void ReflowView.DocumentChangedDelegate`

*New* Commands

* `ICommand ReflowViewModel.CMDNextPage`
* `ICommand ReflowViewModel.CMDPreviousPage`

*New* Class DebugLogHelper

* *New* Methods
* `static void CallSarted(string, int)`
* `static void CallEnded(string, int)`

*New* Class FlipViewCustom

* *New* Constructors
* `FlipViewCustom()`
* *New* Properties
* `static DependencyProperty ShowFlipViewButtonsProperty`
* `bool ShowFlipViewButtons`

*New* Class CreateDocumentOptions

* *New* Constructors
* `CreateDocumentOptions()`
* *New* Properties
* `string Name`
* `PaperType PaperType`
* `PaperSizes PaperSize`
* `int Pages`
* `bool IsLandscape`

*New* Class AnnotUtils

* *New* Methods
* `static Rect GetAnnotScreenPosition(PDFViewCtrl, IAnnot, int)`
* `static IAnnot SafeDeleteAnnotAndUpdate(PDFViewCtrl, Page, IAnnot, int)`
* `static IAnnot SafeDeleteAnnot(PDFDoc, Page, IAnnot)`

*New* resources

* `Resources/Reflow.js`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/uwp/changelogs/version-9/v9-2-0-79335.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
