Follow us on Twitter for updates. Our blog highlights the best new features and changes.
Newest release
2024.8.1 - 22 Nov 2024
Patch release that fixes a regression in the Signature
class creation API (J#ANDR-1016).
In version 2024.8, we removed the API to create a signature using a Bitmap
.
Use the Signature
companion method, Signature.createStampSignature
, or createInkSignature
, to create these objects.
Note that some constructor arguments in Signature
have changed slightly or been removed, as they weren’t necessary.
Previous releases
2024.8.0 - 21 Nov 2024
UI
- Added
Adds a color correction filter to improve colors when inverted rendering is active. (J#ANDR-809)
- Added
Adds the ability to use the “fling” gesture with two fingers. This is useful when, for example, drawing an annotation with one finger and navigating to another page or part of the page with two fingers. (J#ANDR-914)
- Changed
Improves typing and drawing signature layouts to make use of the full screen width in landscape mode. (J#ANDR-945)
- Added
Adds the ability to add items in overflow menu in the Compose MainToolbar. (J#ANDR-864)
- Changed
Shrinks the measurement text to fit inside the shape. (J#ANDR-798)
- Fixed
Fixes an issue on Samsung devices where scrolling with two fingers was incorrectly recognized as a pinch/zoom. (J#ANDR-914)
- Fixed
Fixes an issue on Samsung devices where zooming can cause the zoom center point to be locked to the top-left corner of the page instead of between the fingers. (J#ANDR-914)
- Fixed
Fixes an issue with paginated layout managers where the displayed pages jumped briefly after a resize of the window. (J#ANDR-938)
- Fixed
Fixes annotations count in the Annotations list tab. (J#ANDR-926)
- Fixed
Fixes the pages preview in Document Editor when duplicating or adding more pages. (J#ANDR-928)
- Fixed
Fixes the item colors of the bookmark list in dark mode. (J#ANDR-942)
- Fixed
Fixes the text color of the `Clear All` annotations dialog in dark mode. (J#ANDR-941)
- Fixed
Fixes the text colors for the embedded files list in dark mode. (J#ANDR-919)
Model
- Added
Adds an API to control what
Edit
s are added to the undo/redo stack. This can be controlled via theOnAddNewEditListener
, which needs to be added to theUndoManager
viaUndoManager#setOnAddNewEditListener
. (J#ANDR-899) - Added
Adds support for reading the widget tab order. (J#CORE-660)
- Changed
Improves text extraction by replacing invalid characters with the Unicode Replacement Character (0xFFFD). (J#CORE-701)
- Added
Adds NavHost Compatibility with Compose DocumentView. (J#ANDR-912)
- Changed
Changes
BiometricSignatureData
to a Kotlin data class and removes itsBuilder
. It must be constructed using the constructor. (J#ANDR-852) - Changed
Changes
PdfConfiguration
andPdfActivityConfiguration
to Kotlin data classes.Builder
API is still there, although there are slight modifications to the APIs. See the migration guide for more details. (J#ANDR-852) - Changed
Changes
SearchConfiguration
to a data class and removes itsBuilder
. (J#ANDR-852) - Changed
Changes
SignatureAppearance
to a Kotlin data class and removes theBuilder
.SignatureAppearance
must be created via its constructor. (J#ANDR-852) - Changed
Changes
Signature
to a Kotlin data class. Static methods must be called with itscompanion
object from Java code. (J#ANDR-852) - Changed
Changes the search type to an enum,
SearchType
, which replaces the integer constants defined inPdfActivityConfiguration
(PdfActivityConfiguration.SEARCH_INLINE
,PdfActivityConfiguration.SEARCH_MODULAR
). (#45404) - Fixed
Fixed back button behavior in the Compose wrapper. (J#ANDR-870)
- Removed
Removes the
PdfConfiguration
option to setSignatureAppearance
. This is no longer used internally. The signature appearance is set via theDigitalSignatureMetadata
class and passed toSignerOptions
. (J#ANDR-852) - Changed
Updates the HarfBuzz library to version 10.0.1. (J#CORE-693)
- Fixed
Fixes a crash that may happen when saving LTV information in a document. (J#CORE-710)
- Fixed
Fixes a potential ProGuard error related to
kotlinx.parcelize
since v2024.7. (J#ANDR-936) - Fixed
Fixes an issue retrieving the text of a highlight annotation on rotated pages. (J#CORE-449)
- Fixed
Fixes an issue where a misleading exception was thrown when trying to open an invalid URI. (J#ANDR-883)
- Fixed
Fixes an issue where certain license keys couldn’t be read correctly. (J#CORE-725)
- Fixed
Fixes an issue where handwritten signatures may appear unexpectedly cropped. (J#CORE-713)
- Fixed
Fixes an issue where the signature validation status after certificate revocation checks may be invalid if the document has multiple digital signatures. (J#AND-842)
- Fixed
Fixes an issue where the tab index of signature fields wasn’t calculated correctly. (J#CORE-660)
- Fixed
Fixes an issue where too much memory was used when decoding JPEG2000 image masks. (J#CORE-636)
- Fixed
Fixes the annotations count in the Annotations tab. (J#ANDR-926)
- Fixed
Fixes issues with Type 3 fonts and text extraction. (J#CORE-703)
- Fixed
Fixes the watermark not showing in the Thumbnail Bar when using Scrollable mode. (J#ANDR-845)
2024.7.0 - 17 Oct 2024
UI
- Added
Adds the ability to disable the stylus button on the
AnnotationCreationToolbar
usingannotationCreationToolbar.setShouldShowStylusButton(false)
, which can be accessed via theOnContextualToolbarLifecycleListener#onPrepareContextualToolbar
interface. (J#ANDR-812) - Added
Adds the ability to move the crosshair in document comparison mode so you can easily select points all over the document for alignment. (J#ANDR-894)
- Changed
Improves free text annotation rendering when zooming in and out while using
PLATFORM_RENDERING
. (J#ANDR-835) - Changed
Improves the default appearance of callout annotations. (J#ANDR-836)
- Added
Adds
ContextualToolbarListener
to configure menu items in the ComposeDocumentView
state. (J#ANDR-868) - Fixed
Fixes an issue with missing text when adding new lines to a multiline callout annotation. (J#ANDR-841)
- Fixed
Fixes the overflow menu visibility in the Compose main toolbar if overflow menu items are empty. (J#ANDR-869)
- Fixed
Fixes issues with zooming performance on devices with more than 2 GB RAM. We now default most annotations to use AP stream rendering, which is more performant and does not have fidelity issues. This can be overridden using
PdfFragment#setOverlaidAnnotationTypes
and specifying the rendering strategy withsetAnnotationOverlayRenderStrategy
. (J#ANDR-884)
Model
- Fixed
Fixes back button behavior in the Compose wrapper. (J#ANDR-870)
- Changed
Reintroduces ProGuard to hide our internal APIs and reduce API misuse. If you have any ProGuard-related issues, contact us. (J#ANDR-810)
- Removed
Removes
Builder
classes fromElectronicSignatureOptions
andSignatureOptions
. Internally, these are migrated to Kotlin’sdata class
to remove the@AutoValue
annotation. (J#ANDR-848) - Changed
Upgrades various key c (J#ANDR-838)
- Changed
Android Gradle Plugin: 8.6.0
- Changed
Kotlin: 2.0.20
- Changed
Compose: 1.7.1
- Fixed
Fixes an issue when parsing timestamp policies with short OIDs in digital signatures. (J#SERVER-1231)
- Fixed
Fixes an issue where digitally signing a document may trigger an error in Adobe Acrobat about a modified page. (J#CORE-45204)
- Fixed
Fixes an issue where digitally signing with the SHA384 hashing algorithm didn’t work. (Z#116874)
- Fixed
Fixes an issue where form contents may be rotated after exporting and then importing from Instant JSON. (J#CORE-647)
- Fixed
Fixes an issue where form flags were overwritten when using the processor and
NeedAppearances
was set in the PDF. (J#CORE-45331) - Fixed
Fixes an issue where handwritten signatures may show distorted in some page orientations. (J#ANDR-824)
- Fixed
Fixes an issue where some annotations may lose their font color when you export them to XFDF and import them again. (J#CORE-680)
- Fixed
Fixes an issue where the blend mode wasn’t read correctly. (J#CORE-691)
- Fixed
Fixes a rare crash due to concurrent access in the
AnnotationFlatbufferWriter
. (J#ANDR-895) - Fixed
Fixes an issue where PDFs with millions of outline elements could exhaust the memory. (J#CORE-694)
2024.6.1 - 18 Sep 2024
Patch release containing some important fixes for adding digital signatures on certain documents.
Model
- Fixed
Fixes an issue where PDF JavaScript may report an error when setting a custom value to a combo box form field. (J#CORE-675)
- Fixed
Fixes an issue where digitally signing a document may trigger an error in Adobe Acrobat about a modified page. (J#CORE-682)
- Fixed
Fixes an issue where some signatures with Long-Term Validation information may be incorrectly reported as invalid. (J#CORE-654)
- Fixed
Fixes an issue where the same font was embedded multiple times when entering diacritics, leading to a massive file size. (J#CORE-634)
2024.6.0 - 6 Sep 2024
UI
- Added
Adds a
pspdf__scaleListItemCheckColor
attribute to set the color of the selected item check mark in the measurement scales list. (J#ANDR-822) - Added
Adds the ability to set the line thickness to 0 in the UI. Internally, we set this to 0.5f, which is the thinnest we support in our backend. (J#ANDR-674)
- Changed
Exposes the
PdfUi
interface in theDocumentConnection
. (J#ANDR-811) - Fixed
Fixes a regression where selecting an annotation via the outline annotation list view causes a crash if the user does not have annotation editing licensed. (J#ANDR-815)
- Fixed
Fixes an issue where certain annotations that have separate alpha for fill and stroke color were displayed as opaque. Also adds an API to set the fill alpha independently from the overall alpha with
Annotation#setFillAlpha
. (J#ANDR-804) - Fixed
Fixes an issue where text editing was immediately canceled when the UI was configured with vertical continuous scrolling. (J#ANDR-823)
- Fixed
Fixes an issue where the initial position of a page is incorrect if the previous page has a different orientation. (J#ANDR-672)
- Fixed
Fixes an issue where the pages were improperly laid out after a resize of the
PdfFragment
. (J#ANDR-817) - Fixed
Fixes vertical centering of the displayed PDF page after the height of its containing view was changed. (J#ANDR-805)
Model
- Added
Adds git history to public example app repositories. Beginning with this release, people can see what has changed from the last release. (J#ANDR-620)
- Added
Adds the ability to reinitialize
PdfFragment
withPdfFragment#refreshPages
when a document’schildView
s (pages) are cleared. (J#ANDR-786) - Changed
Improve evaluation experience. (J#CORE-667)
- Changed
Replaces the old simple example with the Compose wrapper example app, which can be found here https://github.com/PSPDFKit/pspdfkit-jetpack-compose-pdf-viewer. (J#ANDR-790)
- Changed
Upgrades NDK to 27 from 25. (J#ANDR-183)
- Fixed
Fixes a very rare potential corrupt file case when using
PdfFragment#save
.save
is now blocking and safe.saveAsync
has been added for original functionality, which doesn’t block the UI, and a spinner is shown during the saving process. (J#ANDR-541) - Fixed
Fixes an issue where a PDF rendered incorrectly. (J#CORE-643)
- Fixed
Fixes an issue where annotations exported to XFDF and then imported again may lose their text color. (J#CORE-648)
- Fixed
Fixes an issue where converting a bitonal TIFF with a lot of pages consumed too much memory. (J#CORE-621)
- Fixed
Fixes an issue where opening image files with broken XMP/EXIF headers may crash the app. (J#CORE-665)
- Fixed
Fixes an issue where signatures on rotated documents were displayed incorrectly. (J#CORE-672)
- Fixed
Fixes an issue with highlight shape when adding text highlights on rotated pages. Text highlights now cover only the rectangle of the relevant text, without using curved edges. (J#ANDR-313, J#ANDR-314, J#ANDR-194)
2024.5.1 - 30 Aug 2024
- Changed
Improves the evaluation experience. (J#CORE-667)
2024.5.0 - 6 Aug 2024
Version 2024.5 is a routine release with a few upgrades, fixes, and small features, outlined below.
UI
- Added
Adds a
pspdf__scaleListItemBackgroundColor
attribute to set the color of the list item background of the measurement scales list. (J#ANDR-772) - Added
Adds a feature to configure the hidden and visible state of the
VerticalScrollbar
view. (J#ANDR-750) - Fixed
Fixes an issue where ink annotations can get clipped slightly when the tool is deselected. (J#ANDR-679)
- Fixed
Fixes an issue where the document text search was very slow after changing the search query string. (J#ANDR-618)
- Fixed
Fixes an issue where the saving spinner would never get dismissed when redaction saving failed. (J#ANDR-530)
- Fixed
Fixes an issue where the virtual keyboard was wrongly hidden during content editing. (J#ANDR-608)
- Fixed
Fixes an issue with the virtual keyboard in the context of a vertical continuous scrolling page configuration. (J#ANDR-419)
Model
- Changed
Updates HarfBuzz library to 9.0.0. (J#CORE-625)
- Fixed
Fixes a potential crash when clearing listeners in the
DocumentView
if it happens before the document has been loaded. (J#ANDR-753) - Fixed
Fixes an case where a custom
DataProvider
that doesn’t support appending was writing with append during redaction application, in turn causing failed redaction. (J#ANDR-530)
Instant
- Fixed
Fix an issue where the Instant client incorrectly removes the path segment from a server URL when parsing it. (J#ANDR-757)
2024.4.0 - 22 Jul 2024
Migration guide. Version 2024.4 adds support for Android 15 and 16KB page sizes, better ink annotation rendering, and many more fixes, improvements, upgrades, and small features, which are outlined below.
It’s important to note that the deprecation period for the legacy digital signature APIs has passed, and users now have to use the new API. See the migration guide linked above for details.
UI
- Added
Adds a button to the date and time pickers to clear form fields with dates when said fields aren’t empty. (J#ANDR-436)
- Added
Adds the ability to fix the aspect ratio for free text annotations using the
setKeepAspectRatioEnabled
API. (J#ANDR-579) - Added
Adds a feature to configure expanded and collapsed state of outline elements. (J#ANDR-546)
- Added
Adds a feature to update the style with the Material Theme for MainToolbar Composable. (J#ANDR-524)
- Added
Adds the eraser tool to the tools that are supported by the palm rejection mode. (J#ANDR-598)
- Changed
Changes the default state of the stylus to be disabled so that stylus-only input will be activated once an annotation has been made using the stylus and so that
enableStylusOnDetection()
in the configuration is set totrue
. (J#ANDR-542) - Changed
Exposes
AnnotationConfigurationRegistry
in theDocumentConnection
interface of our Jetpack Compose SDK. (J#ANDR-585) - Changed
Moves the stylus button from the document settings to the toolbar during annotation creation and editing. (J#ANDR-582)
- Changed
Uses overlay paint with alpha instead of
MULTIPLY
blend mode for in-page search results to work better on documents with dark backgrounds. (J#ANDR-630) - Fixed
Fixes UI layout issues after device rotation with certain activity configurations. (J#ANDR-652)
- Fixed
Fixes a rare crash caused by the annotation eraser tool. (J#ANDR-589)
- Fixed
Fixes a regression from 2024.2 where zooming out of the page at a scale of
1
always bounced the page to the same location instead of a location relative to the pinch gesture center point. (J#ANDR-597) - Fixed
Fixes an error where
ThumbnailGridView
displayed the page thumbnails with an incorrect height after device rotation. (J#ANDR-651) - Fixed
Fixes an issue where cloudy borders change size when first created and deselected. (J#ANDR-600)
- Fixed
Fixes an issue where deleting selected annotations did not properly exit the annotation editing mode. (J#ANDR-676)
- Fixed
Fixes an issue where ink annotation render changes drastically when the tool is deselected. (J#ANDR-220)
- Fixed
Fixes an issue where the
PdfThumbnailGrid
displayed the wrong amount of columns after a device rotation. (J#ANDR-583) - Fixed
Fixes an issue where the size of an ellipse or rectangle annotation changes when you select and deselect it after setting the border style to/from cloudy. (J#ANDR-536)
- Fixed
Fixes free text annotation shrinking in size when deselected. (J#ANDR-599)
- Fixed
Fixes free text annotation wobble when zooming in and out of a page. (J#ANDR-599)
- Fixed
Fixes an issue where an annotation drawn on top of a
LinkAnnotation
doesn’t intercept a click event first. (J#ANDR-490) - Fixed
Fixes a rare crash that happens when
AnnotationCreatorInputDialogFragment
is opened for some devices. (J#ANDR-542) - Fixed
Fixes an issue where the annotation editing mode didn’t automatically exit when the current selection was deleted (and thus left the toolbar in an invalid state). (J#ANDR-625)
- Fixed
Fixes an issue where undoing the deletion of a custom stamp annotation didn’t restore its bitmap. (J#ANDR-544)
- Fixed
Fixes an issue where ink annotations can get clipped slightly when the tool is deselected. (J#ANDR-679)
Model
- Added
Adds a Catalog example to show how to detect when a document has been scrolled to the end and how to add a page after scrolling to the end. (J#ANDR-548)
- Added
Adds support for 16KB page size devices in Android 15. (J#ANDR-644)
- Added
Adds support for Android 15! (J#ANDR-660)
- Added
Adds support for
RegExp.$1
toRegExp.$9
to allow accessing regular expression capturing groups from PDF scripts. (J#CORE-567) - Added
Adds support for parsing custom colors in PDF JavaScript and converting color spaces by using the color.convert API. (J#CORE-580)
- Changed
Improves TIFF image document quality by respecting the embedded DPI values. (J#CORE-522)
- Changed
Improves the performance of the snapping tool with construction documents. (J#CORE-536)
- Added
Adds
DataProvider
support in composeDocumentView
. (J#ANDR-653) - Removed
Removes the deprecated legacy digital signatures code, as well as a few related classes and APIs. Full details in the migration guide. (J#ANDR-203)
- Changed
Renames the internal
OutOfMemory
thread toMemoryHandling
to reduce confusion in stack traces. (J#CORE-581) - Changed
Replaces the
Uri
API for output documents in the digital signaturessignDocument
API with a fully customizableDataProvider
parameter. This can be used for encryption or any other file writing customizations that might be required when saving a signed document. (J#ANDR-488) - Changed
Updates the Botan library to version 2.19.5. (J#CORE-633)
- Changed
Updates the HarfBuzz library to version 8.5.0. (J#CORE-583)
- Changed
Updates the STB library to version 2.30. (J#CORE-570)
- Changed
Updates Android Gradle Plugin from 8.2.1 to 8.5.1 and Gradle to 8.7. (J#ANDR-646)
- Changed
Updates various transitive dependencies: (J#ANDR-649)
- Changed
Kotlin 1.9.20 -> 1.9.24
- Changed
fragmentKtx 1.6.2 -> 1.8.1
- Changed
AppCompat 1.6.1 -> 1.7.0
- Changed
Material 1.11.0 -> 1.12.0
- Changed
ViewPager2 1.0.0 -> 1.1.0
- Changed
WebKit 1.1.0 -> 1.11.0
- Changed
Compose 1.5.4 -> 1.6.8
- Fixed
Fixes a crash when editing the content of some documents. (J#CORE-601)
- Fixed
Fixes a potential crash when accessing a
ShapeAnnotationView
Annotation
object if the view has !=1 annotation associated. (J#ANDR-540) - Fixed
Fixes an issue where
OnAnnotationSelectedListener.onAnnotationSelectionFinished
wasn’t called under certain circumstances. (J#ANDR-537) - Fixed
Fixes an issue where a comment status may not show when a saved file is open in third-party software like Adobe Acrobat. (J#CORE-610)
- Fixed
Fixes an issue where, after redacting, some images were displaying wrong (e.g. black instead of white). (J#CORE-561)
- Fixed
Fixes an issue where changing to cloudy border style via the inspector resulted in a shape disappearing. (J#ANDR-536)
- Fixed
Fixes an issue where exporting and importing Instant JSON may incorrectly move annotations or forms. (J#CORE-589)
- Fixed
Fixes an issue where redaction didn’t handle certain text objects correctly, resulting in some displaced text. (J#CORE-612)
- Fixed
Fixes an issue where some digital signatures may incorrectly report as invalid. (J#CORE-597)
- Fixed
Fixes an issue where some digital signatures may not be validated correctly. (J#CORE-607)
- Fixed
Fixes an issue where the
value
property of theField
object in JavaScript may return an incorrect type in some cases. (J#CORE-582) - Fixed
Fixes an issue where the date and time pickers weren’t added reliably. (J#CORE-520)
- Fixed
Fixes an issue where the line dash pattern was rendered differently from other PDF readers. (J#CORE-540)
- Fixed
Fixes an issue where the page labels may be incorrect in some documents. (J#CORE-560)
- Fixed
Fixes an issue where too many fonts were added to the PDF in certain rare circumstances, causing crashes. (J#CORE-605)
- Fixed
Fixes an issue where, in some cases, PDF JavaScript that changes the value of a form field wasn’t executed correctly. (J#CORE-590)
- Fixed
Fixes an issue where custom fonts aren’t loaded. (J#ANDR-613)
- Fixed
Fixes an issue where a signature image is incorrectly rotated on a rotated page. (J#ANDR-632)
2024.3.1 - 21 Jun 2024
A routine patch release focusing on the following issues reported by customers:
UI
- Changed
Exposes the
AnnotationConfigurationRegistry
in theDocumentConnection
interface of our Jetpack Compose SDK. (J#ANDR-585) - Fixed
Fixes an issue where the
PdfThumbnailGrid
displayed the wrong amount of columns after a device rotation. (J#ANDR-583) - Fixed
Fixes an issue where the size of an ellipse or rectangle annotation changes when you select and deselect it after setting the border style to/from cloudy. (J#ANDR-536)
- Fixed
Fixes an issue where an annotation drawn on top of a
LinkAnnotation
does not intercept a click event first. (J#ANDR-490) - Fixed
Fixes an issue where cloudy borders change size when first created and deselected. (J#ANDR-600)
Model
- Changed
Improves the performance of the snapping tool with construction documents. (J#CORE-536)
- Fixed
Fixes a potential crash when accessing a
ShapeAnnotationView
Annotation
object if the view has !=1 annotation associated. (J#ANDR-540) - Fixed
Fixes an issue where
OnAnnotationSelectedListener.onAnnotationSelectionFinished
wasn’t called under certain circumstances. (J#ANDR-537) - Fixed
Fixes an issue where, after redacting, some images were displaying wrong (e.g. black instead of white). (J#CORE-561)
- Fixed
Fixes an issue where changing to cloudy border style via the inspector resulted in the shape disappearing. (J#ANDR-536)
- Fixed
Fixes an issue where exporting and importing Instant JSON may incorrectly move annotations or forms. (J#CORE-589)
- Fixed
Fixes an issue where the ‘value’ property of the ‘Field’ object in JavaScript may return an incorrect type in some cases. (J#CORE-582)
- Fixed
Fixes an issue where the line dash pattern was rendered differently from other PDF readers. (J#CORE-540)
- Fixed
Fixes an issue where the page labels may be incorrect in some documents. (J#CORE-560)
- Fixed
Fixes an issue where too many fonts were added to the PDF in certain rare circumstances, causing crashes. (J#CORE-605)
- Fixed
Fixes an issue where, in some cases, PDF JavaScript that changes the value of a form field was not executed correctly. (J#CORE-590)
- Fixed
Fixes an issue where some digital signatures may incorrectly report as invalid. (J#CORE-597)
- Fixed
Fixes an issue where some digital signatures may not be validated correctly. (J#CORE-607)
2024.3.0 - 5 Jun 2024
Migration guide. Version 2024.3 introduces snappier page transitions, as well as proper stylus handling and palm rejection. You can now draw annotations with the stylus while moving the page or switching pages with a finger. There are more bug fixes and improvements. See details below.
UI
- Added
Adds a configuration option to disable the annotation popup toolbar when you long-press a selected annotation (see
annotationPopupToolbarEnabled
). (J#ANDR-468) - Added
Adds palm rejection handling on all devices. (J#ANDR-88)
- Added
Adds the ability to draw with a stylus and pan or scroll a document with a finger once the setting has been enabled. (J#ANDR-457)
- Changed
Exposes
onDocumentScroll
to theDocumentView
composable, which can help with handling touch events on Compose container views containing a document. (J#ANDR-470) - Fixed
Fixes a crash that might occur when the default
MeasurementValueConfiguration
has a fractional precision. (J#ANDR-497) - Fixed
Fixes a gesture issue where zooming less than 100 percent of a page can cause it not to snap back to full width. (J#ANDR-468)
- Fixed
Fixes a regression where selecting a free text annotation would occasionally not display all the text until the bounding box is updated. (J#ANDR-460)
- Fixed
Fixes an issue on Samsung devices where you can’t scroll a page while in annotation editing mode. (J#ANDR-468)
- Fixed
Fixes an issue where the scrollbars aren’t displayed relative to the page after zooming in when using the jump transition. (J#ANDR-449)
- Fixed
Fixes an issue where zooming out of an already zoomed out page may cause the page to travel up or down. (J#ANDR-468)
- Fixed
Fixes an occasional issue where the popup toolbar doesn’t get dismissed properly. (J#ANDR-468)
- Fixed
Fixes an issue where the inspector view didn’t show a preview when switching the border style to
CLOUDY
. (J#ANDR-451) - Fixed
Fixes an issue where an annotation drawn on top of a
LinkAnnotation
does not intercept a click event first. (J#ANDR-490)
Model
- Added
Adds the ability to toggle PSPDFKit view components from Compose’s
DocumentView
. (J#ANDR-407) - Changed
Improves the PDFUIFragment Catalog example by showing how to hook into the document listener before the document is loaded. (Z#111597)
- Changed
Improves the content editing functionality in documents that contain tables. (J#CORE-506)
- Changed
Improves the logging system used in PSPDFKit for Android by making it more consistent. (J#ANDR-188)
- Changed
Exposes
documentId
anddocumentIdString
inPdfDocument
. (J#ANDR-446) - Changed
Updates
Annotation#toInstantJson()
to use the Instant JSON protocol V2 instead of V1. (J#ANDR-463) - Changed
Updates the HarfBuzz library to version 8.4.0. (J#CORE-559)
- Fixed
Fixes a memory leak in the context of device rotation. (J#ANDR-465)
- Fixed
Fixes an issue where an incorrect note icon may show on top of highlight annotations with comment replies. (J#CORE-527)
- Fixed
Fixes an issue where converting a stamp annotation with a custom AP stream to JSON returns
null
inonAnnotationCreated()
. (J#ANDR-479) - Fixed
Fixes an issue where deleting the value of a form field may incorrectly show the previous value in some situations. (J#CORE-531)
- Fixed
Fixes an issue where measurement labels on rotated pages weren’t exported correctly. (J#CORE-529)
- Fixed
Fixes an issue where pages could be rendered too small. (J#CORE-550)
- Fixed
Fixes an issue where pages could be rendered upside down. (J#CORE-545)
- Fixed
Fixes an issue where redaction annotations could not be applied by third-party software like Adobe Acrobat. (J#CORE-555)
- Fixed
Fixes an issue where text highlights were split when there was a tiny gap in a sentence. (J#CORE-510)
- Fixed
Fixes an issue where the email preset didn’t mark some email addresses for redaction. (J#CORE-514)
- Fixed
Fixes an issue where the redaction tool may redact a bigger area than necessary in some documents. (J#CORE-562)
- Fixed
Fixes an issue where the text in a callout annotation may appear in the wrong position. (J#CORE-466)
- Fixed
Fixes an issue where the text selection rectangle was too big, resulting in squashed text. (J#CORE-496)
- Fixed
Fixes an issue with PDF comparison when the content stream didn’t contain any stroke color commands. (J#CORE-533)
- Fixed
Fixes an issue where the page labels may be incorrect in some documents. (J#CORE-560)
Instant
- Fixed
Fixes a deadlock when syncing annotations on a certain document containing stamp annotations in PSPDFKit Instant. (J#ANDR-277)
2024.2.1 - 10 Apr 2024
UI
- Fixed
Fixes a regression where selecting a free text annotation would occasionally not display all the text until the bounding box is updated. (J#ANDR-460)
2024.2.0 - 9 Apr 2024
Welcome to the second major release of PSPDFKit for Android in 2024! We’ve fixed a lot of bugs (see below), and we added some great improvements and features:
- Added
Jetpack Compose!
- Added
New Jetpack Compose main toolbar! This makes it super easy to add and remove custom buttons and customize the toolbar however you want.
- Changed
We also migrated some of our UI to Jetpack Compose: the document information screen, and the settings menu.
- Changed
Annotation Multi-Selection!
- Changed
A new toolbar item has appeared! You can use it to select multiple annotations and group, move, copy, or resize them all at once! This brings us up to par with our iOS product, which also has this feature.
- Changed
We’ve cleaned up our SDK
initialize
API (refer to the migration guide linked below). - Changed
Our free text and callout annotations now render much more cleanly and with better performance.
- Changed
We’ve expanded the customization options for measurement annotations.
- Changed
Loads more bug fixes and improvements — see the list below.
- Changed
Enjoy!
UI
- Added
Adds
FreeTextAnnotations
to the list of annotations that obey theNOZOOM
flag. (J#ANDR-365) - Added
Adds an extra tab in the outline screen to view and open any PDF files embedded in an open document. This tab is only displayed if the document has embedded PDF files. (J#ANDR-403)
- Added
Adds annotation multi-selection and grouping functionalities. (J#ANDR-264)
- Added
Adds customization options for the lines and shapes used for measurement annotations. (J#ANDR-298)
- Added
Adds a new composable main toolbar, allowing users to easily customize it, including adding and removing custom buttons and text. (J#ANDR-289)
- Added
Adds the ability to auto save updated
SettingsView
configurations on exit, and removes the save button. (J#ANDR-344) - Added
Adds style attributes for configuring margin and selection width in the
PdfScrollableThumbnailBar
. (J#ANDR-308) - Changed
Enables scrolling with two fingers while in annotation creation mode and not zooming. (J#ANDR-401)
- Removed
Removes the deprecated
SettingsModePicker
from the codebase.SettingsDialog
should be used instead. (J#ANDR-370) - Changed
Replaces the document info view with a Jetpack Compose screen. (J#ANDR-345)
- Changed
Replaces the settings view with a Jetpack Compose screen. (J#ANDR-344)
- Changed
Improves the performance for compound undo/redo operations. (J#ANDR-380)
- Fixed
Fixes a rare crash when highlighting text on a rotated page after long-pressing a text block. (J#ANDR-368)
- Fixed
Fixes an issue where it wasn’t possible to input a comma as a decimal separator into form fields on certain Samsung devices. (J#ANDR-357)
- Fixed
Fixes an issue where snapping and guide helpers were incorrectly used for callout annotations. (J#ANDR-394)
- Fixed
Fixes an issue where the border of a free text annotation changes size when selected and deselected. (J#ANDR-410)
- Fixed
Fixes a bug where choosing only one
SignatureCreationMode
showed a blank screen. (J#ANDR-406) - Fixed
Fixes a crash that happens when trying to add comments after long-pressing a piece of text while using Instant. (J#ANDR-420)
- Fixed
Fixes an issue where the inspector view didn’t show a preview when switching the borderstyle to
CLOUDY
. (J#ANDR-451) - Fixed
Fixes render artifacts in free text and callout annotations when selected vs. deselected. (J#ANDR-294)
- Fixed
Fixes rotated callout annotation rendering. (J#ANDR-294)
- Fixed
Fixes the pop-up toolbar appearing away from the touch point when long pressing the page. (J#ANDR-414)
Model
- Added
Adds support for editing the content of PDF documents that use Type3 fonts. (J#CORE-478)
- Removed
Deprecates
AnnotationEditingController.getCurrentlySelectedAnnotation
. New methodsgetCurrentlySelectedAnnotations
,getCurrentSingleSelectedAnnotation
andhasCurrentlySelectedAnnotations
should be used instead. TheOnAnnotationSelectedListener
interface got a new methodonAnnotationSelectionFinished()
which is called after all annotations of the current selection process have been selected. (J#ANDR-437) - Changed
Organises the Jetpack Compose classes in a clearer package structure. This is a breaking API change. See migration guide for v2024.2. (J#ANDR-373)
- Added
Adds an API to rotate callout annotations programmatically by 90, 180, or 270 degrees. (J#ANDR-294)
- Added
Adds appearance stream generation for link annotations. This means any set borders will be rendered now. (J#CORE-483)
- Added
Adds one
PSPDFKit.initialize
method to rule them all. This takesInitializationOptions
. All otherinitialize
methods are deprecated and will be removed in 2025. (J#ANDR-142) - Added
Adds the
AnnotationViewsListener
interface, which informs listeners about theEditText
widget used to edit free text annotations. (J#ANDR-342) - Added
Adds the ability to exclude certain annotations or annotation types from a page render call using
PageRenderConfiguration
. (J#ANDR-201) - Changed
Updates the HarfBuzz library to version 8.3.1. (J#CORE-524)
- Changed
Ensures adding and removing annotations from a page programmatically now adds the operations to the undo stack. (J#ANDR-415)
- Removed
Removes useless rotation functions from the `FreeTextAnnotation rotation API in favor of one rotation function that takes a rotation parameter. (J#ANDR-294)
- Removed
Removes deprecated methods to do with accessing measurement scale/precision (can be replaced with the
MeasurementValueConfiguration
API) andisValidForEditing
, which is replaced withisWritableAndCanSave
. (J#ANDR-370) - Fixed
Fixes an issue where Instant sync failed due to unsupported objects being received. (J#CORE-407)
- Fixed
Fixes a memory leak in
PdfStaticThumbnailBar
(used inPdfFragment
) related to a layout listener. (J#ANDR-353) - Fixed
Fixes a memory leak related to the
NavigationBackStack
when destroying and recreatingPdfFragment
’s in a view pager. (J#ANDR-393) - Fixed
Fixes a potential crash when unparcelling document sources. (J#ANDR-391)
- Fixed
Fixes a potential crash when using
PdfFragment
if you don’t callPdfOutlineView#setDocument
when a new document is loaded. We now continue and show a log error message. (J#ANDR-431) - Fixed
Fixes a rare crash in certain PDF documents with JavaScript. (J#CORE-500)
- Fixed
Fixes an error message that may appear in the logs when using the snapping tool. (J#CORE-391)
- Fixed
Fixes an issue that was causing conflicts with duplicate files in external SDKs. (J#ANDR-367)
- Fixed
Fixes an issue with PDF comparison when the content stream didn’t contain any stroke color commands. (J#CORE-533)
- Fixed
Fixes an issue where annotations may be incorrectly selected in some cases. (J#CORE-464)
- Fixed
Fixes an issue where calling
Field.value
in a PDF JS script may return the wrong value. (J#CORE-450) - Fixed
Fixes an issue where calling the PDF JS API
field.setItems
may not change the form’s value. (J#CORE-430) - Fixed
Fixes an issue where extracted text was garbled due to incomplete reading order information in the PDF. (J#CORE-385)
- Fixed
Fixes an issue where intermittent rendering errors occurred while zooming in and out, resulting in incomplete page displays. (J#CORE-447)
- Fixed
Fixes an issue where listing embedded files in rare PDFs could cause a crash. (J#CORE-493)
- Fixed
Fixes an issue where opening a document with a digital signature may report additional changes. (J#CORE-473)
- Fixed
Fixes an issue where redacting some kind of documents may corrupt them. (J#CORE-375)
- Fixed
Fixes an issue where refreshing the LTV information of some signed documents may fail. (J#CORE-499)
- Fixed
Fixes an issue where shape annotations imported via Instant JSON may incorrectly show a black border. (J#CORE-392)
- Fixed
Fixes an issue where text blocks were split when encountering two or more narrow characters. (J#CORE-380)
- Fixed
Fixes an issue where text with the FL and FI ligatures wasn’t extracted correctly. (J#CORE-443)
- Fixed
Fixes an issue where the appearance of unsigned signature form fields may ignore some property changes, like their border width. (J#CORE-417, J#CORE-412)
- Fixed
Fixes an issue where the text selection of italic characters was too large. (J#CORE-444)
- Fixed
Fixes an issue where validating some documents with LTV information may incorrectly return that the revocation status couldn’t be checked. (J#WEB-1042)
- Fixed
Fixes an issue where deletion of all comments for an annotation caused the annotation to disappear. Also fixes a related crash when clicking on the bin icon to delete all comments for an annotation. (J#ANDR-371)
- Fixed
Fixes an issue where stamp annotations created using vector images have the wrong type when converted to Instant JSON. (J#ANDR-422)
- Fixed
Fixes an issue where text with negative font sizes caused the text to vanish in the content editor. (J#CORE-438)
- Fixed
Fixes an unnecessary annotation update on the comment layout dismissal. (J#ANDR-329)
2024.1.2 - 5 Mar 2024
This patch offers a crash fix for instant users with non-Latin names. There is also a fix for a crash that happens when the typing mode for signatures is opened.
UI
- Fixed
Fixes crash when opening the type signature screen. (J#ANDR-379)
Instant
- Fixed
Fixes an issue where JWT tokens with Base64 URL safe encoding in the payload part didn’t parse correctly. (J#CORE-492)
2024.1.1 - 12 Feb 2024
A few bugfixes here and there. Most notably J#ANDR-367 which can cause build failures if you are using R8 minify enabled.
UI
- Fixed
Fixes a rare crash when highlighting text on a rotated page after long-pressing a text block. (J#ANDR-368)
- Fixed
Fixes an issue where it wasn’t possible to input comma as decimal separator into form fields on certain Samsung devices. (J#ANDR-357)
Model
- Fixed
Fixes an issue where text with negative font sizes caused the text to vanish in the content editor. (J#CORE-438)
- Fixed
Fixes a memory leak in
PdfStaticThumbnailBar
(used inPdfFragment
) related to a layout listener. (J#ANDR-353) - Fixed
Fixes an issue that was causing conflicts with duplicate files in external SDKs. (J#ANDR-367)
- Fixed
Fixes an issue where the appearance of unsigned signature form fields may ignore some property changes, like their border width. (J#CORE-412)
- Fixed
Fixes unnecessary annotation update on the comment layout dismissal. (J#ANDR-329)
2024.1.0 - 23 Jan 2024
PSPDFKit for Android 2024.1! Welcome to our new versioning system. We have opted for yyyy.version.patch
over semantic versioning.
We have expanded on our Content Editing component with paragraph editing, resize text blocks, drag and drop, text alignment, line spacing, and more.
Our Digital Signatures feature now has support for Long-Term-Validation for CAdES advanced digital signatures (B-LT).
Jetpack Compose is getting some much needed attention. We have added more functionality such as annotation and document listeners, plus a new public example application.
See https://github.com/PSPDFKit/pspdfkit-jetpack-compose-pdf-viewer.
Check out the details below for all the many fixes and improvements we have made in this release. Enjoy!
UI
- Added
Adds dedicated section for Jetpack Compose samples in Catalog Example. (J#ANDR-216)
- Added
Adds the ability to change the color of the
PDFActivity
title overlay label. (J#ANDR-278) - Changed
Extends the content editing feature with paragraph editing, which includes copying, pasting, creating, moving, resizing and deleting text blocks. (J#ANDR-65)
- Added
Adds customisation options for the lines and shapes used for measurement annotations. (J#ANDR-298)
- Added
Adds style attributes for configuring margin and selection width in the
PdfScrollableThumbnailBar
. (J#ANDR-308) - Fixed
Fixes a bug in context with text form fields and input of decimal numbers. (J#ANDR-243)
- Fixed
Fixes a memory-leak within the
DefaultBookmarkAdapter
implementation. (J#ANDR-286) - Fixed
Fixes an issue in the Compose DocumentView where we animate to the previously opened page instead of just opening it. (J#ANDR-303)
- Fixed
Fixes an issue where snapping was incorrectly applied to ink annotations. (J#ANDR-267)
- Fixed
Fixes an issue where zooming was disabled when creating shape annotations. (J#ANDR-113)
Model
- API
Adds API to add long term validation information to an existing digital signature to turn it into PAdES B-LT. (J#ANDR-283)
- API
Adds API to use a
PrivateKey
object for signing instead ofPrivateKeyEntry
as well as loading from PEM file helper function. (#42828) - API
Adds
TrustedKeyStore
object which replaces the APIs to add and remove trusted certificates in the deprecatedSignatureManager
. Used for validating digital signatures. (J#ANDR-223) - Added
Adds a dedicated example application to showcase our new and improved Jetpack Compose APIs. This can be found in the release zip under
examples/jetpack-compose
and here https://github.com/PSPDFKit/pspdfkit-jetpack-compose-pdf-viewer. (J#ANDR-58) - Added
Adds digital signature Long-Term-Validaiton support to the document validation methods which will insert LTV data to the signature on validation if it can be retrieved. (J#ANDR-222)
- Added
Adds support for adding annotations programmatically with the Jetpack Compose DocumentView. (J#ANDR-207)
- Added
Adds a new example project to demonstrate new supported Jetpack Compose features. (J#ANDR-180)
- Added
Adds support for annotation listeners in the
DocumentView
composable. (J#ANDR-62) - Added
Adds support for document listeners in the
DocumentView
composable. (J#ANDR-61) - Changed
Changes API for the
customSigning
lambda inSigningManager.signDocument
to take non-null hash algorithm string instead of nullable. (J#ANDR-245) - Changed
Enables LTV (Long-Term-Validation) in PAdES signatures during the signing flow using
SigningManager#signDocument
creating a PAdES level B-LT digital signature. (J#ANDR-140) - Fixed
Fixes file access permission in Catalog for Android 11+. (J#ANDR-192)
- Changed
Improves Document Editor performance when dealing with large documents. (#42927)
- Changed
Migrates all the example build scripts to
.kts
. (J#ANDR-292) - Removed
Removes the usesClearTextTraffic permission from the Catalog app. This is no longer needed and causes the app to be flagged as a security risk. (#43073)
- Changed
Upgrades project to AGP 8.2 plus various internal dependencies to latest. (J#ANDR-272)
- Fixed
Fixes freetext annotation callout line ends when importing from XFDF. (J#CORE-297)
- Fixed
Fixes freetext callout rendering and rich text link render on rotated pages. (J#CORE-297)
- Fixed
Fixes vertical alignment of free text annotations when using rich text. (#42793)
- Fixed
Fixes a crash that may happen when parsing certain kinds of outlines. (J#CORE-356)
- Fixed
Fixes a crash while looking up character codes. (J#CORE-348)
- Fixed
Fixes a potential
IllegalStateException
in theDocumentCreationFragment
in very rare situations. (J#ANDR-239) - Fixed
Fixes a potential crash when generating AP streams. (J#CORE-364)
- Fixed
Fixes an issue signing some kind of pre-existing form fields. (J#CORE-327)
- Fixed
Fixes an issue where the cross-reference table may be invalid after saving a file. (J#CORE-321)
- Fixed
Fixes an issue with file paths when using Android SAF picker to choose a file save destination. (J#ANDR-261)
- Fixed
Fixes an issue with the instant Catalog example crashing in release mode. (J#ANDR-269)
- Fixed
Fixes scrolling issue in Compose DocumentView. (J#ANDR-206)
8.10.0 - 7 Dec 2023
UI
- Added
Adds an option to
PdfConfiguration
to control the automatic invocation of the note editor after a new note annotation was created. (J#ANDR-184) - Added
Adds extra string translations for measurement tools. (J#ANDR-123)
- Added
Adds support for showing the signer’s timezone in the appearance of signed signature fields. (J#CORE-263)
- Added
Adds camera option on image field click event. (J#ANDR-137)
- Fixed
Fixes a bug which caused an IndexOutOfBoundException when updating the content of a text formfield. (J#ANDR-173)
- Fixed
Fixes an incorrectly thrown exception when adding a note to a measurement annotation. (J#ANDR-172)
- Fixed
Fixes bug in rendering cloudy annotations after drawing is finished. (J#ANDR-121)
- Fixed
Fixes a bug with text form fields and input of decimal numbers. (J#ANDR-243)
- Fixed
Fixes scrolling issue in Compose DocumentView. (J#ANDR-206)
Model
- Added
Adds an
ignorePageRotation
boolean parameter to theXfdfFormatter
methods. (J#ANDR-152) - Changed
Improves performance loading a document if automatic link extraction is enabled. (J#CORE-215)
- Changed
Updates the default signature watermark for signed documents. (J#WEB-308)
- Changed
Upgrades dependencies (J#ANDR-210, J#ANDR-122)
- Changed
Kotlin to 1.9.20
- Changed
Android Gradle Plugin to 8.1.3
- Changed
Compose 1.5
- Changed
Target & Compile SDK to 34
- Changed
And various other internal and transitive dependencies to the latest.
- Changed
Upgrades Harfbuzz to 8.2.2. (J#CORE-275)
- Fixed
Fixes an error ‘Assertion failed: Annotation ID is already known’ which may happen when opening a document. (J#WEB-233)
- Fixed
Fixes border style selection for shape annotations in Instant JSON when
strokeDashArray
is not present. (J#CORE-270) - Fixed
Fixes rendering of tiling patterns when zooming. (J#CORE-195)
- Fixed
Fixes XFDF export of dashed borders when cloudy borders were previously set. (J#CORE-185)
- Fixed
Fixes Proguard consumer rules incorrectly trying to use optimize rules. (J#ANDR-167)
- Fixed
Fixes a bug where a paste operation created the wrong annotation. (J#ANDR-208)
- Fixed
Fixes a potential crash when showing the PopupToolbar and when initialising measurement tools. (J#ANDR-202)
- Fixed
Fixes a rare exception when the annotation font name property may be incorrectly stored in the PDF when non-UTF-8. (J#ANDR-132)
- Fixed
Fixes an issue where loading link annotations may incorrectly log an error. (J#CORE-281)
- Fixed
Fixes an issue where measurement properties weren’t correctly applied when importing XFDF. (J#CORE-225)
- Fixed
Fixes an issue where text annotations imported from XFDF may not render correctly. (J#CORE-279)
- Fixed
Fixes an issue where the wrong rich text was rendered. (J#CORE-315)
- Fixed
Fixes an issue with the util.scand and util.printd functions of the Adobe PDF JavaScript API, which in some cases returned the wrong result. (J#CORE-271)
- Fixed
Fixes package names for the new digital signature APIs. (#42536)
- Fixed
Fixes an issue with the instant Catalog example crashing in release mode. (J#ANDR-269)
- Fixed
Fixes an issue with file paths when using Android SAF picker to choose a file save destination. (J#ANDR-261)
- Fixed
Fix file access permission in Catalog for Android 11+. (J#ANDR-192)
- Fixed
Fixes freetext annotation callout line ends when importing from XFDF. (J#CORE-297)
8.9.1 - 2 Nov 2023
Emergency patch release to fix an issue with one of our cross-platform product’s license key handling.
Model
- Fixed
Fixes a bug with cross-platform initialization. (J#ANDR-191)
8.9.0 - 5 Oct 2023
See the announcement post.
UI
- Added
Adds a confirmation dialog when calibrating a measurement scale as clearer UX to show a scale was added to the list. (J#ANDR-12)
- Added
Adds date and time picker support for form fields. (J#ANDR-87)
- Added
Adds resize-to-fit-text functionality to the
FreeTextAnnotation
class. (J#ANDR-89) - Fixed
Fixes an issue with freetext annotations, where the text was painted over with the background color. (J#ANDR-93)
- Fixed
Fixes vertical positioning of popup toolbars. (J#ANDR-124)
- Fixed
Fixes and issue where selecting small amounts of text with the redaction tool causes the text to stop getting selected. (J#ANDR-105)
Model
- Added
Adds new, simpler APIs for Digital Signatures,
SigningManager
. Providing PAdES level B-B (basic CAdES advances signing) and B-T (basic + timestamping) signatures. (J#ANDR-19)- Changed
See our Catalog examples
DigitalSignatureExample
andManualSigningExample
for examples on how to use the new API. - Changed
See the migration guide for details on migrating from our previous signature APIs.
- Changed
Improves low memory logging and OS signal handling. (#41805)
- Changed
Improves (reduces) memory usage on pages with a lot of vector graphics. (J#CORE-210)
- Changed
Updates the HarfBuzz library to 8.2.1. (J#CORE-229)
- Fixed
Fixes broken Kotlin API docs which can be accessed here https://pspdfkit.com/api/android/kdoc/. (#41683)
- Fixed
Fixes an issue where embedded files were not transferred when using the PdfProcessor. (J#CORE-205)
- Fixed
Fixes an issue where some color was lost when redacting documents. (J#CORE-201)
- Fixed
Fixes an issue where the font name was incorrectly inherited in certain form hierarchies. (J#CORE-69)
- Fixed
Fixes an issue with dependency clash when upgrading to Jetpack Compose 1.5+. (J#ANDR-94)
Instant
- Fixed
Fixes the unsetting of annotation flags via Instant JSON. (J#CORE-183)
8.8.1 - 1 Sep 2023
UI
- Fixed
Fixes an error where a stamp annotation wasn’t rendered under certain circumstances. (#41776)
- Fixed
Fixes bug where multi-line free-text annotations are being cut off at the bottom. (J#ANDR-38)
- Fixed
Fixes bug where the
PDFOutlineView
occasionally crashes when hiding. (J#ANDR-35) - Fixed
Fixes crash where the initialisation of the
MeasurementScaleView
caused a crash even when measurement tools deactivated. (J#ANDR-84) - Fixed
Fixes the QR code scanner in the
InstantExample
. (#41733)
Model
- Added
Adds a
WavWriter
class which can be used to extract audio data from sound annotations and other audio sources. (#41680) Also adds a Catalog example to show how it worksSoundAnnotationDataExtractionExample
. - Fixed
Fixes a crash when trying to use the calibration tool and the tool is not enabled in the toolbar. (J#ANDR-55)
- Fixed
Fixes an issue where rich text was converted to plain text incorrectly, missing content after new lines. (J#CORE-136)
Instant
- Fixed
Fixes fetching of image annotation assets upon initial opening of Instant document. (J#CORE-12)
8.8.0 - 14 Aug 2023
See the announcement post.
Measurement Tools Improvements
- Added
Adds support to store and select from multiple measurement scales per document. (#41035)
- Added
Adds the ability to view measurements in fractional precision. (#40085)
- Added
Adds support for naming scales. (#40563)
- Added
Adds a new UI button to access measurement scales. (#40563)
- Added
Adds a new calibration tool to help create scales. (#40563)
- Added
Adds numerous shape drawing helpers to help draw angular lines and align points to other parts of the shape. (#40563)
- Changed
Improves measurement unit rendering by enabling fractions such as “¹⁵⁄₁₆” instead of “15/16”, and “²” instead of “sq” as well as better formatting for feet, inches, and yards. (#40960)
UI
- Added
Adds a double click to close a polygon or polyline and finishes drawing the current shape. (#40347, #40090)
- Added
Adds a red x hint to snap close a polyline or a polygon during creation. (#40495)
- Added
Adds helper guides and snapping to the line shape drawing UI to make it easier for users to draw horizontal, vertical, and diagonal lines. (#40594)
- Added
Adds shape drawing helpers to make it easier to line up points to other points on the shape. (#40746)
- Added
Adds bold and italic style button in the ContentEditingStylingBar are now disabled if they would change the style to a font without a matching characteristics. (#39937)
- Changed
Improves performance of annotation scale and resize code. (#40018)
- Changed
Improves UI by hiding the
PdfOutlineView
and thePdfDocumentInfoView
whenever the user interface is being hidden. (#39542) - Changed
Updates the styling and behaviour of the
RedactionView
button. (#40796) - Fixed
Fixes a bug where free text annotation text can be clipped by the border when resizing if the border is thicker than 1. (#40018)
- Fixed
Fixes bug related to rendering of
FreeTextAnnotations
with multiple lines. (#40660) - Fixed
Fixes not being able to shrink a free text annotation easily in the UI. (#40018)
Model
- Added
Adds additional flags
invisible
,readOnly
,locked
,toggleNoView
andlockedContents
to the flags property of annotations in InstantJSON. (#41335) - Added
Adds support for OpenType collection fonts (.otc). (J#CORE-91)
- Added
Adds support for digitally signing a document and include a certificate chain. (#40352)
- Changed
Improves AP stream generation to generate more optimal text rendering commands. (J#CORE-101)
- Changed
Improves the performance of the snapping feature in complex documents. (#40414)
- Changed
Improves embedding of OpenType CFF fonts. (#40481)
- Changed
Improves our example applications’ dependency handling using Version Catalogs as well as simplifying the structure by removing the shared module. (#40007)
- Changed
Improves text rendering, particularly for languages that do not use the Latin alphabet. (#39812)
- Changed
Applies patch to libtiff to fix CVE-2023-2731. (#40657)
- Removed
Removes duplicate Java code examples that are also in Kotlin from the Catalog app. Also removes language preference option. (#40081)
- Changed
Updates HarfBuzz to 8.0.1. (J#CORE-129)
- Changed
Updates the Botan library to version 2.19.3. (#40107)
- Changed
Updates the measurement snapping threshold from 20dp to 4dp. (#40917)
- Changed
Changes the enum name
FloatPrecision
toMeasurementPrecision
. (#40085) - Fixed
Fixes an issue if the content editor is used on a page without a font dictionary. (#40803)
- Fixed
Fixes a potential crash in the Android font subsystem by switching to the more battle-tested Linux font subsystem. (#40587)
- Fixed
Fixes a potential crash when parsing the reading order in an invalidly tagged PDF. (#40419)
- Fixed
Fixes a rare crash that can happen when importing Instant JSON if an annotation has a non-default blend mode. (#39457)
- Fixed
Fixes an issue when redacting images with a mask referencing a color. (#41558)
- Fixed
Fixes an issue where ‘borderColor’ wasn’t serialized for ‘pspdfkit/text’ annotations. (#40905)
- Fixed
Fixes an issue where certain PDF documents couldn’t be opened in Adobe Acrobat after flattening some form annotations. (J#CORE-79)
- Fixed
Fixes an issue where exporting custom stamp annotations to XFDF and then importing them cause them to show blurry. (J#CORE-113)
- Fixed
Fixes an issue where images could be inverted when redacting JBIG2 images. (#40341)
- Fixed
Fixes an issue where processing would endless loop on malformed PDFs. (#40388)
- Fixed
Fixes an issue where redaction annotations applied on pages with rotation may not appear correctly. (#25007)
- Fixed
Fixes an issue where sometimes the wrong font is used when applying changes in the content editor. (#40663)
- Fixed
Fixes an issue where the ‘updatedAt’ field in annotations wasn’t preserved correctly when importing JSON. (#37490)
- Fixed
Fixes an issue where the bold or italic attribute of a font got lost when saving changes from the content editor. (#40663)
- Fixed
Fixes an issue where the cloudy border effect was set when importing InstantJSON annotations. (#40472)
- Fixed
Fixes an issue where validating some digital signatures created by DocuSign may incorrectly report additional changes. (#39972)
- Fixed
Fixes small signatures not being detected correctly on large signature form fields. (#40900)
Instant
- Added
Adds API to export Instant JSON in V1 format. See
DocumentJsonFormatter.exportDocumentJson(document, outputStream, InstantJsonVersion.V1)
. (#40611) - Fixed
Fixes an issue where the text highlight popup bar showed disabled buttons incorrectly in Instant. (#40058)
8.7.3 - 13 Jun 2023
UI
- Fixed
Fixes a bug where the back arrow during search is not pointing in the right direction when the layout is in RTL mode. (#40281)
- Fixed
Fixes a bug which caused the back button in inspector detail views to be hidden. (#39953)
- Fixed
Fixes strikeout and underline buttons missing from the text highlight popup toolbar on non-tablet devices and adds a Catalog example to show how to configure it,
TextHighlightPopupCustomisationExample
. (#40060)
Model
- Fixed
Fixes a potential race condition when accessing font data in our core library. (#40587)
- Fixed
Fixes an issue where text in multi line form field was cut off after two newlines. (#40504)
- Fixed
Fixes library size increase due to shipping of unstripped OCR library. (#40614)
- Fixed
Fixes the unstripped NDK library symbol files that are shipped in the SDK release zip. These can now be used to symbolicate stack traces for
libpspdfkit.so
crashes. (#40614) - Fixed
Fixes a crash that occurred when the thumbnail bar was set to
PINNED
mode. (#40411)
8.7.2 - 15 May 2023
UI
- Added
Adds support for the
displayPageLabels
configuration option to the modular search view and the bookmarks view. (#33658) - Changed
Improves calculation of the cursor position when editing a text-block in the Content Editor. (#40014)
- Changed
Content editing inspector views can now be properly dismissed by touching outside of their view. (#40053)
- Fixed
Fixes Settings dialog radio buttons misalignment when using a non-PSPDFKit theme. (#39970)
- Fixed
Fixes a bug in the CustomFragmentExample where the current page was not updated in the bookmark view. (#39955)
- Fixed
Fixes a bug with uri write permission on Android 11 devices. (#40236)
- Fixed
Fixes the occasional wrong calculation of the vertical position of submenu toolbars. (#40277)
Model
- Added
Adds line spacing for multiline form elements and free text annotations to match that of other platforms and external PDF viewer applications. (#39224)
- Changed
Invalidate caches after the document is loaded in
PdfFragment
to avoid unsaved annotations from showing in the thumbnail bar. (#38764) - Fixed
Fixes a Content Editing crash in the Simple example app to do with a missing transitive dependency
androidx.fragment:fragment-ktx
. (#40168) - Fixed
Fixes a bug where the annotation toolbar did not have any menu items for large screens. (#40013)
- Fixed
Fixes a crash when entering Content Editor in a document containing Type 3 fonts. (#3)
- Fixed
Fixes an issue with Full-Text Search queries containing
,
characters. (#39309)
Instant
- Changed
Retains the current text selection that is visible when an inspector window is displayed during content editing. (#39974)
- Fixed
Fixes syncing annotations from the server failing after not handling a 502 error correctly. (#40288)
8.7.1 - 19 Apr 2023
Model
- Fixed
Fixes a build issue where the
kotlinx-serialization-json
dependency could not be downloaded. (#40029)
8.7.0 - 18 Apr 2023
This release adds the Content Editor component. You can learn more in the announcement post. If you’d like to add this component to your license, please contact our sales team to receive a quote.
UI
- Added
Adds missing default annotation tools to the default Image Document configuration. (#39837)
- Removed
Removes the popup toolbar which allows users to view Note Annotation comments. Clicking the Note Annotation now navigates straight to the annotation details if no annotation editing license is available. (#39577)
- Changed
Updates the annotation creation toolbar to show measurements after drawing buttons as well as a more consistent grouping when operating in both landscape and portrait orientation. (#39661)
- Fixed
Fixes a bug where form field rounding does not work when loading an XFDF file in
onDocumentLoaded()
. (#39738)
Model
- Fixed
Fixes an issue where some annotations added to a document are not correctly exported to Instant Document JSON. (#39014)
- Fixed
Fixes privacy concern with PSPDFKit storing system clipboard data whenever clipboard changes. Now we only copy the data when we are trying to paste an annotation. (#30691)
Instant
- Added
Adds measurement tools to Instant for Android. (#39720)
- Changed
Updates the Instant demo links to point to the correct Server example URL. (#39720)
8.6.0 - 23 Mar 2023
UI
- Fixed
Fixes a bug where the height in
dp
set in a custom style for theContextualToolbar
was not converted topx
. (#39526)
Model
- Added
Adds support for a fontSize property for redaction annotations in Instant JSON, which sets the size of the redaction overlay text. (#39017)
- Added
Adds PSPDFKit OCR library debug symbols in the release package for customers to use in the event of crashes. (#39331)
- Changed
Improves the appearance of the overlay text in redacted documents, adjusting their font size much better to fill the available space. (#3017)
- Removed
Removes deprecated parts of the SDK: (#38427)
- Changed
SignatureFormElement#getOverlappingInkSignature
replaced bySignatureFormElement#getOverlappingSignature()
. - Changed
Legacy
PKCS7
constructor. - Changed
Legacy
PKCS7SignatureContents
constructors. - Changed
PdfThumbnailGrid#setOnDocumentSavedListener
replaced byaddOnDocumentSavedListener(OnDocumentSavedListener)
. - Changed
PdfDrawable#getPDFToPageTransformation
andPdfDrawable#updatePDFToViewTransformation
replaced bygetPdfToPageTransformation
andupdatePdfToViewTransformation
.
- Changed
Upgrades RxJava from 2 to 3. (#38838)
- Changed
You will need to add or upgrade the transitive dependencies for
rxjava
andrxandroid
to:implementation 'io.reactivex.rxjava3:rxjava:3.1.6'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'
- Changed
Upgrades the HarfBuzz library to version 7.0.1. (#36924)
- Changed
Upgrades Android Gradle Plugin to 7.4.2, Kotlin to 1.8.10, and NDK to 25.2.9519653. (#39251)
- Changed
If you are manually integrating PSPDFKit, this change means you will need to change the transitive dependency for
otlin-stdlib
fromorg.jetbrains.kotlin:kotlin-stdlib
toorg.jetbrains.kotlin:kotlin-stdlib-jdk8
. - Changed
NDK upgrade means our debug symbols are back to providing full debug information after a regression in NDK v24.
- Fixed
Fixes a crash when using a non-PSPDFKit theme and opening the
SettingsDialog
. (#39044) - Fixed
Fixes a potential crash in low memory situations. (#39373)
- Fixed
Fixes an issue where a background image was accidentially reverted when redacting on certain PDF pages. (#39342)
- Fixed
Fixes the
LineIntent
andPolylineIntent
missing keys and subsequent error messages. (#39084) - Fixed
Fixes the maximum file name length when saving a document using the sharing UI. (#38794)
8.5.1 - 2 Mar 2023
UI
- Added
Adds an extra styling attribute,
pspdf__loading_view_background_color
, to customise the background colour of theLoadingView
used in thePdfFragment
. (#38043) - Added
Adds the ability to customise the height of the contextual toolbar using the attribute
pspdf__contextualToolbarHeight
. (#38418) - Changed
Improves the default User Interface design with better icons, colors, and uniformity across the toolbars. (#37954)
- Fixed
Fixes a bug where the SDK did not pick the set colour for electronic signatures. (#35706)
- Fixed
Fixes a bug where using cursor keys while editing text triggered a page navigation. (#38722)
- Fixed
Fixes issue where the
PdfOutlineView
could not have a custom width. (#37794) - Fixed
Fixes the search highlight drawable’s default behaviour of overlapping of extra characters by updating the default padding for search results to
0dp
. This value can still be customized inSearchResultHighlighter
and by usingpspdf__searchResultPadding
andpspdf__searchResultAnnotationPadding
style items. (#32848)
Model
- Changed
Improves UI performance of the Catalog home screen by reducing unnecessary recomposition of Composables. (#37992)
- Changed
Improves
onTrimMemory
behaviour by running in coroutine scope. (#34467) - Changed
Improves text parsing and text selection. (#38089)
- Removed
Removes un-maintained
lint-checks
module in favour of providing Catalog examples and website guides for SDK usage instructions. (#38391) - Changed
Updates Android Gradle plugin version to 7.4.0. (#38375)
- Changed
Updates Harfbuzz to 6.0.0. (#38024)
- Changed
Updates deprecated
EditTextPreference
withandroidx.preference
. (#38428) - Fixed
Fixes a crash caused by interacting with Note annotations when both Annotation Editing and Electronic Signature license features are missing. (#39095)
- Fixed
Fixes a crash when opening the settings dialog in the Simple example app. (#38834)
- Fixed
Fixes an issue where applying a redaction annotation may incorrectly invert the colors of certain documents. (#38722)
- Fixed
Fixes an issue where memory usage was very high when searching large documents. (#37893)
- Fixed
Fixes an issue where saving a PDF file with a indirect null object could cause a crash. (#39127)
- Fixed
Fixes an issue where the file size increased too much after adding emojis. (#38393)
- Fixed
Fixes an issue where the package versions in README.html were not updated correctly when creating the release package. (#38181)
- Fixed
Fixes an issue where the redaction tool may incorrectly displace text in some situations. (#38642)
- Fixed
Fixes an issue where the unicode checkmark character wasn’t rendered correctly. (#36785)
- Fixed
Fixes displaying the current page on rotation when
configuration.page()
and.restoreLastViewedPage(true)
are used together. (#37699) - Fixed
Fixes janky
.java
file formatting throughout the codebase including public facing code and examples. (#29084) - Fixed
Fixes some issues where the redaction tool may incorrectly remove more vector graphics than strictly necessary. (#38295)
- Fixed
Fixes the
InlineMediaExample
Catalog example YouTube links behaviour by starting the YouTube API service in the manifest. (#38953) - Fixed
Fixes the redaction button moving up the screen each time the user exits full screen mode. (#36079)
8.5.0 - 12 Jan 2023
See the announcement post.
UI
- Added
Adds two presets for the settings dialog which allow to quickly switch between two common vertical and horizontal view configurations. (#35295)
- Added
Adds a popup toolbar which allows users to view Note Annotation comments if no annotation editing license is available. (#34780)
- Changed
Improves small screen device experience by showing settings view as a fullscreen dialog. (#34055)
- Changed
Improves the annotation toolbar appearance. (#35152)
- Changed
Updates the appearance of the
PdfThumbnailBar
. (#34977) - Fixed
Fixes an initialization issue in the annotation inspector with the line-end property of the freetext callout annotation. (#36824)
- Fixed
Fixes an issue where full-color items where not displayed correctly in contextual toolbars because tinting couldn’t be disabled. (#19009)
- Changed
Improves
CustomAnnotationCreationToolbarExample
adding a full-color item and showcasing how to disable tinting.
- Fixed
Fixes the release build variants for example apps Catalog and Simple. (#35923)
Model
- Added
Adds Hebrew localization. (#36047)
- Added
Adds a
ImageDocumentView
composable for loading image documents. (#36881) - Added
Adds support for converting multi-image TIFF files to multi page PDFs. (#36108)
- Added
Adds support for serializing and deserializing annotations with measurement info to the XFDF format. (#36936)
- Added
Adds support for the non-standard imagedata XFDF element in stamp annotations. (#36518)
- Changed
Improves calculation of line height when a line is wrapped in a multi-line text form. (#36385)
- Changed
Improves compatibility with other PDF software when rendering multi-line form field text. (#37072)
- Changed
Improves error handling in the
DocumentSharingController
to catch a possibleActivityNotFoundException
. (#37494) - Changed
Changes the “showAsAction” value for default menu items and adds interface OnPrepareDefaultMenuItemListener for customising these values. (#35283)
- Changed
Exposes the instant record group of an annotation with
Annotation#getInstantRecordGroup()
. (#36993) - Changed
Implements two new methods
FormProvider#removeFormElementFromPage(FormElement)
andFormProvider#removeFormElementFromPageAsync(FormElement)
for deleting form fields. (#34318) - Added
Adds and incorporates a new icon set. (#35290)
- Changed
Updates libexpat to version 2.5.0. (#37257)
- Changed
Updates Android Gradle plugin version to 7.3.1. (#36148)
- Changed
Updates compile SDK and target SDK to version 33, Compose extension to version 1.3.2, Compose to version 1.3.0, Kotlin version to 1.7.20 and Kotlin Coroutines to version 1.6.4.
- Changed
Updates PDFium to version c3451daffa0e96af95b856406668e6188cb139d0. (#36256)
- Changed
Updates SQLite to version 3.39.3. (#36337)
- Changed
Updates the HarfBuzz library to 5.2.0. (#36547)
- Changed
Updates the HarfBuzz library to version 5.1.0. (#35186)
- Changed
Updates
ktlint
andspotless
to the latest versions improving public Kotlin code formatting and best practices. (#37512) - Fixed
Fixes a crash while redacting documents containing the ’ PDF operator. (#36778)
- Fixed
Fixes an exception when importing annotations with measurement information from Instant JSON. (#36537)
- Fixed
Fixes an issue generating PDFs from HTML when checkboxes are defined and customer stylesheets are referenced in the HTML head. (#34453)
- Fixed
Fixes an issue when using undo/redo on shape annotations could throw an exception if Measurements are not licensed. (#37678)
- Fixed
Fixes an issue where JPEG2000 images were rendered blurry. (#37829)
- Fixed
Fixes an issue where form field flags weren’t preserved correctly when repairing form fields. (#33878)
- Fixed
Fixes an issue where passing a new license key does not reinitialise license features, and therefore may cause an exception from a license feature mismatch between Android and our Core C++ library. (#37822)
- Fixed
Fixes an issue where paths in content may not be rendered. (#35988)
- Fixed
Fixes an issue where redacting certain documents may render some document pages blank. (#35776)
- Fixed
Fixes an issue where redaction draws invalid black boxes on the page. (#37863)
- Fixed
Fixes an issue where sharing a PDF to Google Drive did not open up the Drive app dialog. (#36095)
- Fixed
Fixes an issue where specific PDFs could cause a crash when you quickly switch between pages. (#37498)
- Fixed
Fixes an issue where temporary files could have been written into /. (#36239)
- Fixed
Fixes an issue where text selection wasn’t working properly on PDFs with corrupted fonts. (#32468)
- Fixed
Fixes an issue where the font information for annotations wasn’t loaded correctly. (#36933)
- Fixed
Fixes an issue with custom font paths where subfolders in
assets
are not picked up correctly. (#36366) - Fixed
Fixes an issue where the package versions in README.html were not updated correctly when creating the release package. (#38181)
- Fixed
Fixes crashes related to font loading in specific documents. (#36284)
Instant
- Fixed
Fixes an issue where syncing of a newly created annotation in a fresh document would sometimes not work. (#37552)
- Fixed
Fixes the Annotation Eraser tool not appearing in the annotation toolbar when using PSPDFKit Instant for Android. (#37952)
8.4.1 - 30 Sep 2022
UI
- Changed
Improves the label for area measurements in the annotation inspector. (#35726)
- Changed
Improves Dark Theme example in the Catalog app adding a new customized style for
pspdf__popupToolbarStyle
. (#36338) - Changed
Updates sample PDFs in Catalog app. (#32347)
- Fixed
Fixes a potential crash during the
SystemFontManager
initialization. (#36444) - Fixed
Fixes an issue where the measurement text view could cause a
ViewRootImpl$CalledFromWrongThreadException
. (#36280)
Model
- Changed
Avoids a crash if the
NativeTextParser
cannot be obtained. (#36445) - Fixed
Fixed a crash by avoiding to create zero-sized bitmaps. (#36429)
- Changed
Updates libexpat to version 2.4.9. (#36612)
- Fixed
Fixes a crash after a
null
clipboard data was received. (#36446) - Fixed
Fixes a license issue validating or adding annotations with measurement information via Instant JSON. (#36660)
- Fixed
Fixes a rare crash when trying to refresh a
FreeTextAnnotation
with an invalid scaling value. (#36447) - Fixed
Fixes an issue where AP streams weren’t reliably generated for form text fields. That resulted in other readers potentially not showing the text. (#36236)
- Fixed
Fixes an issue where certain documents could cause a crash when opening them. (#36272)
- Fixed
Fixes an issue where font styles weren’t always discovered correctly. (#35955)
8.4.0 - 18 Aug 2022
See the announcement post.
UI
- Added
Adds a Catalog example showcasing the new PSPDFKit for Android Measurement Tools. Includes example measurements and logic for processing them and listening for newly created measurements. (#35452)
- Added
Adds a measurement value display above the magnifier as a helpful way of observing the currently edited measurement value while drawing. This fixes the issue of the magnifier or finger obscuring the measurement value on the page. (#34650, #35200, #35349)
- Added
Adds new style attribute to the
PSPDFKit.MeasurementTools
style to customize the background color of the pop up view. (#35821) - Added
Adds annotation inspector support for configuring page scale used for measurement annotation tools. (#33914)
- Added
Adds annotation inspector support for floating point precision used in measurement tools. (#33579)
- Added
Adds support for calibrating the length of a distance annotation in order to help set the page scale based on a known distance. (#34156, #34396)
- Added
Adds support for the Android magnifier to appear when creating and editing measurements to help with making more precise measurements. (#34110)
- Added
Adds the Measurement Tools feature including distance, perimeter, and area (elliptical, rectangular, polygonal) measurements. (#33967)
- Added
Adds the distance measurement tool used to measure the distance of a line on the page. (#33579, #34204, #34316, #34627, #34933, #35150, #35064)
- Added
Adds the perimeter measurement tool in the annotation toolbar used to measure cumulative line distances. (#34596, #35061, #35064)
- Added
Adds the polygonal area measurement tool in the annotation toolbar used to measure the area of custom-drawn shapes. (#35024, #35064)
- Added
Adds the rectangular and elliptical area measurement tools in the annotation toolbar. These can be used to help measure round or box shaped objects on the PDF. (#34991, #34962)
- Changed
Improves the measurement magnifier behavior by increasing zoom amount and hiding the edit handle that is currently being touched so as to better see the measurement point. (#35533)
- Changed
Implements displaying the measurement value in the Annotation Editing Inspector. (#35726)
- Changed
Updates annotation inspector z-order picker icon tint to dark blue. (#35526)
- Changed
Updates minimum supported API version for the native magnifier to API 29 from API 28 in order to support the measurement tools value text to be displayed above it. (#35246)
- Changed
Updates the Catalog examples list with new sections “Industry Examples” and “Components”, and updates some of the Catalog PDF assets. (#35618)
- Changed
Updates the default annotation toolbar groups to make room for, and add, measurement annotation tools. (#33447)
- Changed
Updates the support magnifier (used on APIs < 29) to match the rounded corners of the native magnifier. (#35624)
- Fixed
Fixes an issue where lines with a length less than 1 are still counted as valid. (#35716)
Model
- Added
Adds API to get measurement information on the base
Annotation
class:getMeasurementInfo
. (#34538) - Added
Adds API to set scale and precision on a
ShapeAnnotation
programmatically, thus making them measurement annotations. (#35390) - Added
Adds new
LineAnnotation
,PolylineAnnotation
,PolygonAnnotation
,CircleAnnotation
, andSquareAnnotation
constructors for creating measurement annotations programmatically. (#35071) - Added
Adds new license feature flag, “Measurement Tools”, checked when configuring the annotation toolbar, creating/editing measurements, and other measurement API calls. (#34495, #34531)
- Added
Adds support for storing and retrieving measurement annotation data inside the document. (#34351)
- Changed
Updates the minimum required Android SDK version for native magnifier support to API 29 from API 28. Users with pre API 29 devices will rely on the support magnifier. (#35246)
- Fixed
Fixes an issue where measurement text was not getting rendered when drawing shapes very quickly. (#35419)
8.3.0 - 2 Aug 2022
See the announcement post.
UI
- Added
Adds
PlaygroundExample
to the Catalog app that shows how to customize the behavior of thePdfActivity
. (#35206) - Added
Adds new construction example to the Catalog app that shows how to better configure PSPDFKit to display a building floor plan. (#33433)
- Added
Adds new example
ContainedPadesSignaturesExample
to the Catalog app showcasing how to embed PKCS7 container as a PAdES Advanced Digital Signature. (#33251) - Added
Adds new menu item to the main toolbar that shows document info view. (#34480)
- Added
Adds new circle, line, line arrow, polyline, square, and polygon icons to Annotation Creation and Annotation Editing Toolbars. (#35271)
- Fixed
Fixes a crash when a full-page rendering was requested with a width or height of zero. (#32871)
- Fixed
Fixes an issue affecting the scrubber bar where, on certain devices, the scrolling may lead to a crash. (#32551)
- Fixed
Fixes an issue with Jetpack Compose where the annotation inspector appears only once. (#33556)
- Fixed
Fixes an issue with the annotation overlay implementation where the page loading spinner was not hidden correctly after a page was rendered. (#35424)
- Fixed
Fixes permission errors when saving external files on Android 12 and higher. (#34928)
- Fixed
Fixes the
External Document
examples in the Catalog to properly open documents from Google Drive. (#35248) - Changed
Updates visual appearance for the document tab bar. (#34865)
Model
- Added
Adds support for PAdES (ETSI.CAdES.detached) signing method. (#33251)
- Changed
Implements
FilterSubtype
to specify the format to use when creating the signasture. - Removed
Deprecates
PKCS7SignatureContents
constructors in favor of new ones where the filter subtype can be explicitly set. - Removed
Deprecates method
PKCS7#create(byte[], KeyStore.PrivateKeyEntry, HashAlgorithm)
in favor of a new one where the filter subtype can be explicitly set.
- Changed
Improves XFDF serialization of ink annotations by including their variant. (#34354)
- Changed
Improves error reporting when an invalid license key is entered. (#33758)
- Changed
Changes the default color for annotation note to yellow, to match PSPDFKit for Web and iOS. (#34145)
- Changed
Changes the stamp annotation creation so that if only one
StampItem
is available, the stamp picker dialog is skipped and the annotation is created with the only item available. (#34282) - Fixed
Fix insufficient Android 12 uri permission handling in
ContentResolverDataProvider
. (#35578) - Fixed
Fix package name for
SignatureBitmapStorage
class that was erroneously set to a wrong one. (#35273) - Changed
Overloads the method
AbstractPdfSearchView#performSearch(String, EnumSet<CompareOptions>)
adding a new parameter to customize the compare options when performing a search action. (#35217) - Removed
Removes the
RECORD_AUDIO
permission from the Android manifest file that was erroneously added in a previous release. To delve more into the topic refer to the Audio Recording Permission section of our guides. (#34424) - Changed
Updates boost to 1.79.0. (#34723)
- Fixed
Fixes a crash on Android 12 and higher when trying to persist Uri permissions for internal files. (#35535)
- Fixed
Fixes the error “The timestamp token couldn’t be parsed” that may appear with some digital signature timestamps. (#35394)
- Fixed
Fixes an issue in the Catalog app where Kotlin examples were launched instead of Java examples. (#35103)
- Fixed
Fixes an issue when importing a InstantDocument JSON where both a form field and a form annotation were modified at the same time. (#35454)
- Fixed
Fixes an issue where dates weren’t parsed correctly due to the parser being too strict. (#34079)
- Fixed
Fixes an issue where form fields were showing NaN (not a number) if the form value could not be formatted correctly. This returns an empty string now and shows an error message in the console. (#34017)
- Fixed
Fixes an issue where having huge amounts of data on the clipboard can cause a
DeadSystemException
. (#34487) - Fixed
Fixes an issue where the
PdfSearchViewModular
visibility state is not initialized correctly, thus breaking theisShown()
method. (#34391) - Fixed
Fixes an issue where the dialog for adding notes was transparent and causing glitches if the property
COLOR
was disabled. (#34055) - Fixed
Fixes an issue where the file size of the PDF grew a lot when entering Arabic text into form fields. (#35381)
- Fixed
Fixes an issue where the swipe gesture wasn’t applied correctly for the horizontal paginated layout on several PDF documents. (#31886)
- Fixed
Fixes an issue where the wrong text was highlighted when searching. (#33867)
- Fixed
Fixes corruption of CMYK colorspace images in PDFs after redaction. (#34453)
- Fixed
Fixes the query of potential document sharing targets for devices running Android 11 and higher. (#34542)
- Fixed
Fixes an issue affecting Android API 29 and upwards where saving a document reusing the same filename may lead to a document saved with the wrong extension. (#35728)
8.2.1 - 6 May 2022
Model
- Fixed
Fixes a crash when trying to setup a database which violated a unique constraint. (#34027)
- Fixed
Fixes an issue when accessing a SQLite database concurrently. (#34027)
- Changed
Improves cache handling of forms in case of exceptions by logging the message instead of crashing the process. (#34027)
- Changed
Updates the Zlib library to version 1.2.12. (#34305)
- Changed
Updates the Freetype library to version 2.12.1. (#34326)
- Fixed
Fixes an issue where retrieving annotations from the
AnnotationProvider
using object numbers was returning an empty list although matching annotations were available. (#34270)
8.2.0 - 20 Apr 2022
See the announcement post.
UI
- Added
Adds a “Remove Signature” button to the
SignatureInfoDialog
. (#33113) - Added
Adds a cloudy annotation item to the default annotation creation toolbar. (#32909)
- Changed
Defaults border style to
BorderStyle.SOLID
for Polygon annotation. (#31998) - Removed
Removes initial permission check from
External Document
example and shows request permission dialog with extensive info. (#16772) - Fixed
Fixes a problem where some form fields with JavaScript formatting scripts may be incorrectly formatted with thousands separators. (#32596)
- Fixed
Fixes a problem where the Sign overlay of unsigned signatures may incorrectly appear in some situations. (#32310)
- Fixed
Fixes a problem where the outline elements of some documents did not point to the correct page. (#32970)
- Fixed
Fixes a problem with the SaveAs file picker not allowing to specify a new filename. (#33023)
- Fixed
Fixes font size calculations for freetext annotation font scaling. (#33229)
Model
- Added
Adds
getSelectedPages()
method toPdfThumbnailGrid
. (#33032) - Added
Adds more detailed logging for signature verification errors during development of custom signing implementations. (Z#28856)
- Added
Adds new methods
removeAllDocuments
andremoveAllDocumentsExceptVisible
to theDocumentCoordinator
class. (#19494) - Added
Adds support for validating RSA-PSS digital signatures. (#33006)
- Changed
Improves
PdfDocument#getPageBox
method where returned values are now normalized. Widths and heights, may no longer be less than 0. (#32764) - Changed
Avoids a
NoSuchElementException
ifDocumentView
is destroyed before it had finished layout. (#33841) - Changed
Ensures
invalidateCacheForPage
does not need to be called to refresh the page render after removing a signature withremoveSignature
. (#33095) - Changed
Includes in the downloadable binary release the unstripped NDK symbols into the
unstrippedNativeLibs
folder. (#32864) - Changed
Includes support for new page boundaries bleed box and trim box exposing two new types
PdfBox.BLEED_BOX
andPdfBox.TRIM_BOX
. (#33749) - Changed
Updates Duktape to version 2.7.0. (#33161)
- Changed
Updates Kotlin Standard library to version 1.6.10. (#34031)
- Changed
Updates Android Gradle plugin to version 7.1.2. (#34031)
- Changed
Updates Compose to version 1.1.1. (#34031)
- Changed
Updates Kotlin Coroutines to version 1.6.1. (#34031)
- Changed
Updates ReLinker to version 1.4.4. (#34031)
- Changed
Updates Android Material library to version 1.5.0. (#34031)
- Changed
Updates Activity Compose to version 1.4.0. (#34031)
- Changed
Updates Lifecycle Kotlin runtime to version 2.4.1. (#34031)
- Changed
Updates SQLite3 to version 3.38.0. (#33239)
- Changed
Updates XMP toolkit to version 2022.02. (#32824)
- Changed
Updates libtiff to version 4.3.0. (#33050)
- Changed
Updates the Harfbuzz library to version 4.2.0. (#33765)
- Changed
Updates the license contained in the binary release, switching in favor of a markup file that contains a link to a PDF document in PSPDFKit website. (#33673)
- Changed
Upgraded the
androidx.appcompat
dependency to the latest stable version 1.4.1. (#32967) - Fixed
Fixes a crash on
getShadowBitmap()
where theRenderScript
object might not yet be initialized. (#33668) - Fixed
Fixes a crash when deserialising image annotations from JSON that references an incompatible existing annotation from the PDF. (Z#28946, #32861)
- Fixed
Fixes a crash when flattening note annotations in compound documents. (#33041)
- Fixed
Fixes a crash when rendering a specific type of documents on multiple threads at the same time. (#33110)
- Fixed
Fixes an issue running OCR on a page that contains an image with no text. (#31709)
- Fixed
Fixes an issue when trying to run OCR on a blank page. (#33771)
- Fixed
Fixes an issue where
PdfFragment#handleDocumentLoadingError(Throwable, boolean)
may have anull
throwable leading to a crash. (#33903) - Fixed
Fixes an issue where
onPageChanged
is called twice when changing page for the first time. (#19365) - Fixed
Fixes an issue where adding a digital signature may invalidate previous ones because of some spurious rounding-related changes to the page boxes. (#32952)
- Fixed
Fixes an issue where an old trailer was loaded in PDFs with hybrid cross-reference tables causing old information to be shown. (#32243)
- Fixed
Fixes an issue where calling
SignatureFormField#removeSignature()
may not clear the signed signature appearance. (#32965) - Fixed
Fixes an issue where certain form fields weren’t repaired correctly. (#33878)
- Fixed
Fixes an issue where font lookup might cause a crash because fonts weren’t correctly initialized yet. (#33593)
- Fixed
Fixes an issue where form buttons weren’t able to import images with
buttonImportIcon
if they were located on pages other than the first. (#33364) - Fixed
Fixes an issue where imported stamp annotations wouldn’t be modified. (#33030)
- Fixed
Fixes an issue where read-only signature fields may incorrectly show a “Sign” overlay. (#32310)
- Fixed
Fixes file permission handling in the document editor which caused the popup of a dialog with wrong information about the permission status. (#32755)
- Fixed
Fixes issues surrounding rendering Devanagari script. (#33753)
- Fixed
Fixes libtiff CVEs
CVE-2022-0561
andCVE-2022-0562
. (#33480) - Fixed
Fixes manual initialization so we do not automatically default to trial mode if the user fails to initialize manually. (#33577)
- Fixed
Fixes parsing of page labels with indirect objects in the number tree. (#33657)
8.1.2 - 4 Mar 2022
Model
- Changed
Updates libexpat to 2.4.6. (#33300)
- Fixed
Fixes a rare crash that happened when loading fonts. (#33110)
- Fixed
Fixes an occasional crash in the
DocumentView
when trying to clean up toolbars with an uninitialized toolbar coordinator. (#33304)
8.1.1 - 15 Feb 2022
UI
- Changed
Improves Catalog performance by minimising Jetpack Compose recomposition. (#32817)
- Fixed
Fixes the certificate identifier name getting truncated in the
SignaturePickerFragment
. (#32717)
Model
- Added
Adds a more descriptive error when trying to sign documents with keys stored in the Android KeyStore. (#32913)
- Added
Adds support for additional manifest parameters to allow for disabling automatic initialization and proper custom font initialization. (#32330, #30651)
- Changed
Updates Expat library to
2.4.4
. (#32841, #32790) - Changed
Updates STB library to
2.27
. (#32326) - Changed
Updates the Android Gradle Plugin used by all example apps to version
7.1.0
. (#32839) - Fixed
Fixes an issue where the user is incorrectly prompted if the changes should be discarded when exiting the
DocumentEditor
with unsaved changes. (#5905, #32557) - Fixed
Fixes a
NullPointerException
when callingDocumentView#removeListeners()
before thedocumentPopupToolbarCoordinator
initialization. (#31762) - Fixed
Fixes a glyph rendering issue when new lines are used in form fields. (#31733)
- Fixed
Fixes an issue where objects were rendered with the wrong color due to non-compliant color values. (#30102)
- Fixed
Fixes an issue where the redaction tool may leave some old PDF object references if the page contents are an array of content streams. (#32926)
- Fixed
Fixes null pointer access violation if clipboard data cannot be accessed on Android 12. (#32661)
- Changed
Upgrades the
androidx.appcompat
dependency to the latest stable version1.4.1
. (#32967)
8.1.0 - 25 Jan 2022
UI
- Fixed
Fixes StampAnnotation flags not being properly applied to layout parameters. (#27426, #31848)
- Fixed
Fixes a crash when putting data on the clipboard without the necessary permission. (#31692, #29215)
- Fixed
Fixes ink signature annotations getting alpha blended into form field backgrounds when they are excluded from the annotation overlay view. (#31474)
Model
- Added
Adds support for searching form field contents when the option to search annotation contents is enabled. (#26502)
- Removed
Deprecated
setOnDocumentSavedListener
and introducedaddOnDocumentSavedListener
/removeOnDocumentSavedListener
, because overwriting the default implementation withsetOnDocumentSavedListener
broke the document editor. (#31550) - Changed
Updates the HarfBuzz library to 3.1.0. (#31771)
- Changed
Upgrades UID generation for the
MemoryDataProvider
from SHA1 to SHA256. (#28673) - Fixed
Fixes
PdfThumbnailGrid.setDocumentEditorSaveAsEnabled
andsetDocumentEditorExportEnabled
being ignored if set before the thumbnail grid was shown. (#31678, #31789) - Fixed
Fixes a bitmap retention issue that could lead to out-of-memory situations in documents with many shape annotations. (#31154)
- Fixed
Fixes a crash in PDFActivity when creating an options menu with incomplete PDF-parameters. (#32271, #28906)
- Fixed
Fixes a crash when trying to calculate tab ordering for documents. (#24082)
- Fixed
Fixes a crash when trying to dismiss a SignatureFragment while a fragment transaction is already in progress. (#32301, #28906)
- Fixed
Fixes a crash when trying to open an invalid URI in an external activity. (#32270, #28906)
- Fixed
Fixes a crash when trying to render an empty bitmap. (#32359, #28906)
- Fixed
Fixes a stability issue accessing the file system that can happen in rare situations. (#32467)
- Fixed
Fixes an issue where persisting dates or times in forms may be off by one hour in some situations. (#32201)
- Fixed
Fixes an issue with file access when loading custom fonts when instantiating
AnnotationCreationSpecialModeHandler
. (#27712) - Fixed
Fixes importing of Instant Document JSON containing image annotations onto a rotated page. (#32021)
- Fixed
Fixes importing of Instant Document JSON containing multiple radio buttons of the same label. (#31855)
- Fixed
Fixes importing of Instant Document JSON where image annotations have been moved. (#31945)
- Fixed
Fixes memory leak when closing documents with form fields. (#31557)
- Fixed
Fixes rendering black when a screen annotation with image is tapped. (#31584)
- Fixed
Fixes the annotation image picker not working on Android API 30+. (#31915)
8.0.2 - 30 Nov 2021
UI
- Fixed
Fixes the current page of the DocumentState not being kept in sync with the open document. (#31689)
- Fixed
Fixes an issue where manual document alignment for the document comparison feature would produce incorrect results for rotated pages. (#31681)
Model
- Changed
Exposes the
getExportValue
method for theCheckBoxFormElement
type. (#25122) - Changed
Handles exception when dispatching tap onto form element before a page is ready. (#30274)
- Fixed
Fixes a
Magnifier
issue whereonDetachedFromWindow
calls would crash the application under certain conditions. (#31700) - Fixed
Fixes an issue where annotations weren’t always rendered in the correct z-order. (#31671)
- Fixed
Fixes an issue where the appearance stream of unsigned signature fields wasn’t rendered. (#31015)
Instant
- Changed
Improves the behavior of reauthentication before accessing the document of an
InstantDocumentDescriptor
. (Z#27871) - Changed
Improves the level of detail in log messages when failing to access the record store to help diagnosing obscure I/O errors. (#31815)
8.0.1 - 25 Oct 2021
Model
- Fixed
Fixes a crash when restoring the
ElectronicSignatures
dialog from parcel data on low memory devices. (#31602) - Fixed
Fixes a memory leak when validating digital signatures. (#31520)
- Fixed
Fixes an issue where setting
event.value
inside a validation script may not work as expected. (#31286)
8.0.0 - 7 Oct 2021
See the announcement post.
This release adds the Electronic Signatures and built-in support for Jetpack Compose via the DocumentView
composable function. If you’d like to add Electronic Signatures to your license, please contact our sales team to receive a quote. To learn more about the breaking changes introduced with the new APIs, check out our migration guide for this release.
UI
- Added
Adds built-in support for Jetpack Compose via the
DocumentView
composable function. (#30779) - Added
Adds support for Electronic Signatures.
- Added
Adds a new signing UI with the
ElectronicSignatureFragment
, along with associated APIs, as part of the Electronic Signatures component. (#29282) - Added
Adds new public ID
R.id.pspdf__menu_option_signature
for a signature creation button in the main toolbar. (#28065) - Added
Adds new styleable attributes
pspdf__signatureIcon
andpspdf__signatureIconActivated
for the signature creation button in the main toolbar. - Added
Adds new configuration option
PdfActivityConfiguration#isSignatureButtonPositionForcedInMainToolbar(boolean)
to set the signature creation button position in the main toolbar.
- Added
Adds automatic free text annotation font resizing when scaling the annotation using the bottom right corner scale handle. (#29382)
- Added
Adds document alignment feature to improve the existing document comparison functionality. (#30461)
- Added
Adds
DocumentComparisonDialog
class that can be used to align two versions of a document and generate a comparison between them. - Changed
Updates the existing
DocumentComparisonExample
to showcase the new document comparison and alignment features.
- Changed
Improves precision of scrolling and zooming operations within
PdfFragment
as well as precision of calculations performed byViewProjection
. (#31214) - Removed
Removes
PdfActivityToolbarApi
class which was not used by PSPDFKit for Android. (#30836) - Fixed
Fixes
PdfActivity
immersive mode inset handling on API 29+ devices. (#30190) - Fixed
Fixes a crash that could happen when navigating to a page containing a newly created
LinkAnnotation
. (#30232) - Fixed
Fixes ink signature annotations getting alpha blended into form field backgrounds when they are excluded from the annotation overlay view. (#31474)
- Fixed
Fixes the
isCopyPasteEnabled
configuration option not being respected. (#30654)
Model
- Changed
Improves rendering non-latin text (like Arabic) when selecting specific fonts. (#30517)
- Changed
Reduces memory consumption when encoding JPEG images. (#31205)
- Changed
Reduces memory consumption when PDF objects need compressing. (#31317)
- Removed
Renames methods on
PdfDrawable
to follow the SDK-wide camel casing convention. (#31186)- Removed
Deprecates
updatePDFToViewTransformation()
andgetPDFToPageTransformation()
. - Added
Adds
updatePdfToViewTransformation()
andgetPdfToPageTransformation()
.
- Changed
Updated FreeType to version 2.11.0. (#30900)
- Changed
Updated libjpeg-turbo to 2.2.1. (#30900)
- Changed
Updates HarfBuzz to 3.0.0. (#31113)
- Changed
Updates our compile SDK version to Android API level 30. (#30316)
- Fixed
Fixes a potential race condition when validating a digital signature and adding a trusted certificate happens at the same time. (#31305)
- Fixed
Fixes an assertion if the rotation property was removed from an annotation. (#31173)
- Fixed
Fixes a potential crash on certain devices when rotating the device. (#30871)
- Fixed
Fixes a problem where a PDF table of contents (outline) may link to the wrong page. (#30070)
- Fixed
Fixes a rare crash that may happen when rendering a PDF. (#29843)
- Fixed
Fixes a very occasional crash when parsing stamp annotations that contained images references to invalid indirect objects. (#31093)
- Fixed
Fixes an issue where XFDF annotations like lines without an explicit
width
attribute were not rendered. In these cases, we now mimic Acrobats behavior and imply a line width of 1 pt. (#30291, Z#25968) - Fixed
Fixes an issue where a digital signature may incorrectly report a certificate validation error. (#30521)
- Fixed
Fixes an issue where fonts were not correctly included in the PDF resulting in wrongly rendered free text annotations. (#30115)
- Fixed
Fixes an issue where highlight annotations used the wrong blend mode after importing with Instant JSON. (#30537)
- Fixed
Fixes possible undefined behavior validating digital signature data. (#31179)
- Fixed
Fixes signature form fields not being included when using a license purchased after April 2021. (#30950)
Instant
- Added
Adds support for Instant Document Permissions. (#29789)
Examples
- Added
Adds Catalog examples for Electronic Signatures and splits out the Digital Signature and Electronic Signature examples. (#30878)
- Changed
Updates the custom signing UI examples to use the new Electronic Signatures UI. (#30561)
7.0.0 - 13 Jul 2021
See the announcement post.
UI
- Added
Adds configurable minimum annotation size through
PdfConfiguration.Builder#setMinimumAnnotationSize()
. (#20200) - Changed
Improves API documentation for custom annotation selection background. (#27677)
- Changed
Improves the
Annotation Selection Layout
example where the custom configuration for the annotation selection layout was lost after a page rotation. (#27678) - Changed
Updates the main toolbar icons for creating note annotations, showing outline section, printing, showing the reader view, opening settings, and creating a new signature. (#28669)
- Fixed
Fixes
PdfActivity
immersive mode inset handling on API 29+ devices. (#30190) - Fixed
Fixes an issue where calling
AnnotationProvider#hasUnsavedChanges()
on the UI thread leads to ANR. (#28656) - Fixed
Fixes an issue where callout annotation text was rendered incorrectly. (#27600)
- Fixed
Fixes an issue where ink annotation bounding boxes were incorrectly rotated. (#27148)
- Fixed
Fixes an issue where read-only ink annotations that were created while the eraser tool was active could be erased. (#27944)
- Fixed
Fixes an issue where switching tabs while having annotation selected could result in duplicated annotations. (#29875)
- Fixed
Fixes an issue where tapping outside page bounds while an annotation tool was selected would end the annotation editing mode. (#28633)
- Fixed
Fixes an issue where the app would crash when requesting camera access from the system. (#27609)
- Fixed
Fixes an issue where the selection UI could display the wrong bounding box for programmatically created annotations on rotated pages. (#28242)
- Fixed
Fixes an issue where the WebView wouldn’t be properly finished after dismissing a LinkAnnotation. (#28965)
- Fixed
Fixes a crash that could happen when navigating to a page containing a newly created
LinkAnnotation
. (#30232)
Model
- Added
Adds a new method to set custom fonts for typed signatures
Signature#setAvailableFonts(LinkedHashSet<Font>)
(#28416)- Added
Adds a new method to retrieve the available fonts to pick from when typing a signature. By default a set of four fonts is provided: Caveat, Pacifico, Marck Script, Meddon.
- Added
Adds support for blend mode in all annotations when using Instant JSON. If
blendMode
is not specified, it defaults tonormal
. (#29582) - Added
Adds the ability to open TIFF images as Image Documents. (#28776)
- Changed
Changes minSdkVersion from API 19 (KitKat) to API 21 (Lollipop). (#24917)
- Changed
Updates FreeType to 2.10.4.179. (#28676)
- Changed
Updates HarfBuzz to 2.8.0. (#28598)
- Changed
Updates libjpeg-turbo to 2.0.90. (#27771)
- Changed
Updates the Botan library to 2.18.0. (#29123)
- Fixed
Fixes an issue where calling
PdfDocument#saveIfModified()
would not save the document back to the original file if the document was previously saved to an external file usingPdfDocument#saveIfModified(outputPath)
. (#29776) - Fixed
Fixes a problem where a document signed with a timestamp would not validate correctly. (#29380)
- Fixed
Fixes a problem where an ECDSA signature in IEEE 1363 format would not validate correctly. (#29380)
- Fixed
Fixes a rendering issue for specific documents that have font resources with /Widths that are to small to render. (#28103)
- Fixed
Fixes an issue when setting form field datetimes that have JavaScript formatting. (#27939)
- Fixed
Fixes an issue where JavaScript code was not executed correctly. (#29283)
- Fixed
Fixes an issue where OCR would fail if no text is on the page. Now the call returns successfully. (#29527)
- Fixed
Fixes an issue where an invalid digital signature would return the same error code more than once. (#27512)
- Fixed
Fixes an issue where certain timestamps would not be preserved because of an incorrect sanitization step. (#27720)
- Fixed
Fixes an issue where deleting a note annotation could incorrectly print an error message to the log. (#28240)
- Fixed
Fixes an issue where form fields were not interactive after a document with JavaScript was merged with another document. (#28052)
- Fixed
Fixes an issue where importing a ‘goToRemote’ without a page index would fail. (#29616)
- Fixed
Fixes an issue where importing unknown actions using Instant JSON failed. (#29814)
- Fixed
Fixes an issue where loading from a checkpoint for a document failed in certain instances. (#27576)
- Fixed
Fixes an issue where negative values didn’t include thousand separators when being formatted by AFNumber_Format in JavaScript. (#28188)
- Fixed
Fixes an issue where not all data was shown on a small amount of documents containing hybrid cross-reference streams. (#28713, #24258)
- Fixed
Fixes an issue where paths could accidentally be filled in, even though only the border should have been painted. (#28699)
- Fixed
Fixes an issue where redactions of paths could fail with
Coordinate outside allowed range
if the path coordinates were very large. (#29791) - Fixed
Fixes an issue where some digital signatures with indefinite length structures were not validated correctly. (#26983)
- Fixed
Fixes an issue where some saved documents contained a xref table with more than one subsection. This may have caused problems if the document was signed multiple times, for example. (#28755)
- Fixed
Fixes an issue where some signatures with timestamps couldn’t be parsed correctly and returned an error. (#28642)
- Fixed
Fixes an issue where text extracted from an image using OCR was not selectable on the macOS Preview.app. (#28329)
- Fixed
Fixes an issue where the bounding box of automatically generated link annotations wasn’t large enough. (#27608)
- Fixed
Fixes an issue where the framework would write unnecessary entries to the PDF trailer dictionary. (#28755)
- Fixed
Fixes an issue where the signature description was cut off in narrow signature fields. (#27540)
- Fixed
Fixes an issue with OCR where no text was found if the text on the page was relatively large. (#29512)
- Fixed
Fixes an issue where the Instant JSON would contain redundant data after removing a form field. (#29671)
- Fixed
Fixes a crash that could happen when opening documents and image documents at the same time in different threads. (#29468)
Instant
- Added
Adds support for the Instant Comments component. (#28345)
- Added
Adds support for specifying blend mode for shape annotations in Instant JSON. (#29081)
- Added
Adds support for the (optional)
creator_name
claim in JWTs: All annotations and comments created in theInstantPdfFragment
displaying theInstantPdfDocument
for a JWT containing this claim will reflect its value as their creator. (#29507) - Fixed
Fixes a lock inversion that could lead to a deadlock. (#29743)
- Fixed
Fixes an issue where flattened Instant Comments on rotated pages didn’t correctly display text. (#28272)
6.6.2 - 19 May 2021
UI
- Fixed
Fixes an issue affecting freetext annotations where text justification was not set correctly for Arabic languages. (#29327)
Model
- Changed
Changes
PSPDFKit.initialize
method to allow passing a null value aslicenseKey
to allow trialing the SDK. (#27297)
6.6.1 - 6 May 2021
Model
- Changed
Updates Expat to 2.2.10. (#27472)
- Changed
Updates OpenJPEG to version 2.4.0. (#27917)
- Fixed
Fixes an issue in the text parser where space characters were being omitted from the returned text. (#28886)
- Fixed
Fixes an issue where
selectedResultIndex
from saved state exceeds the search results’ upper bounds causing an IllegalArgumentException. (#27665) - Fixed
Fixes a problem where the ‘name’ property of the PDF JS ‘field’ object may not return a correct value when the field is part of a hierarchy. (#27770)
- Fixed
Fixes an issue where a cache miss in the annotation cache could lead to a crash when using compound documents. (#25594)
- Fixed
Fixes an issue where calculating the tab order failed with
database is locked
or similar SQLite errors. (#24082) - Fixed
Fixes an issue where list boxes would not render text when a item is selected if there was no DA field present. (#28536)
UI
- Fixed
Fixes an additional issue where the signature description was cut off in narrow, short signature fields. (#27540)
- Fixed
Fixes an issue where custom scale handle drawables would be shown in the wrong corner on rotated pages. (#27679)
- Fixed
Fixes an issue where pages sizes were calculated incorrectly after resizing the
PdfFragment
causing overlay view sizes to be wrong. (#27864) - Fixed
Fixes a
NullPointerException
that could be thrown due to a race condition after callingPdfFragment#notifyLayoutChanged()
. (#22744)
6.6.0 - 11 Jan 2021
See the announcement post.
UI
- Added
Adds support for setting bold and italic fonts via
FreeTextAnnotation#setFontName()
. (#25843) - Added
Improves annotation selection UI customization by introducing
AnnotationSelectionViewThemeConfiguration
. (#26212)- Added
Adds
AnnotationSelectionController#getAnnotationSelectionViewThemeConfiguration()
to get the theme configuration used to customize the annotation selection view. - Added
Adds
AnnotationSelectionController#setAnnotationSelectionViewThemeConfiguration(AnnotationSelectionViewThemeConfiguration)
to set a theme configuration to customize the annotation selection view. - Added
Adds new Java example
AnnotationSelectionViewStylingActivity
that shows how to customize the annotation selection layout.
- Fixed
Fixes an issue affecting some foreign languages where the inline search layout had the wrong spacing when no results were found. (#24577)
- Fixed
Fixes an issue where internal usage of specific resource identifiers on
com.pspdfkit.R
would lead to crashes when using PSPDFKit inside a dynamic feature module. (#26984) - Changed
Improves documentation for custom annotation selection background as this feature is not supported by callout annotations. (#27677)
- Fixed
Fixes an issue where callout annotation text was rendered incorrectly. (#27600)
- Fixed
Fixes an issue where ink annotations’ bounding boxes were incorrectly rotated. (#27148)
- Fixed
Fixes an issue where the app would crash when requesting camera access from the system. (#27609)
Model
- Added
Adds a new document signature integrity status for when the digital signature type that is being validated is not supported. (#25030)
- Added
Adds constant field
WidgetAnnotation.FONT_SIZE_AUTO
which can be used withsetFontSize()
to enable automated font sizing for form fields. (#25595) - Added
Adds diagnostic information to
SigningFailedException
. (Z#22316) - Added
Adds method
WidgetAnnotation#setFontSize()
to set the font size for text form fields. (#23522)- Changed
Renames
WidgetAnnotation#getTextSize()
togetFontSize()
. The old method is now deprecated and will be removed with PSPDFKit 7 for Android.
- Added
Adds new version of
sqlite3
used in full text search. Upgrading from version 3.27.0 to 3.34.0. (#27459) - Added
Adds support for finding the correct form field type in non-conforming PDF files. (#26459)
- Added
Adds support for parsing multiple certificates inside a single
.pem
file. (#26396) - Added
Adds support for validating PAdES B digital signatures. (#25153)
- Added
Adds the option to change the vertical text alignment for
FreeTextAnnotation
s andWidgetAnnotation
s: (#23523)- Added
Adds
FreeTextAnnotation#set/getVerticalTextAlignment()
to set and get the vertical text alignment. - Added
Adds
WidgetAnnotation#set/getVerticalTextAlignment()
to set and get the vertical text alignment.
- Changed
Improves font selection process for bold and italic fonts. (#26719)
- Changed
Improves how certificate expiration in digital signatures is handled. (#27047)
- Changed
Improves performance loading some documents with broken internal links (named destinations). (#24398, #26099)
- Changed
Improves performance with path drawing by removing unnecessary path operations. (#25922)
- Changed
Improves rendering performance of documents with lots of image patterns. (#26186)
- Changed
Improves simplified and traditional Chinese font selection. (#26674)
- Changed
Digital signatures don’t show framework version numbers when inspected using third party software. (#26183)
- Changed
Reduces the memory required to load PDF documents by 15% to 35%, depending on the document. (#27182)
- Removed
Removes DeviceYearClass dependency that has been now deprecated, and adds an in-house implementation that does not require a third-party library to optimize the default configuration. (#24036)
- Changed
Updates Botan to 2.17.1. (#26794)
- Changed
Updates Duktape to 2.6.0. (#26435)
- Changed
Updates Kotlin to 1.4.21. (#26805)
- Changed
Updates the Android Gradle Plugin used by all example apps to version 4.1.1. (#26806)
- Fixed
Fixes a problem where signing a document again after filling a form field may invalidate existing digital signatures. (#25637)
- Fixed
Fixes a problem where some DER-encoded signatures may not be validated correctly. (#25757)
- Fixed
Fixes a problem where the signature reason, name or location may not appear correctly if they contain non-ASCII characters. (#26671)
- Fixed
Fixes an assert that was triggered by malformed documents that contained fonts that were not indirect objects. (#26450)
- Fixed
Fixes an issue in the Document Editor when adding an item to a imported page. (#25837)
- Fixed
Fixes an issue where OCR could not be performed on a certain image due to an incorrect render scale. (#26118)
- Fixed
Fixes an issue where an app would crash on trying to load an embedded file in a PDF document created using multiple data providers. (#26023)
- Fixed
Fixes an issue where appearance streams weren’t re-generated when using the processor even though ‘NeedAppearances’ was set in the PDF. (#26123)
- Fixed
Fixes an issue where documents with high object numbers were identified as corrupt. (#26062)
- Fixed
Fixes an issue where form calculation was triggered when setting an empty string on a form field that didn’t have a value. (#26345)
- Fixed
Fixes an issue where importing annotation appearance streams from XFDF would not work. (#25100)
- Fixed
Fixes an issue where partially redacted curved path objects may be misdrawn. (#26698)
- Fixed
Fixes an issue where paths overdraws resulting in incorrect shapes. (#27330)
- Fixed
Fixes duplication of newly created pages in the Document Editor. (#26074)
- Fixed
Fixes rendering a wrong color if the color was using a ICC color profile and the color was out of bounds. (#26535)
- Fixed
Fixes text clipping for form fields exceeding their
maxLen
due to programmatic changes. (#26340) - Fixed
Fixes the PDF JavaScript function
getNthFieldName
to return the FQN of the form field. (#26144) - Fixed
Fixes an issue where loading from a checkpoint for a document failed in certain instances. (#27576)
- Fixed
Fixes an issue where the signature description was cut off in narrow signature fields. (#27540)
6.5.3 - 27 Oct 2020
PSPDFKit 6.5.3 is a security patch release fixing a single CVE in one of our dependencies.
- Fixed
Fixes CVE-2020-15999 in upstream dependency Freetype. (#26610)
6.5.2 - 24 Sep 2020
UI
- Added
Adds new style attributes to the
PSPDFKit.AnnotationSelection
style to customize annotation selection UI: (#25552)- Added
Adds style attributes to change the drawable for each of the eight annotation scale handles:
pspdf__topLeftScaleHandleDrawable
,pspdf__topCenterScaleHandleDrawable
,pspdf__topRightScaleHandleDrawable
,pspdf__centerLeftScaleHandleDrawable
,pspdf__centerRightScaleHandleDrawable
,pspdf__bottomLeftScaleHandleDrawable
,pspdf__bottomCenterScaleHandleDrawable
,pspdf__bottomRightScaleHandleDrawable
. - Added
Adds
pspdf__rotationHandleDrawable
style attribute to change the drawable of the rotation handle. - Added
Adds
pspdf__backgroundDrawable
to change the background drawable of the annotation selection layout.
- Changed
Improves performance of Reader View feature by only starting the reflow process when the view is shown and cancelling it when the view is hidden. (#24400)
- Fixed
Fixes an issue related to tabbed documents where under certain conditions switching document may lead to an ANR. (#24693)
- Fixed
Fixes an issue where
PdfFragment
could become unresponsive when opening PDF documents with many pages and forms. (#25911) - Fixed
Fixes an issue where the blending between the selected text element background color and the document background was not calculated correctly for colors with transparency. (#24156)
- Fixed
Fixes an issue where the input
EditText
inside the custom stamps dialog would use the wrong input type and accept multi-line text. (#25871) - Fixed
Fixes an issue where the keyboard was not correctly hidden when a free text annotation was selected but not in writing mode. (#25886)
- Fixed
Fixes an issue where the zoom level of protected documents was not calculated correctly. (#24934)
Model
- Added
Adds support for PEM format PKCS#1 private keys for use with digital signatures. (#24919)
- Changed
Improves Processor behavior when license doesn’t include the forms component. (#24604)
- Changed
Improves font rendering in forms with Chinese, Japanese, Korean and Thai characters. (#24337)
- Changed
Improves log reducing noise in the OCR Library by removing unnecessary log messages in release mode. (#25532)
- Changed
Enhances the flattening of note annotations by rendering the root comment rather than the note icon. (#22673)
- Changed
OCR now uses NEON and AVX intrinsics for better performance. (#24870)
- Changed
Updates HarfBuzz to version 2.7.2. (#25717)
- Fixed
Fixes FTS queries with three or more words when searching for an exact match when using the unicode tokenizer. (#25068)
- Fixed
Fixes a crash that could happen as a result of a race condition when form fields were repaired and the page was rendered at the same time. (#24885)
- Fixed
Fixes a crash that could happen when creating form fields. (#25806)
- Fixed
Fixes a problem where some certificates with CRL distribution point extensions may not be validated correctly. (#24660)
- Fixed
Fixes an issue where appearance streams of form field widgets weren’t preserved correctly. (#25550)
- Fixed
Fixes an issue where Bézier paths were drawn incorrectly when a miter limit was set. (#25758)
- Fixed
Fixes an issue where form elements were included in the page rendering which shouldn’t have been. (#25799)
- Fixed
Fixes an issue where form fields may not be editable in some cases. (#23123)
- Fixed
Fixes an issue where image annotations could not be imported from XFDF files. (#25100)
- Fixed
Fixes an issue where text form fields weren’t displayed correctly after flattening due to their appearance stream being wrong in the original document. (#24918)
- Fixed
Fixes an issue where the digital signature advanced properties contained the signature creator twice. (#25611)
- Fixed
Fixes an issue where warning messages were displayed in other readers when flattening a signature form field. (#25923)
- Fixed
Fixes duplicate string occurrences when copy and pasting from documents with duplicate content. (#25108)
- Fixed
Fixes form field JavaScript actions in the generated documents when merging two or more documents together. (#25603)
- Fixed
Fixes the placement of the popup annotation linked to a note annotation. When a note annotation is moved, the popup annotation will now follow the location and is always placed within the bounds of the page. (#24468)
- Fixed
Fixes the saving of small shapes with large line widths. Shapes with these characteristics in documents saved by PSPDFKit will now be visible on any reader. (#25531)
Examples
- Added
Adds new
AnnotationSelectionViewStylingExample
that shows how to customize the annotation selection layout. (#25552) - Added
Adds new
PdfFromImageExample
which shows how to convert image files to PDF files using thePdfProcessor
. (#24996)
6.5.1 - 28 Jul 2020
UI
- Changed
Improves scrolling to page in continuous mode so that the scrolling goes to the beginning of the page, not the middle. (#24364)
- Fixed
Fixes an issue where document scrollbars were not visible when using
PdfFragment
inside a custom activity. (#24174) - Fixed
Fixes an issue where paste option is available on document long-press even if disabled by
PdfConfiguration
. (#24685) - Fixed
Fixes an issue where selecting a form field from a different page programmatically, would not switch page or would not show keyboard if the page was switched manually. (#24364)
Model
- Changed
Improved handling of native references which could previously lead to performance issues in documents with with large numbers of annotations. (#23587)
- Fixed
Fixes a problem where signing a document with existing digital signatures may invalidate them. (#24780)
- Fixed
Fixes an issue last viewed PdfFragment page restoration would crash if DocumentDataStore would not be properly initialized. The exception is now logged since it’s not critical for the work of the PdfFragment. (#22428)
- Fixed
Fixes an issue where objects rendered with the Overlay blend mode didn’t always render correctly. (#24298)
- Fixed
Fixes an issue where our text parser returned descending characters from the line above the intended search area. (#24709)
- Fixed
Fixes an issue where text with word or character spacing is shifted after redaction has been applied. (#24476)
6.5.0 - 30 Jun 2020
See the announcement post.
UI
- Added
Adds
values-v21/dark_theme.xml
which holds API 21+ theme overrides forPSPDFKit.Theme.Dark
. (#24511)- Changed
Sets
android:navigationBarColor
to@color/pspdf__dark_status_bar
on API 21+, to darken the navigation bar when using the dark theme without immersive mode.
Model
- Added
Adds support for OCR (optical character recognition) processing. (#24247)
- Added
Adds a new Maven artifact
com.pspdfkit:pspdfkit-ocr
that can be added as dependency to an app for integrating OCR capabilities. - Added
Adds multiple Maven artifacts
com.pspdfkit:pspdfkit-ocr-[language]
which can be added as dependencies to an app to enable OCR for a particular language. Currently supported languages arecroatian
,czech
,danish
,dutch
,english
,finnish
,french
,german
,indonesian
,italian
,malay
,norwegian
,polish
,portuguese
,serbian
,slovak
,slovenian
,spanish
,swedish
,turkish
, andwelsh
. - Added
Adds enum class
com.pspdfkit.document.processor.ocr.OcrLanguage
which lists all languages that are currently supported for performing OCR on. - Added
Adds method
performOcrOnPages(Set<Integer>, OcrLanguage)
toPdfProcessorTask
. - Added
Adds
OcrExample
to Catalog app.
- Changed
Updates GSL to version 3.1.0. (#24480)
- Changed
Updates HarfBuzz to version 2.6.7. (#24477)
- Fixed
Fixes an issue where resolving broken named references inside PDF dictionaries could lead to crashes. (#24599)
- Fixed
Fixes a very rare crash on certain documents when multiple pages were rendered at the same time. (#24598, #24626)
- Fixed
Fixes an endless loop while trying to repair form field. (#23901, #24597)
- Fixed
Fixes an issue where umlauts were displayed wrong in certain documents because the wrong encoding was used when shaping the text. (#24465)
6.4.0 - 8 Jun 2020
See the announcement post.
UI
- Added
Adds new Reader View component for displaying reflowed PDF content. (#23959)
- Added
Adds
com.pspdfkit.ui.PdfReaderView
that can be added to any view hierarchy for displaying reflowed document content. - Added
Adds an instance of
PdfReaderView
toPdfActivity
which is accessible via a new primary toolbar action with the IDR.id.pspdf__menu_option_reader_view
. The reader view toolbar action is disabled by default, and can be enabled usingPdfActivityConfiguration.Builder#enableReaderView(boolean)
. - Added
Adds a
ReaderViewExample
to the Catalog which demonstrates how to configure and usePdfReaderView
inside aPdfActivity
instance.
- Added
Adds a warning toast message when saving a digitally signed document fails using the default
DocumentSigningListener
. (#24166) - Fixed
Fixes an issue where calling
PdfFragment#zoomTo(Rect, int, long)
wouldn’t precisely zoom to the given rect on the page in continuous scroll mode. (#23566) - Fixed
Fixes an issue where color selection buttons in the signature picker dialog were not displayed. (#24121)
- Fixed
Fixes an issue where high-res page rendering is not working properly on Android devices running API < 24. (#24069)
- Fixed
Fixes an issue where shape annotations could be drawn outside of the page. (#23873)
Model
- Added
Adds the
OfficeToPdfConverter
which allows you to perform conversion from office documents to PDF documents using a remote PSPDFKit Server instance. (#24201) - Added
Adds support for
file:///android_asset/
URIs when usingSignatureGraphic.fromBitmap(android.net.Uri)
. (#24081) - Changed
Improves quality of fallback font rendering. (#24136)
- Changed
Improve style sheet parsing to recognize font names better. (#23968)
- Removed
Removes framework internal
PageLayout
class from public API. (#24318) - Changed
Updates
PdfProcessorTask#mergePage()
to auto-rotate the page to match the rotation of the destination page. (#23858) - Fixed
Fixes a dangling pointer upon destruction of PSPDFKit. (#24387)
- Fixed
Fixes a possible
UntaggedSocketViolation
strict mode violation that could be emitted by the internal framework code. (#23688) - Fixed
Fixes a problem where the asset name of a screen annotation would not be decoded correctly in some cases. (#24269)
- Fixed
Fixes a problem where the font name of a free text annotation would not be decoded correctly in some cases. (#24269)
- Fixed
Fixes an issue where flattening of form fields on pages with an offset artbox would cause a visual shift of form elements. (#23385)
- Fixed
Fixes an issue where combo boxes with attached JavaScript actions would fail to execute the attached actions when changing their value. (#23120)
- Fixed
Fixes an issue where non-latin text wouldn’t render correctly. (#23287)
- Fixed
Fixes an issue where properties of
Annotation
instances which were created using theXfdfFormatter.parseXfdf()
method would be reset upon adding the annotations to aPdfDocument
usingAnnotationProvider#addAnnotationToPage()
. (#24030) - Fixed
Fixes an issue where text was rendered incorrectly when the ‘comb’ option was used. (#24395)
- Fixed
Fixes an issue where wrong characters were displayed in multi-line form fields. (#23317)
- Fixed
Fixes edits to the page binding not being saved in certain documents. (#24115)
- Fixed
Fixes warnings that were logged due to unused FlatBuffers properties. (#24412)
Instant
- Added
Adds a new error code to
InstantErrorCode
for the case where syncing fails due to the size of the sync payload exceeding the server limit:PAYLOAD_SIZE_LIMIT_EXCEEDED
. (#23293) - Fixed
Fixes an issue where receiving and decoding yet unsupported annotation types could lead to a crash. (#23752)
Examples
- Added
Adds
HideRevealAnnotationsCreationExample
that shows how to add two special annotations that can be used to obscure the document. (#23544) - Added
Adds
TeacherStudentExample
that shows how to swap between documents and sync view state, annotations, and bookmarks. (#23546) - Added
Adds
BookmarkHighlightingExample
showing how to render a bookmark indicator on the thumbnail bar and thumbnail grid. This uses the PDF drawable API to render the indicator. (#23796) - Added
Adds
PersistentAnnotationSidebarExample
showing how to put a list of all annotations in a persistent sidebar next to aPdfUiFragment
. (#24401) - Changed
Updates the Android Gradle Plugin used by all example apps to version
3.6.3
. (#23995)
6.3.0 - 13 Apr 2020
See the announcement post.
UI
- Added
Adds support for changing the background color and hiding the sign here overlay that is shown in signature form fields. (#14685)
- Added
Adds
Pdf[Activity]Configuration#showSignHereOverlay()
to enable and disable the sign here overlay arrow being shown. - Added
Adds
PdfActivityConfiguration#enableMagnifier()
to enable and disable the magnifier being shown. - Added
Adds new style attribute
pspdf__signHereOverlayBackgroundColor
to control the background color of the sign here arrow. This should be added topspdf__FormSelection
style.
- Added
Adds support for keeping multiple
PdfFragment
s in the same view hierarchy. (#23619) - Added
Adds
PdfUiFragmentBuilder#pdfFragmentTag()
to configure a custom tag to be used for the internally hostedPdfFragment
. - Added
Adds
activityClass()
toPdfActivityIntentBuilder
andInstantPdfActivityIntentBuilder
that accept Kotlin’sKClass
type as activity class. (#23681) - Changed
Improves multimedia UI by adding the black background to the videos and by not allowing overlapping control bars. (#19279)
- Changed
Improves search performance by filling the page cache with already parsed pages. (#15947)
- Fixed
Fixes an issue where undo/redo did not revert/reapply the last action after importing a document in Document Editor. (#23361)
- Added
Adds method
PdfDocumentEditor#addPages(int, List<NewPage>)
to allow Document Editor to import multiple pages to a destination index.
- Fixed
Fixes a possible
NullPointerException
that could be emitted while quickly switching between opened tabs. (#23440) - Fixed
Fixes a potential
IllegalStateException
that could have been thrown when trying to render the image of a recycled page view. (#23591) - Fixed
Fixes an issue where “Accepted” and “Rejected” stamps border size changed slightly when rotated. (#19404)
- Fixed
Fixes an issue where Redo command might have failed after importing a document in Document Editor. (#23362)
- Fixed
Fixes an issue where
PdfFragment
could get stuck while loading password protected document. (#23521) - Fixed
Fixes an issue where annotation inspector did not save properties of edited callout annotations to annotation preferences. (#23441)
- Fixed
Fixes an issue where document outline and document info views were not updated after switching documents. (#23427)
- Fixed
Fixes an issue where items in the annotation list were displayed in the wrong order. (#23469)
- Fixed
Fixes an issue where the soft keyboard did not hide after dismissing the note editor by tapping outside of its dialog window. (#23650)
- Fixed
Fixes an issue where under certain conditions a crash could occur when the password view was displayed in a Xamarin Forms application. (#23300)
- Fixed
Fixes an issue where it was possible to create invisible redaction annotations. (#19716)
Model
- Added
Adds KDoc support available offline in the binary release. (#16045)
- Added
Adds new
getTargetFormFieldsAsync()
method toAbstractFormAction
. (#16968) - API
The
id
passed in forMenuItem
that containssubmenuIds
now always containsgroup
to differentiate it from simple items. (#23262)- Changed
Existing ids (
pspdf__annotation_creation_toolbar_item_markup
,pspdf__annotation_creation_toolbar_item_drawing
, etc.) were kept and a warning is emitted if they are used. This warning will be replaced by an exception in the next major release PSPDFKit for Android 7.0. - Changed
For your own menu item groupings make sure to pass in the newly added ids when creating items with sub item.
- Added
Added ids
pspdf__annotation_creation_toolbar_group_markup
,pspdf__annotation_creation_toolbar_group_drawing
,pspdf__annotation_creation_toolbar_group_writing
,pspdf__annotation_creation_toolbar_group_multimedia
,pspdf__annotation_creation_toolbar_group_undo_redo
.pspdf__annotation_editing_toolbar_group_undo_redo
,pspdf__annotation_editing_toolbar_group_copy_cut
,pspdf__annotation_editing_toolbar_group_inspector
,pspdf__annotation_editing_toolbar_group_edit_share
, andpspdf__document_editing_toolbar_group_more
.
- API
Deprecates
OnTextSelectionPopupToolbarShowListener
. This class will be removed with PSPDFKit 7 for Android. (#23487) - Changed
Updates Kotlin to 1.3.71. (#23832)
- Changed
Updates NDK to version 21.0.6113669. (#23426)
- Changed
Updates ReLinker to
1.4.1
. (#23633) - Changed
Updates RxJava to
2.2.7
and RxAndroid to2.1.1
. (#23518) - Changed
Updates
PdfUiFragment
to internally use the child fragment manager, this fixes a crash that could happen in our react-native wrapper. (#23673) - Changed
Updates the Android Gradle Plugin to 3.6.2. (#23449)
- Removed
Improves consumer proguard rules. (#23658)
- Removed
Removes
-renamesourcefileattribute SourceFile
rule since it caused issues with some bug reporting solutions. - Changed
Ignores Proguard warnings for
com.pspdfkit.internal
.
- Fixed
Fixes a potential issue resulting in data loss after saving. (#23474, #23485)
- Fixed
Fixes an issue flattening form fields correctly when the
ArtBox
of the page contains an offset. (#23385) - Fixed
Fixes an issue that caused a crash when rendering certain pages from multiple threads. (#23209, #23339)
- Fixed
Fixes an issue where document save listener was not notified when saving image documents. (#23472)
- Fixed
Fixes an issue where loading multiple unavailable documents into the
DocumentCoordinator
could lead to crash. (#23705) - Fixed
Fixes an issue where multiple form elements that are related to the same form field could not be targeted as a group in JavaScript actions, as described by the PDF Reference. (#22755)
- Fixed
Fixes an issue where shared image documents were empty. (#23416)
- Changed
Document save methods of the image document’s
PdfDocument
now throwUnsupportedOperationException
. UsesaveIfModified()
on theImageDocument
instance instead.
- Fixed
Fixes an issue where spacing between words was far too large. (#23439)
- Fixed
Fixes an issue where the HTML-to-PDF converter could not be initialized on devices using the AOSP
WebView
instead of Chromium. (#23776) - Fixed
Fixes an issue where the JNI’s limit of a maximum number of 65k global references could lead to a crash due to not releasing annotation objects requested through user interaction or through API calls. (#23587)
- Fixed
Fixes an issue where values of text form fields were only visible after being selected. (#23652)
- Fixed
Fixes internal form initialization and caching logic that could lead to a deadlock when changing form values while the forms were initializing. This could happen in multiple scenarios, for example when importing Document JSON or changing form values via JavaScript. (#23617)
- Fixed
Fixes potential document corruption when incremental saving encrypted documents. (#23689)
- Fixed
Fixes some rare stability issues when filling a form document with JavaScript scripts. (#23443)
Instant
- Added
Adds support for stamp annotations in Instant. (#19737)
- Added
Adds detailed error message when Instant connection fails. (#23574)
- Fixed
Fixes an issue where documents shared from Instant did not contain annotations. (#23377)
Examples
- Added
Improves Kotlin examples coverage in Catalog. (#11429)
- Changed
Shows language badges (Kotlin or Java) next to each example in the examples list.
- Added
Adds a configuration option to the Catalog preferences for choosing the preferred programming language. Kotlin is now the default preferred language.
- Added
Adds Kotlin version for most existing examples.
- Changed
Improves the structure of Catalog and Instant examples. (#23534)
- Changed
Renames the Instant example package to
com.pspdfkit.instant.example
. Renames the Catalog package tocom.pspdfkit.catalog
. - Changed
Extracts shared example code into a module named
shared
which is now used by both of these examples.
6.2.0 - 20 Feb 2020
See the announcement post.
- Changed
Updates the Android Gradle Plugin to 3.5.3. (#23079)
UI
- Removed
Deprecates
setPdfView()
,performApplyConfiguration()
,getPdfParameters()
andgetHostingActivity()
inPdfActivity
andPdfUiFragment
. These symbols were never meant for public usage and will be removed with the next major version. (#22933) - Removed
Moves internal
PdfUiImpl
from public packagecom.pspdfkit.ui
to obfuscated internal package as it was never meant for public usage. If you were using it, please contact our support with your specific use case. (#22999)- Removed
Deprecates
PSPDFKitViews#getFragment()
, usegetPdfFragment()
defined on eitherPdfActivity
orPdfUiFragment
.
- Added
Adds UI indication if the current font of a freetext annotation is not supported on the current device. (#22155)
- Changed
Font#getDefaultTypeface()
is now nullable. Anull
value indicates that this font isn’t supported on the current device.
- Added
Adds localized strings for British English (
en-rGB
locale). (#23092) - Added
Adds support for undoing the removal of annotations after using the “Clear All” button inside the annotation list. (#20310)
- Added
Adds
PdfOutlineView#setUndoManager()
to configure the undo manager that is used for tracking annotation removals.
- Changed
Improves animations when scrolling to search results in inline search. (#22921)
- Added
Improves document loading and UI performance. (#23166)
- Changed
Improves performance when zooming pages with multiple ink or stamp annotations.
- Changed
Improves document loading times for larger documents when the license supports digital signatures.
- Added
Adds
PdfDocument#getDocumentSignatureInfoAsync()
to retrieve the signature info in a non-blocking manner.PdfDocument#getDocumentSignatureInfo()
should no longer be called on the main thread.
- Changed
Improves document loading performance when having the redaction UI disabled using the
PdfActivityConfiguration.Builder#setRedactionUiEnabled()
. (#22927) - Changed
Improves page rendering performance. (#22298)
- Changed
Increases priority for rendering visible pages.
- Changed
Optimizes time to prepare annotation overlay.
- Changed
Delays display of page loading view. This improves feeling when switching to pages that are rendered fast or have cached rendering.
- Fixed
Improves property inspector behavior. (#22072)
- Changed
PropertyInspectorCoordinatorLayout
now internally uses bottom sheet implementation from the material components library. - Fixed
Fixes property inspector in immersive mode.
- Removed
Deprecates
setResizable()
andisResizable()
inPropertyInspector
. Property inspector does not support resizing anymore.
- Changed
Improves share dialog by automatically sanitizing the initial document name. (#23240)
- Changed
Changes the type of dates shown inside the annotation list from annotation creation dates to annotation last modified dates. This change is done to align behavior with PSPDFKit for iOS and PSPDFKit for Web. (#22373)
- Changed
Multiple annotation defaults were changed to be consistent with PSPDFKit for other platforms (Web and iOS). This includes default line thickness, text size, cloudy border intensity and eraser thickness defaults. (#22611)
- Changed
Sound annotations recording is now disabled when microphone is not available on the device. (#23215)
- Changed
Updates the icon for creating note annotations. (#23052)
- Changed
Updates tooltips and accessibility labels in the annotation creation toolbar. (#22839)
- Changed
“Highlight” is now called “Text Highlight”
- Changed
“Strike Out” is now called “Strikethrough”
- Changed
“Text: Callout” is now called “Callout”
- Changed
“Ink: Pen” is now called “Drawing”
- Changed
“Ink: Highlighter” is now called “Freeform Highlight”
- Changed
“Ink: Magic” is now called “Magic Ink”
- Changed
“Line: Arrow” is now called “Arrow”
- Fixed
Fixes a crash that could occur when using the navigation buttons after removing pages from a document using the document editor and saving it in place. (#22969)
- Fixed
Fixes a possible
IllegalArgumentException
that could have been thrown when saving document info when page binding was unknown. (#23273) - Fixed
Fixes an issue where JavaScript function
buttonImportIcon
did not scale imported images correctly. (#22967) - Fixed
Fixes an issue where annotations that were being created were rendered behind already added annotations instead of on top of them. (#22619)
- Fixed
Fixes an issue where callout annotations would be rendered incorrectly after rotating the page using the document editor. (#22911)
- Fixed
Fixes an issue where editing rotated callout annotations would break their layout.
- Fixed
Fixes an issue where long-pressing a page which was not readily loaded would sometimes cause a crash. (#22973)
- Fixed
Fixes an issue where making changes in the document info view and saving them in a document provided by a non writable data provider would lead to a crash. (#23205)
- Changed
The editing button is now hidden in the document info view when we detect that the current document is not writable.
- Fixed
Fixes an issue where opening a tab that has the inline search view open would also open the keyboard again. (#23088)
- Fixed
Fixes an issue where some strings were not translated correctly if the locale was not supported on the device. (#23271)
- Fixed
Fixes an issue where text in multiline free-text annotations could be cut-off until selected. (#22982)
- Fixed
Fixes an issue where the thumbnail grid performance would degrade when it was loaded alongside other views. (#23098)
- Fixed
Fixes an issue where touching the screen with a second finger while annotating would remove the current drawing. (#23283)
- Fixed
Fixes a possible
IllegalStateException
that could be thrown inPdfThumbnailGrid
after enabling user interface. (#23373)
Model
- API
Moves private PSPDFKit API’s from package
com.pspdfkit.framework
to packagecom.pspdfkit.internal
, as well as fromcom.pspdfkit.instant.framework
tocom.pspdfkit.instant.internal
respectively. (#22985) - Added
Adds custom lint check to ensure that
android:configChanges
is not configured forPdfActivity
classes. (#22543) - Added
Adds support for HTML-to-PDF conversion. (#22660)
- Added
Adds
HtmlToPdfConverter
as an entry point for this API. - Changed
This feature requires HTML to PDF Conversion enabled in your license.
- Added
Adds stricter validation to digital signature containers created externally. (#23011)
- Added
Adds support for incrementally saving encrypted documents. (#22722)
- Added
Adds support for the JavaScript function ‘doc.gotoNamedDest’. (#18957)
- Added
Adds support for validating digital signatures created by DocuSign. (#22191)
- Changed
Improves license check error messages to be more user friendly. (#12904)
- Changed
Improves performance of JPEG decoding by enabling SIMD instructions. (#22797)
- Changed
Improve compatibility with macOS 10.15 Preview for annotation notes in the sidebar. (#22791)
- Fixed
Fixes PDF Javascript when scripts are encoded in UTF-16. (#23044)
- Fixed
Fixes a problem where encrypted documents could not be digitally signed correctly. (#22722)
- Fixed
Fixes a problem where some PDF pages may not be rendered correctly. (#22767)
- Fixed
Fixes a rare problem where the application may terminate unexpectedly after loading a document or setting a form field value. (#22924)
- Fixed
Fixes an issue that caused a blank page after flattening annotations on a certain document. (#22279)
- Fixed
Fixes an issue where
PdfDocument#wasModified()
incorrectly returnedfalse
after Document JSON import. (#19378) - Fixed
Fixes an issue where characters weren’t escaped correctly when exporting XFDF. (#22844)
- Fixed
Fixes an issue where low-res rendering got triggered after the page has been recycled, leading to the crash. (#22972)
- Fixed
Fixes an issue where opening a certain document with form fields caused a crash. (#23001)
- Fixed
Fixes an issue where popup annotations were positioned incorrectly. (#22730)
- Fixed
Fixes an issue where some PDF JavaScript calculations did not work correctly. (#23043)
- Fixed
Fixes an issue where text on form fields was occasionally rendered with incorrect rotation on rotated pages. (#22854)
- Fixed
Fixes an issue where the file size optimization algorithm didn’t run. (#22809)
- Fixed
Fixes an issue where multiple JavaScript functions (for example
mailDoc
) did not parse their arguments correctly. (#23257) - Fixed
Fixes an issue with creating a Submit Form action from JSON without action flags. (#22784)
- Fixed
Fixes empty text form fields not rendering their background color. (#23263)
- Fixed
Fixes an issue where document checkpointing would not work when the UID of the document contained symbols that are not allowed in paths. (#12893)
Examples
- Added
Adds catalog example that shows how to create a filterable thumbnail grid by combining the custom view logic with PDF processor. (#23192)
- Fixed
Fixes an issue with the
AesDataProvider
when reopening a document right after saving it. (#23190) - Fixed
Fixes the
VerticalScrollbarExample
not working correctly with larger documents. (#22952) - Fixed
Fixes the Instant example not working on API 28 and up because
android:usesCleartextTraffic
was set tofalse
. (#22908)
6.1.1 - 15 Jan 2020
UI
- Changed
Improves clipping behavior of free text annotations with overflowing content. (#22218)
- Changed
Improves thumbnail size calculation when the
pspdf__usePageAspectRatio
theme attribute in the tab bar style istrue
by allowing every thumbnail to be a different size. (#22378) - Fixed
Fixes a
MissingWebViewPackageException
that could be thrown when invokingPdfMediaDialog
when the system WebKit package was not installed. (#22712) - Fixed
Fixes a possible
NullPointerException
that could be thrown when invokingUriAction
for Youtube links without the Youtube Android Player library. (#22686) - Fixed
Fixes an issue where an unhandled
IndexOutOfBoundException
could have been thrown when clicking on a drop down form field that was containing only a single item. (#22863) - Fixed
Fixes an issue where pages would not be restored when
android:configChanges
was configured on thePdfActivity
. (#22684)
Model
- Changed
Improves
InputStreamDataProvider
by making sure it is thread safe. (#22568) - Changed
Improves complex script text rendering. (#22573)
- Changed
Improves the error message that is produced when a failure occurs while restoring the last viewed page of a document. (#22428)
- Fixed
Fixes a possible crash when using document with huge number of annotations (10 thousands). (#19761)
- Fixed
Fixes an issue where a form field element appearance stream was regenerated accidentally. (#21618)
- Fixed
Fixes an issue where text is not displayed in small freetext annotations. (#22514)
- Fixed
Fixes an issue where the application could crash if loading password protected documents in quick succession. (#22662)
- Fixed
Fixes an issue with form calculations if one of the form fields contained multiple form elements. (#22675)
- Fixed
Fixes the
LicenseFeature
enum being obfuscated. (#22850)
Instant
- Changed
Disables annotation rotation when using Instant since it is not yet fully supported by Instant nor Web. (#22606)
- Fixed
Fixes a deadlock that could occur when changes were accumulated while a sync was already in progress. (#22703)
6.1.0 - 16 Dec 2019
See the announcement post.
- Changed
PSPDFKit is now built with Gradle 5.6.4. (#22566)
- Changed
Updates the Android Gradle Plugin to 3.5.2. (#22565)
- Changed
Updates the AppCompat library to version 1.1.0. (#22143)
- Changed
Updates the target SDK version from
28
to29
. (#21645)
Private APIs
This release adds a linter check that will warn developers when using PSPDFKit’s private APIs, i.e. classes, methods or fields which are parts of the com.pspdfkit.framework
Java package. Usage of private APIs is unsupported and will break starting with PSPDFKit 6.2 for Android in early 2020. If you are receiving linter warnings about private API usage after updating to 6.1, or if you are not sure whether your app is using private APIs, please reach out to our customer support team at https://pspdfkit.com/support/request/ or via mail to [email protected].
For more information on private API usage, see our online guide at https://pspdfkit.com/guides/android/announcements/unsupported-internal-symbols/.
UI
- Removed
Deprecates
DefaultEmbeddedFileSharingController
, useDefaultDocumentSharingController
instead. (#22382) - Removed
Deprecates multiple methods inside
DocumentSharingIntentHelper
. (#22379)- Removed
Deprecates
DocumentSharingIntentHelper.createChooser()
since its functionality regressed on devices running Android 10. UseIntent#createChooser()
together with an implicitIntent
instead. - Removed
Deprecates
DocumentSharingIntentHelper.queryMailToActivities()
. UseDocumentSharingIntentHelper#queryIntentActivities()
using anIntent
havingIntent#ACTION_SENDTO
and amailto:
URI.
- Added
Adds UI for changing the eraser tool thickness. (#15695)
- Changed
The size of the eraser tool is no longer scaled when changing the zoom level of the page. This makes erasing at higher zoom levels more precise than before.
- Added
Adds new
pspdf__eraserOutlineColor
style attribute to configure the outline of the eraser tool while erasing.
- Added
Adds
OverlayViewProvider
which allows you to overlay views on a page. (#9176)- Added
Adds
PdfFragment#addOverlayViewProvider()
andPdfFragment#removeOverlayViewProvider()
to add and remove customOverlayViewProvider
. - Added
Adds
OverlayLayoutParams
to control positioning of overlaid views on the page.
- Added
Adds
AnnotationOverlayRenderStrategy
which allows you to control how annotations are rendered when displayed in annotation overlay mode. (#19540)- Added
Adds
PdfFragment#setAnnotationOverlayRenderStrategy()
for setting the current render strategy. - Added
Adds
Strategy#PLATFORM_RENDERING
which tells PSPDFKit to render an annotation using a custom view. This is the default and used for most annotation types out of the box. - Added
Adds
Strategy#AP_STREAM_RENDERING
which tells PSPDFKit to display an annotation by rendering its AP stream. While this is slower than platform rendering, it can be used when precise PDF rendering is required. - Changed
Updates
AnnotationOverlayExample
with an ability to control overlay render strategy.
- Added
Adds support for custom document outlines. (#22058)
- Added
Adds
PdfOutlineView#setDocumentOutlineProvider()
for setting aDocumentOutlineProvider
. - Added
Adds
OutlineElement#Builder
for creatingOutlineElement
instances programmatically.
- Added
Adds support for Google TalkBacks forward and backward navigational gestures. (#22109)
- Added
Adds support for fill color property when creating and editing ink annotations. (#22203)
- Added
Adds
requirePdfFragment()
toPdfActivity
andPdfUiFragment
as@NonNull
variant of thegetPdfFragment()
method. This method always returns instance of thePdfFragment
or throws an exception if it is not yet initialized. (#21765) - Added
Adds
onPrepareFormElementSelection()
toOnFormElementSelectedListener
that can be used to prevent form element selection by returningfalse
from this method. (#22062) - Added
Adds support for multi-line bookmark titles. (#20712)
- Added
Adds
onSignatureUiDataCollected()
method to theSignaturePickerFragment.OnSignaturePickedListener
. You can use it to retrieve the raw drawing data for the created signature. Data is inside theSignaturePickerFragment.SignatureUiData
object and contains pressure list, point sequences, touch radii, etc. (#22176) - Changed
Improves performance when quickly scrolling through document pages. (#22067)
- Changed
Improves scrolling behaviour when in paginated mode by making it harder to accidentally change pages. (#21809)
- Added
The file picker which is used when saving a document after redaction now pre-fills the default file name. (#22254)
- Added
Adds overload for
FilePicker#getDestinationUri()
that gives control over the default file name that is used by the system file picker. - Fixed
Fixes an issue where the document title returned by
ContentResolvedDataProvider
would be the file name including the file extension.
- Fixed
Fixes an issue where annotations that were being created were rendered behind already added annotations instead of on top of them. (#22619)
- Fixed
Fixes a crash that would happen when adding and removing annotation replies. (#22456)
- Fixed
Fixes a possible
NullPointerException
that could be thrown when creating annotation eraser preview in annotation inspector. (#22441) - Fixed
Fixes a possible exception caused by accessing
getAnnotationPreferences()
orgetAnnotationConfiguration()
inPdfFragment
before views were created. (#22485) - Fixed
Fixes a possible unhandled
NullPointerException
when accessingNavigationBackStack
while initializingPdfActivity
. (#22430) - Fixed
Fixes an issue where the Android share sheet was truncated on API 29. (#22360)
- Fixed
Fixes an issue where the transparency of a stamp annotation loaded from a PNG image would be discarded upon sharing. (#22381)
- Fixed
Fixes an issue where changing an activity configuration via
setConfiguration()
while the document was still loading could lead to showing an empty view instead of resuming the document loading. (#22524) - Fixed
Fixes an issue where coordinate conversions on
ViewProjection
did not consider the document view scroll positions. (#22297) - Fixed
Fixes an issue where custom title set via
DocumentDescriptor#setTitle()
was not displayed in the document title view. (#22460) - Fixed
Fixes an issue where the text size of free text annotations would shrink when rotating the device. (#22115)
- Fixed
Fixes an issue where image stamps could get distorted when resized immediately after rotating. (#21870)
- Fixed
Fixes an issue where page rendering could get stuck if the page contained small annotations. (#21590)
- Fixed
Fixes an issue where the title of a tab could falsely change after rotating the device. (#22163)
- Fixed
Fixes an issue where text in auto-sized free text annotations would be cut off when changing the border thickness to small values. (#22455)
- Fixed
Fixes an issue where the modular search would not restore search results after changing the device orientation. (#21914)
- Fixed
Fixes an issue where toolbar items would appear black on API 19. (#22544)
- Fixed
Fixes an
ArrayIndexOutOfBoundsException
which would happen in apps targeting API 29 when saving edited document inside the document editor. (#22594) - Fixed
Fixes class loading issue that could happen during a configuration change. (#22326)
Model
- API
Hides the default constructor of the
DocumentJsonFormatter
class which only exposes static methods. (#22308) - Added
Adds
Annotation#getUuid()
to access the UUID which is auto-generated for each annotation. (#21899) - Added
Adds custom linter rule to warn when using experimental APIs. (#22016)
- Added
Adds support for Image Documents with transparency. (#18907)
- Added
Adds support for redaction annotations to Instant JSON. (#21389)
- Changed
Improves font selection to prefer fonts which are already part of the document in more cases. (#22530)
- Changed
Improves memory usage while searching documents containing many annotations. (#22367)
- Changed
Improves performance of the Redaction component so that big documents are redacted quicker. (#22102)
- Changed
Updates Duktape to version 2.5.0. (#22476)
- Changed
Updates HarfBuzz to version 2.6.2. (#21686)
- Fixed
Fixes ISO8601 timezone support in instant json. (#21148)
- Fixed
Fixes a crash related to multi-threading and font loading. (#22387)
- Fixed
Fixes a possible
ExceptionInInitializerError
that could be thrown when loading system fonts. (#22447)- Added
Adds
Font
constructor for creation directly from default typeface. - Changed
Marks result of
Font#getDefaultFontFile()
as@Nullable
. Fonts created directly from default typeface do not have any font files. - Changed
Hides font picker in annotation inspector in unlikely case where fonts could not be loaded from the system.
- Fixed
Fixes a rare situation where setting form field flags may cause a deadlock. (#19942)
- Fixed
Fixes an issue where annotation additional actions may not be deserialized correctly. (#21983)
- Fixed
Fixes an issue where certain high resolution images weren’t rendered. (#22322)
- Fixed
Fixes an issue where certificates with multivalue RDNs may not be parsed correctly. (#22221)
- Fixed
Fixes an issue where deleting or moving of pages in a PDF did not update the document outline. (#21620, #22048)
- Fixed
Fixes an issue where signature graphics created from transparent PNG lost alpha information. (#22386)
- Fixed
Fixes an issue where some filled form fields would not show their content correctly. (#22100)
- Fixed
Fixes an issue where text entered in certain form fields was rendered incorrectly. (#21700)
- Fixed
Fixes an issue where the redaction tool would not work correctly when selecting text in specific document. (#22486)
- Fixed
Fixes stability issues related to color space management. (#21529)
- Fixed
Fixes widget annotation rotation property persistence when coming from instant JSON. (#21552, #21621)
Instant
- Changed
Reduces network traffic when loading additional layers of the same document. (#21787)
- Changed
Updates OkHttp dependency to 4.2.1. (#21881)
Examples
- Changed
Cleans up simple example app. (#22400)
- Fixed
Fixes an issue where
DownloadedFilesObserverService
in catalog could open documents after saving. (#22266)
6.0.3 - 7 Nov 2019
UI
- Added
Adds
PersistentTabsExample
that shows how to persist opened tabs of aPdfActivity
inside the user’s shared preferences. (#22080) - Added
Adds
getCustomTitle()
method toDocumentDescriptor
. Use this method to retrieve custom document title set viasetTitle()
. (#22103) - Changed
Improves annotation inspector reveal animation when keyboard is visible. (#20117)
- Changed
Enables setting the default signer certificate that will be used in the signature dialog. You can set it via
#defaultSigner(String)
inPdfActivityConfiguration.Builder
andPdfConfiguration.Builder
by providing the signer string identifier. (#21855) - Changed
Updates the annotation creation menu item icon so it better fits with the material design. (#21997)
- Fixed
Fixes an issue where
ImageDocumentUtils#isImageUri()
returnedfalse
for file-basedUri
s that had an image extension. (#22081) - Fixed
Fixes an issue where custom fonts provided when initializing PSPDFKit were not handled correctly. (#22041)
- Fixed
Fixes an issue where custom fonts were not rendered inside FreeTextAnnotations.
- Changed
Custom fonts are now included in font picker inside annotation inspector.
- Fixed
Fixes an issue where highlighted page in thumbnail bar was set to 0 after rotating page. (#21076)
- Fixed
Fixes an issue where the
PdfActivity
did not properly save the view state when usingPdfActivity#setConfiguration()
. (#21536)
Model
- Added
Adds
hasBorder()
method toBorderStylePreset
that returnstrue
if the preset represents visible border. (#22205) - Changed
Increases image size limits. (#22029)
- Changed
StampAnnotation#toInstantJSON()
now checks whether annotation has contents and throws an exception when it does not, i.e. when annotation title, stamp type and bitmap arenull
or empty. (#21581) - Fixed
Fixes
PdfUiFragment
not implementingPdfActivityComponentsApi
and missing those methods in its API. (#22036) - Fixed
Fixes an issue if a TrueType font collection has more than 32 fonts. (#22148)
- Fixed
Fixes an issue where form repairs were done too eagerly. (#20786)
- Fixed
Fixes an issue where some properties of a widget annotation were not persisted when the document was saved. (#21546)
- Fixed
Fixes an issue where using a big size for the digital signature container may abort the digital signing process. (#22130)
Instant
- Fixed
Fixes an issue where text could disappear after changing to unsupported font on other Instant clients (Web, Windows or iOS). (#22054)
6.0.2 - 16 Oct 2019
- Changed
PSPDFKit is now built with Gradle 5.6.2. (#21072)
- Changed
Updates the Android Gradle Plugin to 3.5.1. (#21782)
UI
- Changed
Improves
PdfActivity
by adding support for selecting annotations and form elements using only the keyboard. (#21312) - Fixed
Fixes an issue where it wasn’t possible to enter certain symbols into form fields with date format. Input type for form elements with
DATE
orTIME
asTextInputFormat
has been changed fromInputType#TYPE_CLASS_DATETIME
toInputType#TYPE_CLASS_TEXT
. We did this change because we can’t guarantee that date-time input type will allow entering all symbols that are required by certain JavaScript date-time formats. (#21812) - Fixed
Fixes an issue where screen timeout set via UI or
setScreenTimeout
was reset when changing activity configuration. (#20122)
Model
- Added
Adds support for printing array structures from JavaScript code inside a PDF. (#19063)
- Fixed
Fixes a crash when using the processor on certain documents with very deep object hierarchies. (#21674)
- Fixed
Fixes a performance regression when rendering with an ICC based color space. (#21776)
- Fixed
Fixes a rare deadlock when rendering certain documents. (#21856)
- Fixed
Fixes a regression that caused certain link annotations to not work. (#21709)
- Fixed
Fixes a rendering error where the font
ArialMT
wasn’t selected correctly. (#21744) - Fixed
Fixes an issue where a digital signature applied to a certain kind of document may not show correctly in third party PDF readers. (#18943)
- Fixed
Fixes an issue where page click causes a crash due to the missing page state. (#21548)
- Fixed
Fixes issues with transparent image stamp annotations created from PNG files. (#11996)
Instant
- Fixed
Fixes a possible crash when loading annotations failed in certain Instant documents. (#21617, Z#15606)
- Fixed
Fixes an issue where free-text annotations synced via Instant could have their bounding boxes clipped. (#21396)
6.0.1 - 04 Oct 2019
UI
- Changed
Improves signature validation messages for signatures with expired certificates. (#21335)
- Changed
Prevents scrolling when tapping the edge on a zoomed page to improve user experience. (#21663)
- Fixed
Fixes a crash that could happen when the state of the
PageLayout
was accessed after it was recycled. (#21645) - Fixed
Fixes a possible
NullPointerException
when accessing context inLinkAnnotationHighlighter
. (#21610) - Fixed
Fixes a visual glitch in outline tabs icons after changing page binding. (#21438)
- Fixed
Fixes an issue where compound hide action lead to glitchy transition for affected annotations. (#21570)
- Fixed
Fixes an issue where free-text callout line end was displayed incorrectly. (#21672)
- Fixed
Fixes an issue where the
ANNOTATION_NOTE
was ignored for freetext annotations. (#21090) - Fixed
Fixes an issue where the redaction button was not hidden when redacting to a new file. (#21517)
Model
- Fixed
Fixes an issue when using multi-threaded rendering. (#18582)
- Fixed
Fixes an issue where documents using certain kind of fonts may cause the app to be terminated unexpectedly. (#21626)
- Fixed
Fixes an issue where the z-index wasn’t preserved when flattening annotations. (#21385)
6.0.0 - 20 Sep 2019
See the announcement post.
- Changed
Update Kotlin to 1.3.50. (#21380)
- Changed
Updates Botan to version 2.11.0. (#20549)
- Changed
Updates Duktape to version 2.4.0. (#20954)
- Changed
Updates the Android Gradle Plugin to 3.5.0. (#21070)
UI
- Added
Adds
PdfUiFragment
which provides the same UI and API as thePdfActivity
but as a fragment that can be included as part of another activity. ThePdfUiFragment
is considered experimental and the API may change or be removed in future framework releases. (#20981)- Added
Adds
PdfUiFragmentBuilder
to create newPdfUiFragment
instances. - Added
Adds
PdfUi
, an interface containing methods that are shared by both thePdfActivity
as well as thePdfUiFragment
. - Removed
Removes
PdfActivityApi
, this was replaced byPdfUi
.
- Added
Adds support for free text annotations to automatically scale based on the content that is entered. By default they automatically scale both horizontally as well as vertically. (#20614)
- Added
Adds
AnnotationTextResizingConfiguration
to control in which direction free text annotations can scale automatically.
- Added
Adds UI for annotation z-index reordering. (#21264)
- Added
Adds reordering annotations in the annotation outline view.
- Added
Adds buttons for reordering annotations to the inspector. When the reordering happens, the position of the annotation on the page is briefly shown.
- Added
Adds
PdfActivityConfiguration.Builder#setAnnotationListReorderingEnabled(boolean)
to set whether reordering annotations in the annotation list is enabled. - Added
Adds
AnnotationConfiguration.Builder#setZIndexEditingEnabled()
so you can enable/disable z-index editing for the particular annotation type.
- Added
Adds support for rotating stamps with custom appearance stream generators. (#20871)
- Added
Adds
isRotationEnabled()
andsetRotationEnabled()
method toAnnotationSelectionController
to control whether the rotation handle should be displayed.
- Added
Adds default interface methods for the
DocumentListener
interface. (#21189) - API
Adds new methods for converting between normalized PDF coordinates and raw PDF coordinates. (#20945)
- Added
Adds
PdfDocument#getPdfProjection()
to retrieve an instance ofPdfProjection
. - Added
Adds
PdfProjection#toRawPoint(PointF, int)
to map a normalized PDF point to a raw PDF point. - Added
Adds
PdfProjection#toNormalizedPoint(PointF, int)
to map a raw PDF point to a normalized PDF point. - Added
Adds
PdfProjection#toRawRect(RectF, int)
to map a normalized PDF rect to a raw PDF rect. - Added
Adds
PdfProjection#toPdfRect(Rect, int)
to map a raw PDF rect to a normalized PDF rect. - Added
Adds
PdfProjection#getNormalizedToRawTransformation(int)
to return a transformation matrix for converting normalized page coordinates to raw page coordinates. - Added
Adds
PdfProjection#getRawToNormalizedTransformation(int)
to return a transformation matrix for converting raw page coordinates to normalized page coordinates. - Added
Adds
PdfFragment#getViewProjection()
to retrieve an instance ofViewProjection
. - Added
Adds
ViewProjection#toPdfPoint(PointF, int)
to convert a point in view coordinate space to a point in normalized PDF coordinate space. - Added
Adds
ViewProjection#toViewPoint(PointF, int)
to convert a point in normalized PDF coordinate space to a point in view coordinate space. - Added
Adds
ViewProjection#toPdfRect(RectF, int)
to convert a rect in view coordinate space to a rect in normalized PDF coordinate space. - Added
Adds
ViewProjection#toViewRect(RectF, int)
to convert a rect in normalized PDF coordinate space to a rect in view coordinate space. - Added
Adds
ViewProjection#getPageToViewTransformation(int, Matrix)
to return a transformation matrix for converting normalized page coordinates to view coordinates. - Added
Adds
ViewProjection#getViewToPageTransformation(int, Matrix)
to return a transformation matrix for converting view coordinates to normalized page coordinates. - Removed
Deprecates
PdfFragment#getPageToViewTransformation(int, Matrix, boolean)
. UseViewProjection#getPageToViewTransformation(int, Matrix)
instead. - Removed
Deprecates
PdfFragment#getPageToViewTransformation(int, Matrix)
. UseViewProjection#getPageToViewTransformation(int, Matrix)
instead. - Removed
Deprecates
PdfFragment#convertViewPointToPdfPoint(PointF, int)
. UseViewProjection#toPdfPoint(PointF, int)
instead. - Removed
Deprecates
PdfFragment#convertPdfPointToViewPoint(PointF, int, boolean)
. UseViewProjection#toViewPoint(PointF, int)
instead. - Removed
Deprecates
PdfFragment#convertPdfPointToViewPoint(PointF, int)
. UseViewProjection#toViewPoint(PointF, int)
instead. - Removed
Deprecates
PdfFragment#convertViewRectToPdfRect(RectF, int)
. UseViewProjection#toPdfRect(RectF, int)
instead. - Removed
Deprecates
PdfFragment#convertPdfRectToViewRect(RectF, int)
. UseViewProjection#toViewRect(RectF, int)
instead.
- Added
Adds new theme attributes to configure tab bar appearance. (#16644)
- Added
Adds new theme attribute
pspdf__tabBarStyle
to configure the tab bar style. - Added
Adds new style attribute
pspdf__tabColor
to control the color of the tab items. - Added
Adds new style attribute
pspdf__tabIndicatorColor
to control the color of the selected tab indicator. - Added
Adds new style attribute
pspdf__tabTextColorSelected
to control the color of the selected tab text. - Added
Adds new style attribute
pspdf__tabTextColor
to control the color of the tab text when not selected. - Added
Adds new style attribute
pspdf__tabIconColorSelected
to control the color of the selected tab icon. - Added
Adds new style attribute
pspdf__tabIconColor
to control the color of the tab icon when not selected. - Added
Adds new style attribute
pspdf__tabBarHeight
to control the height of the tab bar. - Added
Adds new style attribute
pspdf__tabBarMinimumWidth
to control the minimum width of a single tab item. - Added
Adds new style attribute
pspdf__tabBarMaximumWidth
to control the maximum width of a single tab item. - Added
Adds new style attribute
pspdf__tabBarTextSize
to control the text size of the tab items.
- Changed
Improves annotation editing coordination when annotation overlay is disabled. (#21377)
- Changed
Improves audio view appearance by putting it into a ‘floating’ container. (#20890)
- Changed
Improves performance by making password and document loading error views lazy. (#21274)
- Changed
Improves keyboard support in the
PdfActivity
by making the tab order of UI views more reliable. (#21247) - Fixed
Fixes a visual glitch in outline tabs icons after changing page binding. (#21438)
- Fixed
Fixes an issue where accessing the internal state of a recycled page view lead to a crash. (#21386)
- Fixed
Fixes an issue where
PdfFragment
could not load documents after it was recreated inside aViewPager
. (#21421) - Fixed
Fixes an issue where created annotations disappeared in certain cases when immersive mode was active. (#21252)
- Fixed
Fixes an issue where form elements would not be fillable if their corresponding widget annotation would have the
AnnotationFlags#READONLY
flag set. (#21051) - Fixed
Fixes an issue where no error message was displayed when clicking on a link annotation having an invalid URI. (#20840)
- Fixed
Fixes an issue where opening and closing the keyboard in immersive mode applies the wrong inset to
PdfFragment
. (#20959) - Fixed
Fixes an issue where resizing free text annotations could result in unhandled
NullPointerException
s to be thrown. (#20980) - Fixed
Fixes an issue where text form elements that were configured as not scrolling would not automatically update their text size. (#20720)
- Fixed
Fixes possible incorrect thumbnail bar padding when using the immersive mode. (#20873)
- Fixed
Fixes a possible crash that could occur when changing pages while having annotations selected. (#21468)
- Fixed
Fixes an issue on API 19 device, where low-resolution renderings of pages were not refreshed on recycled page views. (#21485)
- Fixed
Fixes an issue where closing a document immediately after changing the page could result in a
NullPointerException
. (#21443) - Fixed
Fixes an issue where the
animate
parameter ofToolbarCoordinatorLayout#displayContextualToolbar()
andToolbarCoordinatorLayout#removeContextualToolbar()
was ignored and the animation was always shown. (#21075)
Model
- API
Removes all previously deprecated symbols. (#20504)
- Removed
Removes
PdfFragment#getAnnotationDefaults()
. UsePdfFragment#getAnnotationConfiguration()
instead. - Removed
Removes
PdfFragment#setAnnotationDefaultsProvider()
. UseAnnotationConfigurationRegistry#put()
instead. - Removed
Removes
PSPDFKit#setLoggingEnabled()
. To disable logging, remove all loggers viaPdfLog#removeAllLoggers()
. Alternatively implement custom logging policy by setting multiple customLogger
s viaPdfLog#setLoggers(Logger...)
. - Removed
Removes
AnnotationDefaultsManager
. Replaced by theAnnotationConfigurationRegistry
. - Removed
Removes
AnnotationDefaultsProvider
. Replaced byAnnotationConfiguration
. - Removed
Removes
com.pspdfkit.annotations.defaults.AnnotationProperty
. Usecom.pspdfkit.annotations.configuration.AnnotationProperty
instead. - Removed
Removes
AnnotationAggregationStrategyDefaultsProvider
. UseAnnotationAggregationStrategyConfiguration
instead. - Removed
Removes
AnnotationDefaultsAlphaProvider
. UseAnnotationAlphaConfiguration
instead. - Removed
Removes
AnnotationDefaultsBorderStyleProvider
. UseAnnotationBorderStyleConfiguration
instead. - Removed
Removes
AnnotationDefaultsColorProvider
. UseAnnotationColorConfiguration
instead. - Removed
Removes
AnnotationDefaultsFillColorProvider
. UseAnnotationFillColorConfiguration
instead. - Removed
Removes
AnnotationDefaultsFontProvider
. UseAnnotationFontConfiguration
instead. - Removed
Removes
AnnotationDefaultsLineEndTypeProvider
. UseAnnotationLineEndsConfiguration
instead. - Removed
Removes
AnnotationDefaultsNoteIconProvider
. UseAnnotationNoteIconConfiguration
instead. - Removed
Removes
AnnotationDefaultsOutlineColorProvider
. UseAnnotationOutlineColorConfiguration
instead. - Removed
Removes
AnnotationDefaultsOverlayTextProvider
. UseAnnotationOverlayTextConfiguration
instead. - Removed
Removes
AnnotationDefaultsPreviewProvider
. UseAnnotationDefaultsProvider
instead. - Removed
Removes
AnnotationDefaultsRepeatOverlayTextProvider
. UseAnnotationOverlayTextConfiguration
instead. - Removed
Removes
AnnotationDefaultsTextSizeProvider
. UseAnnotationTextSizeConfiguration
instead. - Removed
Removes
AnnotationDefaultsThicknessProvider
. UseAnnotationThicknessConfiguration
instead. - Removed
Removes
AnnotationDefaultsStampProvider
. UseStampAnnotationConfiguration.Builder
instead. - Removed
Removes
EraserDefaultsProvider
. UseEraserToolConfiguration.Builder
instead. - Removed
Removes
FileAnnotationDefaultsProvider
. UseFileAnnotationConfiguration.Builder
instead. - Removed
Removes
FreeTextAnnotationDefaultsProvider
. UseFreeTextAnnotationConfiguration.Builder
instead. - Removed
Removes
InkAnnotationDefaultsProvider
. UseInkAnnotationConfiguration.Builder
instead. - Removed
Removes
LineAnnotationDefaultsProvider
. UseLineAnnotationConfiguration.Builder
instead. - Removed
Removes
MarkupAnnotationDefaultsProvider
. UseMarkupAnnotationConfiguration.Builder
instead. - Removed
Removes
NoteAnnotationDefaultsProvider
. UseNoteAnnotationConfiguration.Builder
instead. - Removed
Removes
RedactionAnnotationDefaultsProvider
. UseRedactionAnnotationConfiguration.Builder
instead. - Removed
Removes
ShapeAnnotationDefaultsProvider
. UseShapeAnnotationConfiguration.Builder
instead. - Removed
Removes
StampAnnotationDefaultsProvider
. UseStampAnnotationConfiguration.Builder
instead. - Removed
Removes
AnnotationPreferencesManager#getBorderStyle()
. UseBorderStylePreset#getBorderStyle()
on border style preset returned viaAnnotationPreferencesManager#getBorderStylePreset()
. - Removed
Removes
AnnotationPreferencesManager#setBorderStyle()
. UseBorderStylePreset
set viaAnnotationPreferencesManager#setBorderStylePreset()
. - Removed
Removes
AnnotationPreferencesManager#getBorderDashArray()
. UseBorderStylePreset#getDashArray()
on border style preset returned viaAnnotationPreferencesManager#getBorderStylePreset()
. - Removed
Removes
AnnotationPreferencesManager#setBorderDashArray()
. UseBorderStylePreset
set viaAnnotationPreferencesManager#setBorderStylePreset()
. - Removed
Removes
PdfConfiguration.Builder#textSharingEnabled()
. UsePdfConfiguration.Builder#setEnabledShareFeatures()
withShareFeatures#TEXT_SELECTION_SHARING
,ShareFeatures.NOTE_ANNOTATION_SHARING
andShareFeatures.FREE_TEXT_ANNOTATION_SHARING
instead. - Removed
Removes
PdfConfiguration.Builder#embeddedFileSharingEnabled()
. UsePdfConfiguration.Builder#setEnabledShareFeatures()
withShareFeatures#EMBEDDED_FILE_SHARING
instead. - Removed
Removes
PdfConfiguration.Builder#sharingNoteEditorContentEnabled()
. UsePdfConfiguration.Builder#setEnabledShareFeatures()
withShareFeatures#NOTE_EDITOR_CONTENT_SHARING
instead. - Removed
Removes
PdfConfiguration.Builder#setSignatureSavingEnabled()
. UsePdfConfiguration.Builder#signatureSavingStrategy()
instead. - Removed
Removes
PdfConfiguration.Builder#setCustomerSignatureFeatureEnabled()
. UsePdfConfiguration.Builder#signatureSavingStrategy()
instead. - Removed
Removes
PdfConfiguration#isTextSharingEnabled()
. UsePdfConfiguration#getEnabledShareFeatures()
and check ifShareFeatures#TEXT_SELECTION_SHARING
is enabled. - Removed
Removes
PdfConfiguration#isEmbeddedFilesSharingEnabled()
. UsePdfConfiguration#getEnabledShareFeatures()
and check ifShareFeatures#EMBEDDED_FILE_SHARING
is enabled. - Removed
Removes
PdfConfiguration#isSharingNoteEditorContentEnabled()
. UsePdfConfiguration#getEnabledShareFeatures()
and check ifShareFeatures#NOTE_EDITOR_CONTENT_SHARING
is enabled. - Removed
Removes
PdfConfiguration#isSignatureSavingEnabled()
. UsePdfConfiguration#getSignatureSavingStrategy()
instead. - Removed
Removes
PdfConfiguration#isCustomerSignatureFeatureEnabled()
. UsePdfConfiguration#getSignatureSavingStrategy()
instead. - Removed
Removes
PdfActivityConfiguration.Builder#sharingNoteEditorContentEnabled()
. UsePdfActivityConfiguration.Builder#enabledShareFeatures()
withShareFeatures#NOTE_EDITOR_CONTENT_SHARING
instead. - Removed
Removes
PdfActivityConfiguration.Builder#enableShare()
. UsePdfActivityConfiguration.Builder#enabledShareFeatures()
withShareFeatures.all()
instead. - Removed
Removes
PdfActivityConfiguration.Builder#disableShare()
. UsePdfActivityConfiguration.Builder#enabledShareFeatures()
withShareFeatures.none()
instead. - Removed
Removes
PdfActivityConfiguration.Builder#setSignatureSavingEnabled()
. UsePdfActivityConfiguration.Builder#signatureSavingStrategy()
instead. - Removed
Removes
PdfActivityConfiguration.Builder#setCustomerSignatureFeatureEnabled()
. UsePdfActivityConfiguration.Builder#signatureSavingStrategy()
instead. - Removed
Removes
PdfActivityConfiguration#isShareEnabled()
. UsePdfActivityConfiguration#getEnabledShareFeatures()
instead. - Removed
Removes
ThumbnailBarMode#THUMBNAIL_BAR_MODE_DEFAULT
. UseThumbnailBarMode#THUMBNAIL_BAR_MODE_FLOATING
instead. - Removed
Removes
PdfProcessorTask#addPdfToPage()
. UsePdfProcessorTask#mergePage()
instead. - Removed
Removes
SearchOptions.Builder(Context)
. Use no parameter constructor instead. - Removed
Removes
TextSearch(Context, PdfDocument, PdfConfiguration)
. UseTextSearch(PdfDocument, PdfConfiguration)
instead. - Removed
Removes
Signer#OnSigningCompleteCallback
. - Removed
Removes
Signer#signFormField(SignatureFormField, BiometricSignatureData, OutputStream, OnSigningCompleteCallback)
. UseSigner#signFormField(SignerOptions)
instead. - Removed
Removes
Signer#signFormField(SignerOptions, OnSigningCompleteCallback)
. UseSigner#signFormField(SignerOptions)
instead. - Removed
Removes
Signer#signFormFieldAsync(SignatureFormField, BiometricSignatureData, OutputStream)
. UseSigner#signFormFieldAsync(SignerOptions)
instead. - Removed
Removes
SignaturePickerFragment#setSignaturePickerOrientation()
. Pass in the desiredSignatureOptions
toSignaturePickerFragment#show()
instead. - Removed
Removes
SignaturePickerFragment#showSignaturePicker()
. UseSignaturePickerFragment#show()
instead. - Removed
Removes
AnnotationCreationController#getBorderStyle()
. Use border style viaBorderStylePreset#getBorderStyle()
returned byAnnotationCreationController#getBorderStylePreset()
. - Removed
Removes
AnnotationCreationController#setBorderStyle()
. Set in a border preset viaAnnotationCreationController#setBorderStylePreset(BorderStylePreset)
. - Removed
Removes
AnnotationCreationController#getBorderDashArray()
. Use dash array viaBorderStylePreset#getDashArray()
returned byAnnotationCreationController#getBorderStylePreset()
. - Removed
Removes
AnnotationCreationController#setBorderDashArray()
. Set in a border preset viaAnnotationCreationController#setBorderStylePreset(BorderStylePreset)
.
- Added
Adds
ContainedSignaturesSigner
that simplifies usage of contained digital signatures. (#21309) - Added
Adds support for extracting and attaching binary Instant JSON attachments. (#15851)
- Added
Adds
Annotation#hasBinaryInstantJsonAttachment()
to check whether the annotation has an attachment. - Added
Adds
Annotation#fetchBinaryInstantJsonAttachment()
to get an existing attachment. - Added
Adds
Annotation#attachBinaryInstantJsonAttachment()
to create a new attachment.
- Added
Adds support for redaction annotations to Instant JSON. (#21389)
- Added
Adds support for rendering Emojis in FreeText annotation and forms. (#20629)
- Added
Adds support for reordering annotations based on the z-index. (#21235)
- Added
Adds
AnnotationProvider#moveAnnotation[Async](int pageIndex, int fromZIndex, int toZIndex)
. - Added
Adds
AnnotationProvider#moveAnnotation[Async](@NonNull Annotation annotation, int zIndex)
. - Added
Adds
AnnotationProvider#moveAnnotation[Async](@NonNull Annotation annotation, @NonNull AnnotationZIndexMove zIndexMove)``, where
AnnotationZIndexMovecan be one of the following actions:
MOVE_TO_FRONT,
MOVE_FORWARD,
MOVE_BACKWARD,
MOVE_TO_BACK`. - Added
Adds
AnnotationProvider#getZIndex(@NonNull Annotation annotation)
. - Added
Adds
OnAnnotationUpdatedListener#onAnnotationZOrderChanged(int pageIndex, @NonNull List<Annotation> oldOrder, @NonNull List<Annotation> newOrder)
that you can use to catch the annotation z-index changes.
- Changed
Improves JPEG2000 with transparency support. (#20483)
- Changed
Improves consumer Proguard configuration for use with R8. (#20745)
- Changed
Improves font rendering and fixes several edge cases. (#20930)
- Changed
Improves handling and documentation of custom digital signature sizes. Now cases where the signature size exceeds the reserved size in a document will be informed correctly. (#21304)
- Changed
Improves memory usage on complex documents. (#20970)
- Changed
Improves the stability of some PDF form operations. (#21032)
- Changed
Improves the validation of Instant JSON payloads so that case differences in properties are tolerated. (#21145)
- Changed
Improves handling of broken AcroForm dictionaries. (#21121)
- Changed
Changes
AnnotationProvider#getAllAnnotationsOfType()
to be a blocking call instead of async. (#20525) - Changed
Strengthens the validation of Instant JSON format in some corner cases. (#20748)
- Fixed
Fixes an issue where text after signing had incorrect characters after looking at it in another viewer. (#20930)
- Fixed
Fixes a bug in redaction rendering where the font size wasn’t consistent. (#21088)
- Fixed
Fixes a bug where measuring annotation selection layout could lead to a crash. (#20961)
- Fixed
Fixes a problem where some dates may be incorrectly formatted as Sunday. (#20363)
- Fixed
Fixes an issue when importing XFDF files in specific documents. (#21271)
- Fixed
Fixes an issue where a document with too many annotations would cause a crash by exceeding the global JNI reference count. (#20977)
- Fixed
Fixes an issue where images with the lighten blend mode didn’t get rendered correctly. (#20642)
- Fixed
Fixes an issue where loading a document would fail if it contained JPEG2000 images not specifying a color space. (#21311)
- Fixed
Fixes pasted rotated vector stamps being double rotated which resulted in clipping. (#20916)
- Fixed
Fixes some stability issues when fonts are loaded from a document. (#21042)
- Fixed
Fixes some use cases where PDFs with JavaScript validation scripts may not work as expected. (#21291)
- Fixed
Fixes page indices being incorrect after the first data provider when exporting Instant JSON from a document with multiple data providers. (#20343)
- Fixed
Fixes a possible
NullPointerException
that could occur when changing pages while having free-text annotation selected. (#21459)
Instant
- Removed
Instant library has been merged with PSPDFKit for Android. (#20364)
- Removed
Removes
com.pspdfkit:pspdfkit-instant
artefact from the PSPDFKit’s maven repo andpspdfkit-instant.aar
from the distribution package. - Removed
Removes
PSPDFKitInstant
andPSPDFKitInstantInitializationProvider
. Instant is now initialized together withPSPDFKit
. - Changed
InstantClient
now checks for OkHttp dependency and throws an error if it is missing. If you wish to use Instant addimplementation "com.squareup.okhttp3:okhttp:3.11.0"
to dependencies block of your build file.
- Fixed
Fixes an issue where
InstantAnnotationProvider
has been obfuscated in release builds. (#20997) - Fixed
Fixes an issue with transparent strokeColor in Instant JSON. (#21391)
Examples
- Added
Adds
DownloadedFilesObserverService
to catalog app to speed-up opening custom files when running on Android emulator. If you wish to open a file, just drop it on the Android emulator with the catalog running. (#20846) - Fixed
Fixes an issue where direct launching of Catalog examples could lead to initialization errors. (#21188)
5.5.1 - 8 Aug 2019
UI
- Fixed
Fixes an issue where clicking on signed signature form fields would not display the signature info dialog if the form field was marked as read only. (#20766)
- Fixed
Fixes an issue where document saving callbacks were not called after
PdfFragment
was destroyed. (#20774) - Fixed
Fixes an issue where redactions were not correctly displayed in the annotation list. (#20738)
- Fixed
Fixes an issue where thumbnails in thumbnail bar were too wide if the first page was wider than the others. (#20740)
Model
- Removed
Deprecates
OnSigningCompleteCallback
andsignFormField()
method that used it inSigner
. (#20815) - Added
Adds support for contained digital signatures. (#20493)
- Added
Adds
prepareFormFieldForSigningAsync()
toSigner
. Use this method to reserve space in a signature form field so that it can be signed later. - Added
Adds
embedSignatureInFormFieldAsync()
toSigner
. Use this method to embed a digital signature in a document that has been already prepared for signing. - Added
Adds
SignatureContents
interface.SignerOptions
now hassignatureContents
property that represents raw content that should be embedded as a digital signature in the document. - Added
Adds
PKCS7
that implements PKCS7 cryptographic container andPKCS7SignatureContents
that wraps the PKCS7 container as a signature contents. - Added
Adds
getHashForDocumentRange()
toPdfDocument
to hash part of the document indicated by the byte range of the prepared signature. - Added
Adds
ContainedSignaturesExample
that shows how to build customSigner
for signing a document using thePKCS7
cryptographic container.
- Added
Adds new
DocumentSaveOptions#setRewriteAndOptimizeFileSize()
method to enable additional file size optimizations when saving documents. (#20831) - Changed
Improves performance when parsing documents with many links. (#20786)
- Fixed
Fixes an issue that may prevent that a document with some restrictions is digitally signed. (#20741)
- Fixed
Fixes an issue where PSPDFKit always changed the PDF version to 1.7. (#20596)
- Fixed
Fixes an issue where rotating pages using the document editor would always reset the page binding setting to left edge. (#20732)
5.5.0 - 26 Jul 2019
See the announcement post.
PSPDFKit is now built with Android Gradle Plugin 3.4.2
and Gradle 5.5.1
.
UI
- Added
Adds
enableMagnifier()
toPdfConfiguration.Builder
to control whether the magnifier should be shown when the text selection handles are touched. (#20246) - Added
Adds form elements to the annotation outline view. (#19989)
- Changed
The “Clear All” button will now also clear data entered into form elements.
- Added
Adds new
pspdf__form_type_text_field
,pspdf__form_type_button
,pspdf__form_type_choice_field
, andpspdf__form_type_signature_field
string resources.
- Added
Adds support for navigating between pages by tapping the edges of the page. (#16500)
- Added
Adds
Pdf[Activity]Configuration.Builder#scrollOnEdgeTapEnabled()
to control whether navigating by tapping the page edges is enabled. - Added
Adds
Pdf[Activity]Configuration.Builder#animateScrollOnEdgeTaps()
to control whether these navigation events are animated. - Added
Adds
Pdf[Activity]Configuration.Builder#scrollOnEdgeTapMargin()
to control how big the area that accepts touches on the page edge is.
- Added
Adds support for the UI to display documents with a right edge binding from right to left. (#20327)
- Added
Adds page binding setting to document info view.
- Added
Adds support for the
PdfActivity
to automatically update when the page binding of the current document changes.
- Added
Adds the floating thumbnail bar - a new thumbnail bar layout that is not pinned to the bottom but displayed as a floating card. (#19999)
- Added
Adds
ThumbnailBarMode#THUMBNAIL_BAR_MODE_FLOATING
used to select floating thumbnail bar viaPdfActivityConfiguration.Builder#setThumbnailBarMode()
. - Added
Adds
ThumbnailBarMode#THUMBNAIL_BAR_MODE_PINNED
used to select pinned (old) thumbnail bar viaPdfActivityConfiguration.Builder#setThumbnailBarMode()
. - Removed
Deprecates
ThumbnailBarMode#THUMBNAIL_BAR_MODE_DEFAULT
. TheThumbnailBarMode#THUMBNAIL_BAR_MODE_FLOATING
is now used as a default value. - Added
Adds
PdfThumbnailBar#setThumbnailBarMode()
to set the mode dynamically on theThumbnailBar
. - Added
Adds
PdfStaticThumbnailBar.LayoutStyle
enum that defines two possible layout styles for the static thumbnail bar (FLOATING
andPINNED
). Also addssetLayoutStyle()
andgetLayoutStyle()
respectively. - Changed
Static and pinned thumbnail bars won’t interfere anymore with the new Android Q gestural navigation as there’s room left on the bottom when gestural navigation is enabled.
- Changed
Improves
PdfActivity
andPdfFragment
startup performance by initializing all views lazily on their first use. (#20001) - Changed
Improves animations speed of fling gesture. (#20674)
- Changed
Improves configuration resolving for annotation tool variants inside
AnnotationConfigurationRegistry
. (#20623)- Changed
Pen variant now defaults to default ink variant configuration.
- Changed
Improves text selection magnification by keeping the magnifier view entirely inside the screen. (#20221)
- Removed
Removes transparent fill color from annotation inspector for redaction annotations. (#20321)
- Changed
Updates localized strings and adds Welsh language localization. (#20713)
- Changed
PdfOutlineView
now loads its content lazily when displayed for the first time. (#20234) - Fixed
Fixes an issue where bottom audio view got stuck after switching tabs. (#20340)
- Fixed
Fixes an issue where annotation list showed duplicate entries and did not hide loading indicator after annotation loading has finished. (#20698)
- Fixed
Fixes an issue where page previews were not correctly invalidated when applying redactions to the current document. (#20322)
- Fixed
Fixes an issue where sound annotation recording button had wrong grouping on small devices. (#20354)
- Fixed
Fixes an issue where thumbnail bar was not being shown on some phones in landscape mode, when Android Q gestural navigation was enabled. (#20700)
- Fixed
Fixes an issue where undo/redo did not work correctly in some cases for sound annotations and image stamps. (#20439)
- Fixed
Fixes an issue where undoing changes made to annotation replies was not working correctly. (#20327)
- Fixed
Fixes multiple activity leaks inside
PdfFragment
. (#20517) - Fixed
Fixes stuttering animation when showing inspector for listbox and combobox form fields. (#20338)
Model
- Removed
Deprecates
AnnotationProvider#getAllAnnotationsOfType()
in favor ofAnnotationProvider#getAllAnnotationsOfTypeAsync()
. (#20525)- Changed
AnnotationProvider#getAllAnnotationsOfType()
will be made into a blocking call in PSPDFKit for Android 6.0.
- Added
Adds
PdfDocument#setPageBinding()
to configure the page binding of the document. (#20327)- Added
Adds
PageBinding
enum with all possible page bindings.
- Added
Adds support for exporting and importing callout freetext annotations using JSON. (#18202)
- Added
Adds support for preserving the Instant JSON id in the PDF. (#20572)
- Added
Adds support for rotating image stamps. (#19643)
- Added
Adds support for serializing and deserializing border properties of link annotations. (#20359)
- Added
Adds suppot for vertical alignment in single-line form fields when exporting or printing PDF files. (#19882)
- Changed
Improves rendering of non ASCII text. (#20189)
- Changed
Improves rendering of text in appearance streams. (#19877)
- Changed
Improves consumer Proguard configuration for use with R8. (#20745)
- Changed
PSPDFKit now preserves the appearance stream when a stamp annotation is rotated to avoid distorting it. (#15898)
- Fixed
Fixes a problem where overriding the digital signature reserved size may corrupt the signature appearance. (#20496)
- Fixed
Fixes an assertion when importing annotations outside the page range using XFDF. (#20424)
- Fixed
Fixes an issue reading media boxes. (#20592)
- Fixed
Fixes an issue where
DocumentListener
set onPdfFragment
orPdfActivity
was not called when callingPdfDocument#save()
on the document directly. (#20470) - Fixed
Fixes an issue where form fields with calculation order may not be flattened correctly by the processor. (#20434)
- Fixed
Fixes an issue where some documents with dropdown fields may show an arrow when the document is flattened. (#9539)
- Fixed
Fixes very occasional text rendering problems. (#20155)
- Changed
Updates NDK to version 20.0.5594570. (#20429)
- Changed
Updates Expat to version 2.2.7. (#20545)
- Changed
Updates libpng to version 1.6.37. (#19851)
- Changed
Updates openjpeg to version 2.3.1. (#20647)
Instant
- Fixed
Fixes a crash that would occur after applying an InstantJSON update to a document where the changes contained form field updates. (#20152)
- Fixed
Fixes an issue where annotations could not be removed after syncing updates from Instant. (#20684)
5.4.2 - 26 Jun 2019
UI
- Added
Adds new
pspdf__usePageAspectRatio
attribute to thumbnail bar style. (#20245)- Changed
When enabled this will use the
pspdf__thumbnailHeight
and aspect ratio of your document to determine thepspdf__thumbnailWidth
.
- Fixed
Fixes an issue inside
PdfThumbnailGrid
where deleting all pages and adding a new one may cause a crash. (#20333) - Fixed
Fixes an issue where calling
PdfFragment#enterAnnotationCreationMode()
multiple times may cause visualization issues of the contextual toolbars. (#20172) - Fixed
Fixes an issue where document insets were calculated wrong when form editing bar was displayed. (#20149)
- Fixed
Fixes an issue where it was possible to edit form element while its associated
WidgetAnnotation
was not editable (i.e. having flagsREADONLY
,LOCKED
orLOCKEDCONTENTS
). (#20238) - Fixed
Fixes an issue where it wasn’t possible to undo sound annotations deletion. (#20308)
- Fixed
Fixes an issue where annotation inspector could grow taller than the screen size rendering it unusable. (#20309)
- Fixed
Fixes an issue where some
PropertyInspectorView
s were restored twice reporting wrong values in the UI. (#20305)- Added
Adds
PropertyInspectorView#isViewStateRestorationEnabled()
to determine whether to save the state by calling theView#saveHierarchyState
andView#restoreHierarchyState
to restore it. Defaults tofalse
.
- Fixed
Fixes an issue where switching pages would cause the selected annotation tool variant to be lost. (#20371)
- Fixed
Fixes an issue where text form fields were not scrolled into view when displaying soft keyboard in immersive mode. (#20251)
- Fixed
Fixes an issue where the redaction UI would reappear after clearing all redactions. (#20323)
- Fixed
Fixes an issue where the tab bar was cut off in immersive mode. (#20341)
- Fixed
Fixes an issue where the text selection popup performance degraded while using it. (#20326)
- Fixed
Fixes an issue where using the “Clear All” option in the annotation list would not update the page thumbnails. (#20330)
- Fixed
Fixes an issue where exporting pages from Document Editor may cause a crash when the page index is not the first. (#20331)
Model
- Changed
Improves loading performance for documents with complex outlines. (#20279)
- Changed
Improves the deletion behavior for note annotations with associated popup annotations. The latter used to become “orphaned”. (#19853)
- Added
Improves the document loading performance by parsing outline asynchronously. (#20171)
- Changed
Improves
PdfDocument#getOutline()
that now parses outline on first use. This operation could take a while and should not be executed on the main thread. - Added
Adds
PdfDocument#getOutlineAsync()
for parsing outline asynchronously. - Added
Adds
PdfDocument#hasOutline()
that is resolved while loading document. Use this method to check whether outline is present in the document without parsing the whole outline.
- Changed
Improves the performance when loading documents with many link annotations and form fields. (#20171)
- Changed
Improves automatic repair of AcroForms when loading documents with a large number of annotations. (#19990)
- Fixed
Fixes an issue where
AnnotationConfiguration#builder()
had no implementation for sound annotation configuration. (#20292) - Fixed
Fixes an issue where exiting annotation editing mode via toolbar, would call
OnAnnotationEditingModeChangeListener#onExitAnnotationEditingMode()
twice. (#20172) - Fixed
Fixes an issue where proguard consumer file was missing some rules that might cause a crash on release builds. (#20286)
- Fixed
Fixes an issue where some documents signed with invisible signatures could not be validated correctly. (#20277)
Instant
- Fixed
Fixes an issue where “Save as” share action did not work with Instant documents. (#20140)
- Fixed
Fixes an issue where annotations could not be removed in Instant documents. (#20337)
Examples
- Fixed
Fixes an infinite recursion when requesting external storage permission in Document Tabs Example in Catalog app. (#20339)
- Fixed
Fixes an issue in Annotation Creation example of Catalog app where the annotation creator was always overridden even if already set. (#20253)
5.4.1 - 29 May 2019
UI
- Added
Adds error handling for XFDF parsing in
XfdfExample
. (#20049) - Changed
Updates the default color palettes provided when creating and editing annotations. (#19843)
- Changed
XfdfExample
now shows how to export all annotations in the document. (#20050) - Fixed
Fixes an issue in
CustomAnnotationInspectorExample
where custom annotation color picker indicated incorrect selected color. (#20069) - Fixed
Fixes an issue where background color and border color were not displayed correctly for free text annotations while in night mode. (#20037)
- Fixed
Fixes an issue where in some cases
FreeTextAnnotation
preferences were not saved correctly. (#20032) - Fixed
Fixes an issue where slider picker text values were not applied after leaving inspector. (#20043)
- Fixed
Fixes an issue where text form fields could cause a
NullPointerException
. (#20084) - Fixed
Fixes an issue where some simple signatures were distorted before adding them to the document. (#20090)
- Fixed
Fixes an issue with the contextual toolbars where clicking on the close button multiple times might cause a potential crash. (#20048)
Model
- Added
Adds support to use LeakCanary 2 with PSPDFKit. (#20020)
- Fixed
Fixes an issue that lead to the
Custom Stamp Annotations
example crashing when started. (#20044) - Fixed
Fixes an issue where JavaScript API
doc.getField()
could get into a state where it wasn’t possible to retrieve newly created form fields. (#20027) - Fixed
Fixes an issue where closing the
Image Document
example might lead to crashes. (#20041) - Fixed
Fixes an issue where displaying the
PopupToolbar
close to the edge of the screen lead to animation artifacts when opening and closing the overflow menu. (#20033) - Fixed
Fixes an issue where the
AesDataProvider
provided with the Catalog sample app was not compatible with multithreaded rendering. (#19994)
Instant
- Fixed
Fixes
NoClassDefFoundError
that occurred while creatingInstantClient
. (#20031)
5.4.0 - 23 May 2019
See the announcement post.
PSPDFKit is now built with Android Gradle Plugin 3.4.1
and Gradle 5.4.1
. This release adds a new transitive dependency to androidx.palette:palette:1.0.0
.
UI
- API
Existing API for controlling annotation editing defaults and preferences has been replaced. (#19252)
- Changed
All interfaces and classes in package
com.pspdfkit.annotations.defaults
have been deprecated in favor of new annotation configuration API incom.pspdfkit.annotations.configuration
. - Added
Adds
AnnotationConfigurationRegistry
which manages a list ofAnnotationConfiguration
s for each annotation type or tool. Can be retrieved viaPdfFragment#getAnnotationConfiguration()
. - Added
Adds
<AnnotationType>Configuration
for each annotation type (or multiple similar types in case ofMarkupAnnotationConfiguration
andShapeAnnotationConfiguration
) that extends annotation configuration interfaces supported by that annotation type. - Added
Adds static interface method
builder()
to all of these annotation type configuration interfaces that return builders for each configuration type. This makes configuration less verbose compared to manual implementations of annotation configurations. - Added
Adds
AnnotationConfigurationExample
showing how to use this new API. - Changed
Note: If you wish to access static configuration builder methods (
<AnnotationType>Configuration#builder()
) from your Kotlin code, your Kotlin compiler must target Java 8.
- Added
Adds a new UI for picking colors allowing users to specify custom colors. (#7333)
- Added
Adds
androidx.palette:palette:1.0.0
as a new dependency. - Added
Adds
customColorPickerEnabled()
configuration toAnnotationColorConfiguration
,AnnotationFillColorConfiguration
, andAnnotationOutlineColorConfiguration
. - Added
Adds
setCustomColorPickerEnabled()
toAnnotationColorConfiguration.Builder
,AnnotationFillColorConfiguration.Builder
, andAnnotationOutlineColorConfiguration.Builder
. - Added
Adds
getRecentlyUsedColors()
andsetRecentlyUsedColors()
toPSPDFKitPreferences
. - Added
Adds
CustomColorPickerInspectorDetailView
which provides a UI for the user to select predefined colors as well as entering their own. - Removed
Removes
ColorPickerInspectorDetailView.ColorPickerListener
useColorPickerInspectorView.ColorPickerListener
instead.
- Added
Adds a new improved UI for displaying bookmarks to make it easier to associate a given bookmark with a page. (#19109)
- Added
Adds
onBookmarkAdded()´ method to
BookmarkProvider.BookmarkListener`.
- Added
Adds magnifier widget when selecting text to make text selection more precise by unobscuring the area covered by the finger. Uses system magnifier on API 28+ and a custom magnifier implementation on older versions of Android. (#19273)
- Added
Adds options to clear all annotations and delete single annotations to annotations outline view. (#19568)
- Added
Adds
PdfOutlineView#setAnnotationEditingEnabled()
to control whether this new feature is enabled. - Added
Adds style attributes
pspdf__annotationsBarBackgroundColor
,pspdf__annotationsBarIconColor
,pspdf__annotationsDeleteIcon
,pspdf__annotationsDeleteIconColor
,pspdf__annotationsEditIcon
, andpspdf__annotationsDoneIcon
to control how the new bottom bar in the annotation outline view is displayed.
- Added
Adds options to create underline and strike out annotations to text selection popup on larger devices. (#19963)
- Added
Adds cloudy border effects for square, circle and polygon annotations. (#9684)
- Added
Adds
setBorderEffect()
andsetBorderEffectIntensity()
toAnnotation
. Use these to set cloudy effect as well as its intensity programmatically. - Added
Adds overrides to
BorderStylePreset
constructors that accept border effect and its intensity as parameters. Default preset and available presets in annotation inspector can be configured viaAnnotationBorderStyleConfiguration
. - Removed
Deprecates border style and border dash array properties from
AnnotationPreferences
andAnnotationCreationController
. Use border style preset properties defined on both of these interfaces instead.
- Added
Adds support for sound annotations. (#11587)
- Added
Adds
SoundAnnotation
model class. - Added
Adds full UI support for playing and recording audio annotations, presented as an
AudioView
displayed above thumbnail bar. - Added
Adds
AudioModeManager
, available viaPdfFragment#getAudioModeManager()
, for controlling sound annotation playback and recording. - Added
Adds
SoundAnnotationConfiguration
that provides control over audio recording parameters. - Added
Adds
AudioExtractor
for extracting audio tracks from media files.
- Added
Adds annotation tool variants. (#10227)
- Added
Adds
AnnotationToolVariant
class which you can use to define the annotation tool variants. - Added
Adds
PdfFragment#enterAnnotationCreationMode()
overload that has aAnnotationToolVariant
as parameter. This can be used to start annotation creation mode with the specified annotation tool and annotation tool variant. - Added
Adds a circular style indicator icon that displays the color and thickness defaults of the tool if to be selected.
- Added
Adds
AnnotationCreationToolbar.ItemToAnnotationToolMapper
class that you can register onAnnotationCreationToolbar
viasetItemToAnnotationToolMapper()
. - Added
Adds
CustomAnnotationCreationToolbarExample
to the Catalog showcasing how to implement custom tool variants to the annotation creation toolbar properly. - Added
Adds
PdfFragment#getActiveAnnotationTool()
andPdfFragment#getActiveAnnotationToolVariant()
that will return currently active annotation tool and variant. - API
Ink item has been replaced with pen and highlighter variations, thus
R.id.pspdf__annotation_creation_toolbar_item_ink
has been removed from the framework, andpspdf__annotation_creation_toolbar_item_ink_pen
andpspdf__annotation_creation_toolbar_item_ink_highlighter
have been added. - API
Style attributes are updated to match new styles. Also, the one that controls ink icon has been removed (
pspdf__inkIcon
).
- Changed
Improves document scrolling performance. (#19600)
- Changed
Improves text hit detection making selecting small text easier. (#12254)
- Fixed
Fixes an issue where TTS was not properly cancelled upon leaving the
PdfActivity
. (#19873) - Fixed
Fixes an issue where UI chrome covered document when using
UserInterfaceViewMode#USER_INTERFACE_VIEW_MODE_VISIBLE
. (#19939) - Fixed
Fixes an issue where media annotations with autoplay flag started playing whenever any annotation on their page changed. (#19978)
- Fixed
Fixes an issue where text markup annotations could be dragged after selected via long-press gesture. (#19919)
- Fixed
Fixes an issue where the
PdfTextSelectionPopupToolbar
was flickering while changing text selection. (#19962) - Fixed
Fixes an issue where exiting the annotation editing mode would discard changes from calling
setContents()
on an editedFreeTextAnnotation
while in editing mode. (#19231)
Model
- Changed
Updates the Android Gradle Plugin to
3.4.1
. (#19789)- Changed
Updates to Gradle 5.4.1.
- Changed
Updates all example sources to Android Gradle Plugin
3.4.1
. - Changed
Replaced Proguard with R8 for code optimization and minification.
- Added
Adds
PdfConfiguration#allowMultipleBookmarksPerPage()
to allow you to configure whether users can add multiple bookmarks for a single page or not. (#19447) - Added
Adds
SignatureAppearance#Builder#setSignatureWatermark()
to allow you set a custom watermark for a signature appearance. (#19438) - Added
Adds support for the
Doc.documentFileName
JavaScript API. (#18775) - Changed
Improves exception message that is thrown when creating form fields with non-unique fully qualified names. (#20010)
- Changed
Improves performance of pages which hold lots of objects. (#19396)
- Changed
Improves performance when executing JavaScript actions on form fields with complex interdependent validation logic. (#19661)
- Changed
Improves results from
PdfLibrary
when the exact phrase matches are requested, and a tokenizer other than the default porter tokenizer is used. (#19685) - Changed
Improves the performance of some JavaScript calculation scripts. (#19234)
- Changed
Embedded goto actions will go to the specified page instead of going to the first page of the embedded target document. (#10963)
- Changed
Improved automatic repair of AcroForms to support more document errors. (#19834)
- Changed
Update libjpeg-turbo to 2.0.2. (#18973)
- Changed
Updates the Botan library version to 2.10.0. (#19767)
- Fixed
Fixes a potential crash when processing large documents under low-memory conditions. (#19768)
- Fixed
Fixes an issue creating form fields where some fields could not be retrieved later by their original keys. (#19945)
- Fixed
Fixes an issue in the redaction of documents with monochrome inline images. (#19579)
- Fixed
Fixes an issue when sharing a document that resulted in blank pages. (#19267)
- Fixed
Fixes an issue where “No document set” was displayed in certain circumstances when resuming destroyed
PdfActivity
without a redaction license. (#19777) - Fixed
Fixes an issue where QuadPoints of link annotations were saved to the PDF incorrectly. (#19427)
- Fixed
Fixes an issue where
DocumentListener#onPageUpdated()
was not called in certain circumstances. (#19781) - Fixed
Fixes an issue where annotations created by Apple Preview may not be copied and pasted correctly. (#19154)
- Fixed
Fixes an issue where configuration changes while signing a document could lead to a crash. (#19281)
- Fixed
Fixes an issue where image annotations were not added when the permission dialog was shown before. (#19589)
- Fixed
Fixes an issue where in rare circumstances pasting content from Microsoft Word would throw an unhandled exception. (#19842)
- Fixed
Fixes an issue where link annotations may not work correctly after a document is exported. (#19222)
- Fixed
Fixes an issue where malformed widget annotations weren’t correctly attached to the form. (#19581)
- Fixed
Fixes an issue where read-only checkboxes may not be rendered correctly. (#19506)
- Fixed
Fixes an issue where some JPX images may not render correctly. (#18648)
- Fixed
Fixes an issue where text edited in form fields was incorrectly set in other form fields as well. (#19236)
- Fixed
Fixes an issue where the
fillColor
property was ignored in Instant JSON for polyline annotations. (#19443) - Fixed
Fixes an issue where the redaction text may not be correctly added in some scenarios. (#19703)
- Fixed
Fixes an issue with text markup alignment on accented characters. (#18214)
Instant
- Fixed
Fixes an issue where multiple authentication requests for the same layer could be running concurrently. Under certain circumstances, this could cause multiple concurrent sync requests for the same layer, too. (#18698)
Examples
- Added
Adds new
MergeDocumentsExample
showing how to use the document processor to merge documents. (#19300) - Fixed
Fixes a broken link in the Instant Catalog example. (#19822)
5.3.1 - 11 Apr 2019
UI
- Added
Adds
showPageTemplatesLast
setting toNewPageDialog#show
,NewPageDialog#restore
, andDialogNewPageFactory()
which, if set totrue
, diplays custom page templates after page patterns provided by default. (#19433) - Added
Adds style attribute
pspdf__itemRippleBackgroundColor
to thepspdf__ThumbnailGrid
styleable, to change the ripple color for theThumbnailGrid
item selection. (#19111) - Changed
Improves performance when editing line, polyline and polygon annotations. (#19483)
- Changed
Size of created ink signatures is now relative to page size. (#19497)
- Fixed
Fixes an issue where
DocumentListener#onPageUpdated
was not being called after creating ink signatures. (#19512) - Fixed
Fixes an issue where
OnAnnotationUpdatedListener#onAnnotationUpdated
was called repeatedly when modifying line, polyline and polygon annotations. (#19384) - Fixed
Fixes an issue where changes made to callout lines could not be properly undone. (#19091)
- Fixed
Fixes an issue where ink annotations would not be visible if leaving the page before exiting the annotation creation mode. (#19509)
- Fixed
Fixes an issue where malformed URIs were not properly managed and were leading to a crash when opening image documents. (#19432)
- Fixed
Fixes an issue where minimal size of free-text annotations with thick border and/or large text size was too small. (#19294, #19297)
- Fixed
Fixes an issue where stamps and free text annotations added to rotated pages were not working properly. (#19327)
Model
- Added
Adds
NewPage#hasPdfPageSource
andNewPage#hasPatternSource
to help determine the source of the new page created usingNewPageDialog
. (#19510) - Changed
Improves the performance of documents with JavaScript interactivity in many common scenarios. (#19119)
- Changed
Optimizes storage size of magic ink template file. (#19453)
- Changed
Reverts AndroidX Recycler View to a stable version
1.0.0
. (#19455) - Fixed
Fixes a problem where a form field that is made visible by a JavaScript script may not show its formatted appearance. (#19119)
- Fixed
Fixes a rare issue when parsing outlines. (#19469)
- Fixed
Fixes an issue where border width and border dash array of free-text annotations were not serialized properly to Instant JSON. (#19409)
- Fixed
Fixes an issue where entering text after a PDF document script has executed may not work correctly. (#19119)
- Fixed
Fixes an issue where free-text annotation with border was always rendered with non-transparent color. (#19097)
- Fixed
Fixes an issue where stamps with custom ap streams were added with the wrong rotation on rotated PDF pages. (#19351)
5.3.0 - 26 Mar 2019
See the announcement post.
UI
- Removed
Deprecates
PdfFragment#setAnnotationDefaultsProvider()
. Use methods defined onAnnotationDefaultsManager
that can be retrieved viaPdfFragment#getAnnotationDefaults()
. (#19124) - Added
Adds a new Magic Ink tool that recognizes drawn shapes and converts them to shape annotations. (#18925)
- Added
Adds support for configuring the preview shown by video annotations using
coverMode
andcoverImage
options. (#18206) - Added
Ink drawing is now automatically split into ink annotations based on strokes timing and distance between drawn points. (#13019)
- Added
Adds new defaults provider
AnnotationAggregationStrategyDefaultsProvider
that can be implemented for ink annotations to control ink splitting strategy.
- Changed
Improves
PdfActivity
startup time by optimizingPdfOutlineView
creation and configuration. (#19121) - Changed
Improves annotation hit detection by using the actual shape of annotations instead of their bounding boxes to check if they have been selected. (#8782)
- Changed
Improves zooming behavior of stamp annotations with
NOZOOM
flag by moving their zoom anchor point to the annotation center. (#18983) - Fixed
Fixes an issue where adding a new signature to the signature form field followed by the device rotation, would not invoke
OnAnnotationUpdatedListener#onAnnotationCreated()
callback. (#18948) - Fixed
Fixes an issue where note editor for stamp annotations had transparent color. (#19094)
- Fixed
Fixes an issue where stamp annotations with
NOZOOM
flag were rendered incorrectly at high zoom levels. (#19166) - Fixed
Fixes the top and bottom paddings for the settings view picker mode view. (#19257)
Model
- API
Adds methods for converting
Signature
intoJSONObject
and vice-versa: (#18794)- Added
Adds static creator
Signature#fromJson()
(with or without a specified id) that parses the providedJSONObject
and creates a respectiveSignature
. - Added
Adds
Signature#toJson()
method that converts the givenSignature
to theJSONObject
.
- Added
Adds
FontStyle
to Instant JSON widget annotations. (#18083) - Added
Adds
OnSignaturePickedListener#onSignatureCreated()
to allow you to get notified when a new signature was created. (#19001) - Added
Adds a
customData
property toAnnotation
. This property can be used to store user-specified data related to Annotations. (#18927) - Added
Adds async method
executeDocumentLevelScriptsAsync()
toJavaScriptProvider
. (#18892) - Added
Adds support for modifying form fields and annotation widgets to Instant Document JSON. (#18771)
- Changed
Improves startup performance of PSPDFKit. (#19138)
- Changed
Improves the performance of documents with JavaScript interactivity in many common scenarios. (#19119)
- Changed
Loading PDF actions is now more reliable. (#18843)
- Changed
Update ICU to version 63.1. (#18974)
- Changed
Update libpng to 1.6.36. (#18972)
- Changed
Update zlib to 1.2.11. (#18975)
- Changed
Updates AndroidX Recycler View to 1.1.0-alpha02. (#19100)
- Changed
Updates build system dependencies. (#18912)
- Changed
Updates Gradle to 5.2.1.
- Changed
Updates the Android Gradle Plugin to 3.3.1.
- Fixed
Fixes an issue where form fields that were made visible using JavaScript would not show their formatted appearance. (#19119)
- Fixed
Fixes an issue exporting Instant shape annotations with transparent stroke colors. (#19120)
- Fixed
Fixes an issue when drawing a path using a pattern with alpha transparency. (#19148)
- Fixed
Fixes an issue when rendering text with an overlay blend mode. (#19151)
- Fixed
Fixes an issue when setting transparent colors in annotations. (#19120)
- Fixed
Fixes an issue where adding pages with forms using the
PdfProcessor
resulted in no AcroForms dictionary being added to the resulting document. (#18517) - Fixed
Fixes an issue where asynchronous layout callbacks were sometimes executed after
onStop
causing a crash. (#19206) - Fixed
Fixes an issue where documents could get opened with outdated changes after saving. (#18845)
- Fixed
Fixes an issue where entering text after a PDF document script has executed didn’t work correctly. (#19119)
- Fixed
Fixes an issue where some layers were hidden incorrectly. (#14439)
- Fixed
Fixes an issue where some memory may be leaked after running a script. (#19016)
- Fixed
Fixes an issue where using
PdfDocument#save(path)
would result in corrupt digital signatures in the output document. (#18689) - Fixed
Fixes an issue with instant ink annotation not being sent to clients. (#19325)
- Fixed
Fixes rendering of free text annotations with vertical alignment. (#19145)
Examples
- Added
Improves Catalog app example list. (#19193)
- Changed
Catalog app now uses
RecyclerView
instead ofListView
. - Added
Adds sticky headers for section titles.
- Changed
Displays a toast with the class name when an example is long pressed.
- Changed
Improves Catalog app startup performance and adds splash screen. (#19162)
5.2.1 - 28 Feb 2019
UI
- Fixed
Fixes AutoCAD SHX Text comments being displayed. (#15690)
- Fixed
Fixes a potential usage of a recycled bitmap in
PdfThumbnailBar
. (#18885) - Fixed
Fixes an issue where
ImageDocumentExample
in the Catalog was stuck on loading screen when opened multiple times. (#18844) - Fixed
Fixes an issue where
FormsJavaScriptExample
in the Catalog app launched multiple instances ofFormsJavaScriptActivity
at the same time. (#18883) - Fixed
Fixes an issue where contextual toolbars were not updating their internal state when receiving calls to
ContextualToolbar#setDraggable(boolean)
. (#18800) - Fixed
Fixes an issue where deleting annotation notes would trigger unhandled exceptions when using licenses without Replies feature. (#18955)
- Fixed
Fixes an issue where filling text form fields wasn’t possible while JavaScript was disabled. (#19008)
- Fixed
Fixes an issue where redactions created using the redaction tool did not remove text from the page. (#18841)
- Fixed
Fixes an issue where rotating the device while adding an image stamp prevented the stamp from being added. (#18802)
- Fixed
Fixes an issue where the current selection of pages in the document editor was not restored after orientation changes. (#16730)
- Fixed
Fixes an issue where items in contextual toolbars did not have a selection feedback after the toolbar had been repositioned. (#19065)
- Fixed
Fixes an issue where the item representing ‘More items’ in the contextual toolbar was not styled with the correct colors by
R.attr#pspdf__contextualToolbarStyle
. (#18661) - Fixed
Fixes an issue with
SignaturePickerOrientation.AUTOMATIC
andSignaturePickerOrientation.LOCKED_LANDSCAPE
whereSignaturePickerDialog
was shown rotated even when the device was already in landscape mode. (#18801) - Fixed
Fixes an issue with highlight annotations where the opacity was not updated correctly when modified and the highlighted text was aggregated into another annotation. (#18895)
- Fixed
Fixes volume rocker navigation not working properly in double page mode. (#18827)
Model
- Fixed
Fixes an issue where a form field with custom formatting was not formatted correctly after it was exported and re-imported as XFDF. (#18791)
- Fixed
Fixes an issue where hiding form field via JavaScript did not work. (#18882)
- Fixed
Fixes an issue where removing default menu items from the
PdfActivity
inonGenerateMenuItemIds
oronCreateOptionsMenu
caused the application to crash. (#18837) - Fixed
Fixes an issue where the image of a push button may be displaced in some cases. (#18932)
Instant
- Fixed
Fixes an issue where changing annotation properties inside note editor could change unrelated annotations. (#18954)
5.2.0 - 06 Feb 2019
UI
- API
Improves handling custom menu items in the main menu toolbar of
PdfActivity
. (#6056)- API
Removes
PdfActivityMenuManager
class. - API
Removes
PdfActivity#getActivityMenuManager()
method. - Added
Adds
onGenerateMenuItemIds()
method to thePdfActivity
that you can override to provide a custom menu item order. - Changed
Updates the
CustomActionsActivity
example in the catalog with a new way to handle custom menu items. - Changed
onPrepareOptionsMenu()
no longer clears menu items added inonCreateOptionsMenu()
. You should useonCreateOptionsMenu()
to create your custom menu items and useonPrepareOptionsMenu()
only to modify state of these items when the menu gets shown.
- Added
Adds support for defining custom signature storages. (#18144)
- Added
Adds
SignatureStorage
interface which you can implement to create your own signature storage. - Added
Adds
DatabaseSignatureStorage
which is our default signature storage implementation that uses SQLite. - Added
Adds
PdfFragment#[set/get]SignatureStorage
for setting and retrieving the default signature storage. It is the signature storage that will be used when the signature picker is displayed.
- Added
Adds
PdfFragment#setDocumentInteractionEnabled()
andPdfActivity#setDocumentInteractionEnabled()
to control whether the document view will accept inputs or not. (#18135) - Added
Adds
PdfFragment#setUserInterfaceEnabled()
andPdfActivity#setUserInterfaceEnabled()
to control whether the UI will accept inputs or not. (#16791) - Added
Adds
PdfLibrary.get(path, tokenizer)
to specify the tokenizer to use for full text search. (#18054)- Added
Adds
PORTER_TOKENIZER
andUNICODE_TOKENIZER
constants to specify the tokenizer.
- Added
Adds
isFormElementClickable()
toOnFormElementClickedListener
that can be used to prevent clicks on form elements. (#16305)- Changed
Extends
CustomInkSignatureExample
with an example of how to disable click handling for signature fields.
- Added
Adds support for customizing tab bar titles when showing multiple documents by using
DocumentDescriptor#setTitle(String)
. Includes example in Catalog appTabbed Documents
showing how to customize a tab bar title. (#18593) - Changed
Improves automatic font size calculation for text widgets. (#18095)
- Changed
Improves copy and paste by making sure pasted annotations have a unique name. (#18525)
- Changed
Improves tab bar items by fully displaying the title and adopting ellipsis only when text length goes over
480dp
. (#18677) - Changed
Annotation replies are now created with
HIDDEN
flag set. This fixes an issue where they were incorrectly rendered in thumbnails. (#17349) - Changed
Sets minimum size for resizable catalog activities. See
<layout>
tag of theMainActivity
declaration inAndroidManifest.xml
of the catalog app. (#18406) - Fixed
Fixes an issue where annotation note icon did not move together with annotations. (#16976)
- Fixed
Fixes an issue where delete button in annotation replies editor did not delete annotation replies for non-note annotations. (#16977)
- Fixed
Fixes an issue where it wasn’t possible to input comma as decimal separator into form fields. (#17605)
- Fixed
Fixes an issue where redo was prevented when undoing text while editing free-text annotation. (#18478)
- Fixed
Fixes an issue where scaling down and the scaling up ink annotations causes the line width to get thicker. (#18645)
- Fixed
Fixes an issue where scrollable thumbnail bar was not changing page when a thumbnail was tapped. (#18511)
- Fixed
Fixes an issue where squiggly, underline and strikeout annotations could get displayed with opaque white background in annotation overlay. (#18737)
- Fixed
Fixes an issue where stamps could not be rotated correctly. (#18488)
- Fixed
Fixes an issue where text form fields with automatic text size did not fit to field width while editing. (#18594)
- Fixed
Fixes an issue where text selection highlight color had low contrast on inverted pages. (#18742)
- Fixed
Fixes an issue where view focus inside the reply editor was not handled properly on OnePlus devices running Oxygen OS. (#18480)
Model
- API
Adds control over PSPDFKit’s logging. (#16502)
- Added
Adds
PdfLog
as an entry point for the new logging API. - Changed
You can now achieve custom logging behavior by implementing
PdfLog.Logger
interface and registering this logger usingaddLogger()
orsetLoggers()
methods inPdfLog
. - Removed
Deprecates
PSPDFKit#setLoggingEnabled()
. UsePdfLog#removeAllLoggers()
or customLogger
that ignores all messages. - Changed
PSPDFKit now logs all messages with priority higher than info (info, warn, error and assert) to LogCat by default. You can prevent this changed behavior by disabling logging or by stripping all calls to
PdfLog
logging methods with proguard.
- Added
Adds support for multithreaded rendering. Multithreaded rendering takes full advantage of multiple CPUs available on the device. This improves page rendering performance in most cases. (#18209, #18274)
- Added
Adds
setMultithreadedRenderingEnabled()
toPdfConfiguration.Builder
andPdfActivityConfiguration.Builder
to control whether multithreaded rendering should be enabled for loaded documents. - Added
Adds
multithreadedRenderingEnabled
parameters to open methods inPdfDocumentLoader
to control whether multithreaded rendering should be enabled for loaded document.
- Added
Adds
SignatureAppearance
to configure how digital signatures look. (#18438)- Added
Adds
SignatureGraphic
to embed a custom graphic into the digital signature. - Added
Adds overloads to
Signer#signFormField[Async]()
that take aSignatureAppearance
. - Added
Adds
Pdf[Activity]Configuration#signatureAppearance()
to configure the appearance for every signature added.
- Added
Adds
SignatureMetadata
for attaching additional metadata to digital signatures. (#18733)- Added
Adds
PdfFragment#setSignatureMetadata()
for setting the metadata to use when signing via the provided UI. - Added
Adds
SignatureSignerDialog.Builder#signatureMetadata()
for setting the metadata to use when signing. - Added
Adds
SignerOptions
for use withSigner#signFormField[Async]()
. - Removed
Deprecates overloads of
Signer#signFormField[Async]()
that don’t takeSignerOptions
, use the new overloads usingSignerOptions
instead.
- Added
Adds
Annotation#getCopy()
method to allow creating copies of annotations programatically. (#18193) - Added
Adds support for cloudy borders in shape annotations and free text annotations via Instant JSON. (#18547)
- Added
Adds support for the
doc.removeField
JavaScript API. (#18621) - Changed
Improves initial text parsing performance. (#18534)
- Changed
Improves performance when looking up fonts. (#17981)
- Fixed
Fix an issue in full-text search that could cause a deadlock during indexing. (#18750)
- Changed
Update SQLite to 3.26.0. (#18462)
- Changed
Updates Kotlin to 1.3.20. (#18668)
- Changed
Updates the Botan library to version 2.9.0. (#18271)
- Changed
Starts using app name in JavaScript alerts. (#18529)
- Fixed
Fixes a bug where annotations parsed from XFDF would be displayed incorrectly on a rotated page. (#17603)
- Fixed
Fixes a potential
NullPointerException
caused by invoking a method on an internal copy/paste handler. (#18446) - Fixed
Fixes a problem importing/exporting color values. This could lead to unnecessary appearance stream regeneration. (#18428)
- Fixed
Fixes an issue where calling
DocumentJSONFormatter#importDocumentJson(PdfDocument, DataProvider)
and its asynchronous companion would seemingly succeed when the JSON to be applied was (partially) invalid. (#18630) - Fixed
Fixes an issue where fragment transaction would be committed after the parent component saves its state, causing an app to be in an illegal state. (#18420)
- Fixed
Fixes an issue where listeners set on
SignaturePickerFragment
were replaced by the framework under certain circumstances. (#18625) - Fixed
Fixes an issue where sharing documents with digital signatures causes the signatures to get corrupted. (#18250)
- Fixed
Fixes an issue with Image Documents when images have an orientation. (#17791)
- Fixed
Fixes an issue with Image Documents when saving back to an already rotated image. (#18483)
- Fixed
Fixes text markup annotations being created incorrectly on rotated pages with text that appears the right way up. (#18219, Z#11941)
5.1.2 - 17 Jan 2019
UI
- Changed
Hides annotation inspector button in the annotation creation toolbar when creating note annotations. (#18269)
- Fixed
Fixes an issue where annotation creation mode is exited when changing pages. (#18252)
- Fixed
Fixes an issue where note annotation editor buttons were not working properly after activity was stopped. (#18247)
- Fixed
Fixes an issue where note annotation editor background color did not reflect annotation color. (#18246)
- Fixed
Fixes an issue where the text selection toolbar overlaps the selected text when immersive mode is enabled. (#18258)
- Fixed
Fixes an issue where
PdfActivity
wasn’t correctly restoring its state during activity recreation. (#18425)
Model
- Fixed
Fixes an issue that could lead to errors when loading image documents from files with corrupted XMP data. (#18110)
- Fixed
Fixes an issue where redaction of a monochrome image could unexpectedly change its color. (#18176)
- Fixed
Fixes an issue where searching and navigating specific documents could lead to high memory use. (#18118)
Instant
- Fixed
Fixes an exception that could be thrown when loading Instant documents in multi-window mode. (#18484)
Examples
- Fixed
Fixes a crash inside the “Custom Inline Search” Catalog example. (#18486)
5.1.1 - 20 Dec 2018
UI
- Changed
Disables the rotation handle for stamp annotations with custom appearance stream generators since rotation is not supported yet. (#18013)
- Fixed
Fixes an issue where
PdfFragment#scrollTo()
would also zoom out the page instead of just scrolling to the specified location. (#17816) - Fixed
Fixes an issue where the digital certificate selection was erroneously shown when adding ink signatures outside of a form field. (#18014)
- Fixed
Fixes an issue where the signing dialog is not rotated to landscape when ´SignatureSavingStrategy.NEVER_SAVE` is set. (#18020)
- Fixed
Fixes asymmetric vertical padding on the settings mode picker which resulted in UI glitches when hiding specific settings. (#13497)
- Fixed
Fixes a possible
NullPointerException
that could occur when switching out of signature creation mode. (#18153) - Fixed
Fixes an issue where copying a
PdfActivityConfiguration
using itsBuilder
’s copy constructor would alter fields in the resulting copy. (#18158)
Model
- API
BookmarkProvider#[add/remove]Bookmark[Async]()
now throws an exception if there was an error while modifying the bookmark list. (#17710)- Changed
Changes
BookmarkProvider#addBookmark()
to return a boolean indicating if the bookmark was added.
- Added
Adds
PdfFragment#getImageDocument()
for retrieving a loadedImageDocument
instance. (#18131) - Fixed
Fixes an issue where redacting certain kinds of vector graphics may incorrectly redact part of the background. (#18071)
- Fixed
Fixes an issue where the JavaScript method Doc.print may not work correctly. (#18111)
- Fixed
Fixes an issue which could cause broken path renderings in specific edge-case scenarios. (#18145)
- Fixed
Fixes some visualization issues with markup annotations, specially on rotated pages. (#12927, #16794, #17889, #18002, #18024)
Instant
- Fixed
Fixes an issue where Proguard would fail when applied on an app integrating Instant. (#18100)
5.1.0 - 13 Dec 2018
See the announcement post.
UI
- Added
Adds free-form redaction support to the existing redaction tool for redacting images and annotations from a page. (#17413)
- Added
Adds
PdfThumbnailGrid.OnDocumentSavedListener
that gets notified whenever the document gets saved inside the document editor. (#17401)- Added
Adds
setOnDocumentSavedListener()
toPdfThumbnailGrid
for setting the listener.
- Added
Adds unified configuration for all supported sharing features. (#16544)
- Added
Adds
setEnabledShareFeatures()
toPdfActivityConfiguration.Builder
andPdfConfiguration.Builder
. - Removed
Deprecates
isShareEnabled()
inPdfActivityConfiguration
. UsePdfConfiguration#getEnabledShareFeatures()
instead. - Removed
Deprecates
enableShare()
anddisableShare()
inPdfActivityConfiguration.Builder
. UsePdfActivityConfiguration.Builder#setEnabledShareFeatures()
instead. - Removed
Deprecates
isTextSharingEnabled()
,isEmbeddedFilesSharingEnabled
andisSharingNoteEditorContentEnabled()
inPdfConfiguration
. UsePdfConfiguration#getEnabledShareFeatures()
instead. - Removed
Deprecates
textSharingEnabled()
,embeddedFileSharingEnabled()
andsharingNoteEditorContentEnabled
inPdfConfiguration.Builder
. UsePdfConfiguration.Builder#setEnabledShareFeatures()
instead.
- Added
Adds getter to return redaction button width. (#17697)
- Fixed
Fixes an issue where redaction button was overlapping forward history button.
- Changed
Improves redaction button alignment in portrait and landscape.
- Changed
Implements
OnRedactionButtonVisibilityChangedListener
for receiving calls when redaction collapses or expands.
- Added
Adds message that is shown when using the document editor with redactions in the document. (#17559)
- API
Improves signing dialog by adding options that control the visibility of ‘Store signature’ checkbox and a signer chip (used to select the signer when digitally signing the document). (#15544)
- Added
Adds
SignatureSavingStrategy
enum that declares the strategy when saving the signature. The ‘Store Signature’ checkbox is shown only ifSignatureSavingStrategy.SAVE_IF_SELECTED
is set. - Added
Adds
SignatureCertificateSelectionMode
enum that controls how adding the certificate is presenter in the UI. It can show the certificate selection dropdown always, never or only when certificates are available. - Changed
SignatureSavingStrategy
is set viasignatureSavingStrategy()
inPdfConfiguration.Builder
andPdfActivityConfiguration.Builder
. - Changed
SignatureCertificateSelectionMode
is set viasignatureCertificateSelectionMode()
inPdfConfiguration.Builder
andPdfActivityConfiguration.Builder
. - Removed
Deprecates
setSignatureSavingEnabled()
inPdfConfiguration.Builder
andPdfActivityConfiguration.Builder
. - Removed
Deprecates
setCustomerSignatureFeatureEnabled()
inPdfConfiguration.Builder
andPdfActivityConfiguration.Builder
.
- API
Updates the
SignaturePickerFragment
API to reflect new changes implemented in #15544, which adds new parameters to the signature UI, as whether to show ‘Store signature’ button or not, etc. (#18079)- Added
Adds
SignatureOptions
that define stuff like signature saving strategy, signature picker orientation etc. UseSignatureOptions.Builder
to build it. - Added
Adds additional
SignaturePickerFragment#show()
method that takes in theSignatureOptions
object, through which you can configure the signing UI. - Added
Adds
SignaturePickerFragment#dismiss()
method which you can use to hide theSignaturePickerFragment
. - Removed
Deprecates
SignaturePickerFragment#showSignaturePicker()
. The picker fragment should not be added manually with the tag anymore. You should just useSignaturePickerFragment#show()
to show the picker andSignaturePickerFragment#restore()
to restore it. The framework would take care of the actual fragment retrieval. - Removed
Deprecates
SignaturePickerFragment#setSignaturePickerOrientation()
, useSignatureOptions
for that.
- Added
Improves
PdfActivity
by allowing it to be started without loading a document. (#16601)- Added
Adds
PdfActivityIntentBuilder.emptyActivity()
to start aPdfActivity
with no document loaded. - API
PdfActivity#getFragment()
andPSPDFKitViews#getFragment()
are now@Nullable
since noPdfFragment
is created when starting the activity without an document.
- Changed
Improves
PdfFragment
by allowing editing existing annotations without setting an author name first. (#17972) - Changed
Improves document opening performance by making loading of
PdfDrawables
asynchronous. (#17648) - Removed
Removes color name from the color and icon picker in the note editor. (#17701)
- Fixed
Fixes a potential
NullPointerException
inPdfScrollableThumbnailBar
. (#17828) - Fixed
Fixes a potential
NullPointerException
on pages with video content. (#17861) - Fixed
Fixes a potential
UnsatisfiedLinkError
that could be thrown when accessingStampType
class. (#17702) - Fixed
Fixes a potential crash that could occur when undoing rotated annotations. (#17862)
- Fixed
Fixes an issue where
PdfProcessorTask
with large number of operations could cause aStackOverflowError
. (#17847) - Fixed
Fixes an issue where annotation defaults for
AnnotationTool.NOTE
were not applied to the new note editor UI. (#17669) - Fixed
Fixes an issue where current state of the viewed document (page, zoom level etc.) has been lost after reloading the document when saving document editor changes. (#17368)
- Fixed
Fixes an issue where deselecting annotations by clicking on non-editable annotations was not working properly. (#18034)
- Fixed
Fixes an issue where dynamically added videos with autoplay enabled were not playing after opening the page. (#17875)
- Fixed
Fixes an issue where exif metadata was sometimes not correctly loaded when adding image stamps, causing them to be rotated the wrong way around. (#11750)
- Fixed
Fixes an issue where rotations could not be perfomed on stamp annotations after saving. (#17768)
- Fixed
Fixes an issue where the toolbar shown when longpressing the page could randomly flicker. (#18010)
Model
- Added
Adds support for text search compare options. (#13736, #13729)
- Added
Adds
compareOptions()
method toSearchOptions.Builder
for configuring compare options. - Added
Adds
CompareOptions
enum with all supported compare options.- Changed
CASE_INSENSITIVE
enables case insensitive search. - Changed
DIACRITICS_INSENSITIVE
enables diacritics insensitive search. - Changed
SMART_SEARCH
enables smart search that ignores white-spaces, hyphens and resolves typographic quotes or apostrophes. - Changed
REGULAR_EXPRESSION
enables regular expression search.
- API
Changes
XfdfFormatter#writeXfdf[Async]()
to throw an exception when annotations that are not attached to the document are passed in. (#17786) - API
Deprecates constructors of
TextSearch
andSearchOptions.Builder
acceptingContext
. Use overloaded constructors without this parameter. (#17646) - Added
Adds
OutputStreamAdapter
which allows you to use anyWritableDataProvider
in place of anOutputStream
. (#16532)- Added
Adds
DirectWritingStrategy
for use withOutputStreamAdapter
. - Added
Adds
TempFileWritingStrategy
for use withOutputStreamAdapter
.
- Added
Adds compatibility of PSPDFKit and Instant Javadoc .jar files with Android Studio 3.2.1 and newer. (#17850)
- Added
Adds support for page bookmarks in compound documents. (#11008)
- Added
Adds support for stamp and free text annotation rotation in Instant JSON. (#18019)
- Changed
Improves compatibility with forms on malformed PDFs. (#17707)
- Changed
Improves handling of malformed documents when parsing the extended graphics state. (#18057)
- Changed
Improves the
PdfActivityConfiguration
returned byImageDocumentLoader#getDefaultImageDocumentActivityConfiguration()
by disabling annotations tools that do not work for image documents. (#17775) - Changed
Replaces support libraries with AndroidX. (#17830)
- Changed
The redaction feature now deletes annotations and form fields that intersect with a redact annotation. (#17390)
- Changed
Updates Kotlin to
1.3.0
. (#17784) - Changed
Updates RxJava to 2.2.4. (#17902)
- Fixed
Fixes
PdfActivity#isImageDocument()
returningfalse
for image documents in certain cases when switching tabs. (#17524) - Fixed
Fixes a crash parsing text on a very small number of documents. (#18032)
- Fixed
Fixes a potential exception that could occur when resolving system fonts on some devices. (#17647)
- Fixed
Fixes a problem where some text in a PDF document may be redacted incorrectly. (#17699)
- Fixed
Fixes an issue applying redactions on encrypted documents. (#17722)
- Fixed
Fixes an issue opening certain documents with invalid IRT fields. (#17797)
- Fixed
Fixes an issue that may happen after copying a page using the document editor. (#17825)
- Fixed
Fixes an issue when opening a rotated Image Document. (#17791)
- Fixed
Fixes an issue where XMP metadata was corrupted when saving password protected documents. This enables saving bookmarks into password protected documents. (#17238)
- Fixed
Fixes an issue where
PdfLibrary
would return incorrect results when searching within documents that contained Unicode surrogate pairs (like Emoji) in their text. (#3292) - Fixed
Fixes an issue where changing the button caption property of a button from JavaScript code may not change the button appearance. (#17719)
- Fixed
Fixes an issue where it wasn’t possible to reset annotation rotation to 0 which as causing issues when undoing stamp rotations. (#17867)
- Fixed
Fixes an issue where squiggly annotations may not be created correctly on rotated pages. (#17950)
- Fixed
Fixes an issue where text could not be selected in certain documents. (#17759)
- Fixed
Fixes an issue where the Javascript VM init sequence prevented errors from bubbling up to the user. (#17745)
- Fixed
Fixes an issue where the overlay text of a redaction may not be in the correct place in some cases. (#17695)
- Fixed
Fixes an issue where the signature overlay may show incorrect text in non-Western languages. (#17918)
- Fixed
Fixes an issue where underline annotations may not work correctly on rotated pages. (#14252)
- Fixed
Fixes an occasional issue wh