> 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-6/v6-7-1.md).

# Version 6.7.1 Changelog (December 5, 2016)

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

Version: 6.7.1

Release Date: December 5, 2016

6.7.1 is a major release.

## Features

* A VSIX package to install the PDFNet SDK for UWP on all 3 platform architectures (ARM, x86, x64).
* A version of the PDFViewCtrlTools project adapted to work well on UWP for desktops, tablets, and phones.
* A PDFViewCtrlDemo showing how to use the PDFViewCtrl as well as the tools.

## New

* `PDFPrintManager` exposes a `PrintingRequested` event that provides a `PDFPrintTask` that can be used to monitor the progress of the current printing job. This will indicate when it is safe to dispose of a `PDFDoc`.
* Form filling now supports JavaScript. Enable this using `PDFNet.EnableJavaScript(bool)`

### PDFViewCtrl

* The `PDFViewCtrl` AnnotationCanvas (available through `PDFViewCtrl.GetAnnotationCanvas`) is now positioned differently relative to the PDFViewCtrl’s content. Use `PDFViewCtrl.ConvScreenPtToAnnotationCanvasPt` and `PDFViewCtrl.ConvAnnotationCanvasPtToScreenPt` to transform to and from the AnnotationCanvas
* Open and view non-PDF documents including docx, jpeg, jpg, gif, png and cbz while it is being converted to PDF via `PDFViewCtrl.OpenUniversalDocument` using a `DocumentConversion` from `Convert.UniversalConversion`
* The class `PDFViewCtrlThumbnailRequestHandler`, available via the property `PDFViewCtrl.ThumbnailResponseHandler`, which can receive thumbnails from `GetThumbAsync` in a background thread
* The `PDFViewCtrl` can now animate zooming, see `SetZoom`, `SmartZoom`, and `SetPageViewMode` to animate a zoom change
* Use `PDFViewCtrl.SelectWithSnapping` and `PDFViewCtrl.SelectWithSmartSnapping` to alter whether or not text selection should select whole words
* Set any DuoTone color mode using `PDFViewCtrl.SetColorPostProcessColor`

### Tools

* Tools controls have updated appearance to match UWP default styles
* A new CropView control that enables cropping of pages in a document
* A `ReflowView` control that can be used to show flexible reflow of PDF documents using the new `ReflowProcessor`
* A ‘NavigationStack’ that tracks and records view changes, and can be used as a ViewModel for back and forward buttons.
* Change the color and shape of sticky notes
* Change the color and thickness of signature
* A freehand marker tools, to highlight documents without actual text
* Tools now use `PDFViewCtrl.ExecuteAction(ActionParameter)` to execute Actions that can trigger JavaScript

### New APIs

* `PDFNet.EnableJavaScript(bool)`
* `PDFViewCtrl.openUniversalDocument(DocumentConversion)`
* `PDFViewCtrl.OnConversionChanged`
* `PDFViewCtrl.ConvScreenPtToAnnotationCanvasPt(DoubleRef, DoubleRef)`
* `PDFViewCtrl.ConvScreenPtToAnnotationCanvasPt(DoubleRef, DoubleRefm int)`
* `PDFViewCtrl.ConvAnnotationCanvasPtToScreenPt(DoubleRef, DoubleRef)`
* `PDFViewCtrl.SetColorPostProcessColors(Color, Color)`
* `(ColorPt) PDFViewCtrl.GetPostProcessedColor(ColorPt)`
* `PDFViewCtrl.FindTextAsync(string, bool, bool, bool, bool, int)`
* `PDFViewCtrl.ExecuteAction(ActionParameter)`
* `PDFViewCtrl.SetRightToLeftLanguage(bool)`
* `(bool) PDFViewCtrl.GetRightToLeftLanguage()`
* `PDFViewCtrl.SetPageBox(PageBox)`
* `(PageBox) PDFViewCtrl.GetPageBox()`
* `(Rect) PDFViewCtrl.GetPageRectForAnnot(IAnnot, int)`
* `(Rect) PDFViewCtrl.GetScreenRectForAnnot(IAnnot, int)`
* `PDFViewCtrl.RefreshAndUpdate(ViewChangeCollection)`
* `PDFViewCtrl.SelectWithSmartSnapping(double, double, double, double)`
* `PDFViewCtrl.SelectWithSnapping(double, double, double, double, bool, bool)`
* `(bool) PDFViewCtrl.SetZoom(int, int, double, bool)`
* `(bool) PDFViewCtrl.SmartZoom(int, int, bool)`
* `(void) PDFViewCtrl.SetPageViewMode(PDFViewCtrlPageViewMode, double, double, bool)`
* `(double) PDFViewCtrl.GetZoomAnimationTarget()`
* `(double) PDFViewCtrl.GetZoomForViewMode()`
* `(bool) PDFViewCtrl.IsAnimatingZoom()`
* `PDFViewCtrl.SetRelativeZoomLimits(PDFViewCtrlPageViewMode, double, double)`
* `(PDFViewCtrlThumbnailRequestHandler) PDFViewCtrl.ThumbnailResponseHandler`
* `PDFViewCtrlThumbnailRequestHandler.OnThumbnailGenerated`
* `PDFViewCtrlThumbnailRequestHandler.GetThumbAsync(int)`
* `PDFPrintManager.PrintingRequested`
* `PDFPrintTask.Previewing`
* `PDFPrintTask.Submitting`
* `PDFPrintTask.Progressing`
* `PDFPrintTask.Completed`

## BUG FIXES & Improvements

* Many UI improvements
* Miscellaneous bug fixes and improvements


---

# 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-6/v6-7-1.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.
