Version 9.1.0.78544 Changelog (September 14th, 2021)
Version: 9.1.0.78544
Release Date: September 14th, 2021
Breaking Changes
[tools] PdfViewCtrlTabInfo class: property has been moved
From:
PdfViewCtrlTabInfo.TabPreviewFolderName
To:
DocumentManager.TabPreviewFolderName
[tools] ViewerControl class: cleanup method changed
From:
ViewerControl.CleanUp()
To:
ViewerControl.Dispose()
New Features
Outline redesign and editing capability
Outline has been redesigned to display items in a treeview style and it also has editing capabilities


Improvements
[pdf] Added Digital Signature Verification/Validation and LTV (Long Term Validation with time stamping) support
[pdf] Expand Text Diffence tools to support exclusion zones (TextDiff.Options.AddIgnoreZonesForPage())
[pdf] Expanded Reflow API with more control over how images are included/excluded
[tools] Improved positining of TextBox annotation on insertion considering different font sizes
[tools] Added supported to copy the internal text of annotations like Sticky note and TextBox
[tools] Added better cleanup logic to remove unused preview images and documents from the Local and Temporary app's folder
[tools] Escape key will now save ongoing Free Text annotation creation - previous behavior would just delete it
[tools] [control] Context Menu: Added ability to cut annotation so it can be paste in a different page or document
[tools] [control] ViewerControl: Improved cleanup/dispose, removal of unused events, on deactivation
[tools] [control] ViewerControl: Improved performance when opening Side Panel / Outline by only loading annotations when requested
[tools] [control] ViewerControl: Added error message when trying to load a not supported format using ActivateWithFileAsync
[tools] [control] ViewerControl: Improved icons size and look on command bar
[tools] [control] ViewerControl: Page Up and Page Down can now control pages
[tools] [control] FindText: added mechanism to the ViewModel to avoid events to be re-registered
[tools] [control] Custom Color Dialog: improved UX by adding nice round corners to the dialog
Bug Fixes
[tools] Added better internal exception handlers to ensure no unhandled exceptions happen
[tools] [control] ViewerControl: fixed context menu getting stuck after a keyboard shortcut Shift + F10 is issued
[tools] [control] ViewerControl: fixed missing notification (to Undo/Redo and Save doc) after a Link annotation is added to the document
[tools] [control] ViewerControl: fixed issue where the Side Panel resize buttons (Narrow, Medium and Wide) would not trigger an event to resize the side panel when using the ViewerControl on different pages which need to support navigation. The solution is to call
ViewerControl.Dispose()onOnNavigatingFromto ensure all resources are cleared during page navigation[tools] [control] Side Panel/Outline: fixed background color when side panel is in narrow mode
New APIs - PDF SDK
New Methods
static SDF.Obj OptionsHelpers.GetArray(SDF.Obj, string)static void InsertREctCollection(SDF.Obj, string, RectCollection, int)SignaturesVerificationStatus PDFDoc.VerifySignedDigitalSignatures(VerificationOptions)void PDFDoc.SaveCustomSignature(byte[], pdftron.PDF.DigitalSignatureField, String)void PDFDoc.SaveCustomSignature(byte[]], pdftron.PDF.DigitalSignatureField, Filters.IFilter)void PDFDoc.AppendTextDiff(PDFDoc, PDFDoc, TextDiffOptions)Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer> pdftron.FDF.FDFDoc.SaveAsXFDFToBufferAsync(XFDFExportOptions)Windows.Foundation.IAsyncAction pdftron.FDF.FDFDoc.SaveAsXFDFAsync(string, XFDFExportOptions)Windows.Foundation.IAsyncAction pdftron.FDF.FDFDoc.SaveAsXFDFAsync(Filters.IFilter, XFDFExportOptions)string pdftron.FDF.FDFDoc.SaveAsXFDFString(XFDFExportOptions)pdftron.PDF.VerificationResult DigitalSignatureField.Verify(pdftron.PDF.VerificationOptions)bool DigitalSignatureField.IsCertification()pdftron.Crypto.X509Certificate DigitalSignatureField.GetSignerCertFromCMS()bool DigitalSignatureField.EnableLTVOfflineVerification(pdftron.PDF.VerificationResult)void DigitalSignatureField.TimestampOnNextSave(pdftron.PDF.TimestampingConfiguration, pdftron.PDF.VerificationOptions)pdftron.PDF.TimestampingResult DigitalSignatureField.GenerateContentsWithEmbeddedTimestamp(pdftron.PDF.TimestampingConfiguration, pdftron.PDF.VerificationOptions)byte[] DigitalSignatureField.CalculateDigest(Crypto.DigestAlgorithm)byte[] DigitalSignatureField.CalculateDigest()void DigitalSignatureField.SetPreferredDigestAlgorithm(Crypto.DigestAlgorithm, bool)void DigitalSignatureField.SetPreferredDigestAlgorithm(Crypto.DigestAlgorithm)void DigitalSignatureField.CreateSigDictForCustomCertification(string , DigitalSignatureFieldSubFilterType, uint)void DigitalSignatureField.CreateSigDictForCustomSigning(string, DigitalSignatureFieldSubFilterType, uint)void DigitalSignatureField.SetSigDictTimeOfSigning(Date)static byte[] DigitalSignatureField.SignDigest(byte[], string, string, bool, Crypto.DigestAlgorithm)static byte[] DigitalSignatureField.SignDigest(byte[], byte[], string, bool, Crypto.DigestAlgorithm)void Reflow.SetHTMLOutputTextMarkup(bool)void Reflow.SetMessageWhenNoReflowContent(string)void Reflow.SetMessageWhenReflowFailed(string)void Reflow.SetHideBackgroundImages(bool)void Reflow.SetHideImagesUnderText(bool)void Reflow.SetDoNotReflowTextOverImages(bool)
New Class - pdftron.PDF.RectCollection
New Constructors
RectCollection()
New Methods
void AddRect(Rect)void AddRect(double, double, double, double)Rect GetRectAt(int)int GetNumRects()void Clear()
New Class - pdftron.PDF.TextDiffOptions
New Constructors
TextDiffOptions()
New Methods
TextDiffOptions AddIgnoreZonesForPage(RectCollection, int)SDF.Obj GetInternalObj()SDF.Obj GetDict()
New Class - pdftron.PDF.VerificationOptions
New Constructors
VerificationOptions(VerificationOptionsSecurityLevel)
New Methods
void Destroy()void AddTrustedCertificate(uint8[], uint64[])AddTrustedCertificate(uint8[])AddTrustedCertificate(string, uint64)void AddTrustedCertificate(string)void addTrustedCertificates(uint8[])void LoadTrustList(FDFDoc)void EnableModificationVerification(bool)void EnableDigestVerification(bool)void EnableTrustVerification(bool)void EnableOnlineCRLRevocationChecking(bool)void EnableOnlineOCSPRevocationChecking(bool)void EnableOnlineRevocationChecking(bool)
New Class - pdftron.PDF.DisallowedChange
New Methods
void Destroy()int GetObjNum()int GetType()string GetTypeAsString()
New Class - pdftron.PDF.TrustVerificationResult
New Methods
void Destroy()bool WasSuccessful()string GetResultString()uint64 GetTimeOfTrustVerification()VerificationOptionsTimeMode GetTimeOfTrustVerificationEnum()bool HasEmbeddedTimestampVerificationResult()pdftron.PDF.EmbeddedTimestampVerificationResult GetEmbeddedTimestampVerificationResult()pdftron.Crypto.X509Certificate[] GetCertPath()
New Class - pdftron.PDF.EmbeddedTimestampVerificationResult
New Methods
void Destroy()boolean GetVerificationStatus()VerificationResultDigestStatus GetCMSDigestStatus()VerificationResultDigestStatus GetMessageImprintDigestStatus()VerificationResultDigestStatus GetTrustStatus()string GetCMSDigestStatusAsString()string GetMessageImprintDigestStatusAsString()string GetTrustStatusAsString()bool HasTrustVerificationResult()TrustVerificationResult GetTrustVerificationResult()Crypto.DigestAlgorithm GetCMSSignatureDigestAlgorithm()Crypto.DigestAlgorithm GetMessageImprintDigestAlgorithm()string[] GetUnsupportedFeatures()
New Class - pdftron.PDF.VerificationResult
New Methods
void Destroy()DigitalSignatureField GetDigitalSignatureField()bool GetVerificationStatus()VerificationResultDocumentStatus GetDocumentStatus()VerificationResultDigestStatus GetDigestStatus()VerificationResultTrustStatus GetTrustStatus()ModificationPermissionsStatus GetPermissionsStatus()bool HasTrustVerificationResult()TrustVerificationResult GetTrustVerificationResult()DisallowedChange[] GetDisallowedChanges()pdftron.Crypto.DigestAlgorithm GetDigestAlgorithm()string GetDocumentStatusAsString()string GetDigestStatusAsString()string GetTrustStatusAsString()string GetPermissionsStatusAsString()string[] GetUnsupportedFeatures()
New Class - pdftron.PDF.TimestampingResult
New Methods
void Destroy()bool GetStatus()string GetString()bool HasResponseVerificationResult()PDF.EmbeddedTimestampVerificationResult GetResponseVerificationResult()byte[] GetData()
New Class - pdftron.PDF.TimestampingConfiguration
New Constructors
TimestampingConfiguration(string)
New Methods
void Destroy()void SetTimestampAuthorityServerURL(string)void SetTimestampAuthorityServerUsername(string)void SetTimestampAuthorityServerPassword(string)void SetUseNonce(bool in_use_nonce)PDF.TimestampingResult TestConfiguration(PDF.VerificationOptions)
New Class - pdftron.FDF.XFDFExportOptions
New Constructors
XFDFExportOptions()
New Methods
bool GetWriteAnnotationAppearance()XFDFExportOptions SetWriteAnnotationAppearance(bool)bool GetWriteImagedata()XFDFExportOptions SetWriteImagedata(bool)virtual SDF.ObjSet GetInternalObj()virtual SDF.Obj GetDict()
New enum - pdftron.PDF.SignaturesVerificationStatus
e_unsignede_failuree_untrustede_unsupportede_verified
New enum - pdftron.PDF.VerificationOptionsSecurityLevel
e_compatibility_and_archivinge_maximum
New enum - pdftron.PDF.VerificationOptionsTimeMode
e_signinge_timestampe_current
New enum - pdftron.PDF.VerificationOptionsCertificateTrustFlag
e_signing_truste_certification_truste_dynamic_contente_javascripte_identitye_trust_anchore_default_truste_complete_trust
New enum - pdftron.PDF.VerificationResultDocumentStatus
e_no_errore_corrupt_filee_unsignede_bad_byterangese_corrupt_cryptographic_contents
New enum - pdftron.PDF.VerificationResultDigestStatus
e_digest_invalide_digest_verifiede_digest_verification_disablede_weak_digest_algorithm_but_digest_verifiablee_no_digest_statuse_unsupported_encodinge_unsupported_digest_algorithm
New enum - pdftron.PDF.VerificationResultTrustStatus
e_trust_verifiede_untrustede_trust_verification_disablede_no_trust_statuse_unsupported_trust_features
New enum - pdftron.PDF.ModificationPermissionsStatus
e_invalidated_by_disallowed_changese_has_allowed_changese_unmodifiede_permissions_verification_disablede_no_permissions_statuse_unsupported_permissions_features
New Namespace - pdftron.Crypto
New enum - pdftron.Crypto.DigestAlgorithm
e_sha1e_sha256e_sha384e_sha512e_ripemd160e_unknown_digest_algorithm
New enum - pdftron.Crypto.ObjectIdentifierPredefined
e_common_namee_surnamee_country_namee_locality_namee_state_or_province_namee_organization_namee_organizational_unit_name
New Class - pdftron.Crypto.ObjectIdentifier
New Constructors
ObjectIdentifier(pdftron.Crypto.ObjectIdentifierPredefined)ObjectIdentifier(int[])
New Methods
void Destroy()Int[] GetRawValue()
New Class - pdftron.Crypto.X501AttributeTypeAndValue
New Methods
void Destroy()pdftron.Crypto.ObjectIdentifier GetAttributeTypeOID()String GetStringValue()
New Class - pdftron.Crypto.X501DistinguishedName
New Methods
void Destroy()bool HasAttribute(pdftron.Crypto.ObjectIdentifier)String[] GetStringValuesForAttribute(pdftron.Crypto.ObjectIdentifier)pdftron.Crypto.X501AttributeTypeAndValue[] GetAllAttributesAndValues()
New Class - pdftron.Crypto.X509Extension
New Methods
void Destroy()bool IsCritical()pdftron.Crypto.ObjectIdentifier GetObjectIdentifier()int[] GetData()String ToString()
New Class - pdftron.Crypto.X509Certificate
New Methods
void Destroy()X501DistinguishedName GetIssuerField()pdftron.Crypto.X501DistinguishedName GetSubjectField()uint64 GetNotBeforeEpochTime()uint64 GetNotAfterEpochTime()int GetRawX509VersionNumber()string ToString()string GetFingerprint(pdftron.Crypto.DigestAlgorithm in_digest_algorithm)string GetFingerprint()int[] GetSerialNumber()pdftron.Crypto.X509Extension[] GetExtensions()int[] GetData()
New APIs - Tools Package SDK
New Methods
async Task DocumentManager.PerformFullCleanupAsync()async Task DocumentManager.StartAutoCleanAsync()async Task DocumentManager.StopAutoCleanAsync()void ViewerViewModel.Dispose()void ViewerControl.Dispose()void AnnotationListViewModel.LoadAnnotationList()
New Properties
bool Outline.IsEditEnabledbool OutlineDialogViewModel.IsOutlineEditingEnabledbool ViewerViewModel.IsOutlineEditingEnabledbool ViewerControl.IsOutlineEditingEnabledNew Delegates
delegate void OutlinePartial.DocumentModifiedEventHandler(PDFDoc)New Events
DocumentModifiedEventHandler OutlinePartial.DocumentModifiedstatic bool UtilityFunction.MoreThanOneFlag<TValue>(TValue)
New Class - pdftron.Tools.Controls.ViewModels.BookmarkNode
New Constructors
BookmarkNode(Bookmark)
New Properties
bool BookmarkNode.IsExpandedbool BookmarkNode.IsInvokedbool BookmarkNode.IsEditingbool BookmarkNode.IsIndeterminatebool BookmarkNode.CollapsedGlyphVisibilitybool BookmarkNode.ExpandedGlyphVisibilitybool BookmarkNode.IsViewModelEditingbool BookmarkNode.IsNewbool BookmarkNode.HasChildrenbool BookmarkNode.HasCheckedChildrenbool BookmarkNode.HasUnrealizedChildrenNullable<bool> BookmarkNode.ChildrenLoadedFromDocNullable<bool> BookmarkNode.IsCheckedBookmark BookmarkNode.SourceBookmarkstring BookmarkNode.TitleObservableCollection<BookmarkNode> ChildrenBookmarkNode BookmarkNode.Parent
New Enums
enum BookmarkNode.ItemRequestUpdates
New Methods
RelayCommand BookmarkNode.BookmarkNodeButtonClickedCommand
New Delegates
delegate void BookmarkNode.ItemRequestDelegate(BookmarkNode, ItemRequestUpdates)
New Events
event BookmarkNode.ItemRequestDelegate BookmarkNode.ItemRequest()
New Class - pdftron.Tools.Controls.ViewModels.OutlineViewModel
New Constructor
OutlineViewModel(PDFViewCtrl)
New Properties
bool OutlineViewModel.IsEditingbool OutlineViewModel.IsEditEnabledbool OutlineViewModel.CanReorderbool OutlineViewModel.HasBookmarkNodesint OutlineViewModel.CheckedAmountObservableCollection<BookmarkNode> DataSourceBookmarkNode OutlineViewModel.LastInvokedNode
New Methods
async Task OutlineViewModel.WaitForOutlineToLoadAsync()async IAsyncOperation<IList<Bookmark>> OutlineViewModel.GetBookmarkListAsync(Bookmark, PDFDoc)async IAsyncOperation<bool> OutlineViewModel.AdjustIsOpen(BookmarkNode)async Task OutlineViewModel.CreateTreeAsync()async Task OutlineViewModel.ExpandTreeViewNodeAsync(BookmarkNode)async void OutlineViewModel.AddOutlineCommandImpl(object)void OutlineViewModel.RemoveBookmarkNodes()void OutlineViewModel.FinishEditingText()void OutlineViewModel.CancelEditingText()RelayCommand OutlineViewModel.AddOutlineCommandRelayCommand OutlineViewModel.EnterEditingCommandRelayCommand OutlineViewModel.ExitEditingCommand
New Delegates
delegate void OutlineViewModel.DocumentModifiedEventHandler(PDFDoc)delegate void FocusOnSelectedItemEventHandler(BookmarkNode);
New Events
DocumentModifiedEventHandler OutlineViewModel.DocumentModifiedFocusOnSelectedItemEventHandler OutlineViewModel.FocusOnSelectedItemRequested
Last updated
Was this helpful?