Steps to reproduce:
- Enable Windows Narrator (or another tool that uses an application's accessibility).
- Load the document into PdfViewer.
The issue occurs in a specific document which cannot be shared in a public report.
Expected results:
A document is loaded fast and errors don't occur when Windows Narrator is enabled
Current results:
A document is loaded slowly and causes the "Unable to load the PDF document" error when Windows Narrator is enabled
Additional information:
Call StackDevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.ParseGenericBlockElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 108 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.DevExpress.Pdf.Native.IPdfLogicalStructureVisitor.VisitElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 105 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfLogicalStructureItemExtension.Accept(DevExpress.Pdf.PdfLogicalStructureItem item, DevExpress.Pdf.Native.IPdfLogicalStructureVisitor visitor) Line 49 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.ParseGenericBlockElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 109 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.DevExpress.Pdf.Native.IPdfLogicalStructureVisitor.VisitElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 105 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfLogicalStructureItemExtension.Accept(DevExpress.Pdf.PdfLogicalStructureItem item, DevExpress.Pdf.Native.IPdfLogicalStructureVisitor visitor) Line 49 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.ParseGenericBlockElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 109 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.DevExpress.Pdf.Native.IPdfLogicalStructureVisitor.VisitElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 105 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfLogicalStructureItemExtension.Accept(DevExpress.Pdf.PdfLogicalStructureItem item, DevExpress.Pdf.Native.IPdfLogicalStructureVisitor visitor) Line 49 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.ParseGenericBlockElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 109 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.DevExpress.Pdf.Native.IPdfLogicalStructureVisitor.VisitElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 105 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfLogicalStructureItemExtension.Accept(DevExpress.Pdf.PdfLogicalStructureItem item, DevExpress.Pdf.Native.IPdfLogicalStructureVisitor visitor) Line 49 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.ParseGenericBlockElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 109 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.DevExpress.Pdf.Native.IPdfLogicalStructureVisitor.VisitElement(DevExpress.Pdf.PdfLogicalStructureElement element) Line 105 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfLogicalStructureItemExtension.Accept(DevExpress.Pdf.PdfLogicalStructureItem item, DevExpress.Pdf.Native.IPdfLogicalStructureVisitor visitor) Line 49 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.PerformParse() Line 93 C# DevExpress.Pdf.v24.2.Core.dll!DevExpress.Pdf.Native.PdfTaggedDataRecognizer.Parse(DevExpress.Pdf.Native.PdfMarkedContentDataCache cache) Line 77 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextModelTagged.ParseTextModel() Line 93 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextModelBase.RecreateInnerData() Line 104 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextModelBase.TextModelBase(DevExpress.XtraPdfViewer.PdfViewer pdfViewer, bool calcData) Line 85 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextModelTagged.TextModelTagged(DevExpress.XtraPdfViewer.PdfViewer pdfViewer, bool calcData) Line 85 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextModelBase.Create(DevExpress.XtraPdfViewer.PdfViewer viewer) Line 60 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.TextProvider.TextProvider(DevExpress.XtraPdfViewer.PdfViewer viewer) Line 49 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.PdfViewerControlAccessible.GetTextProvider() Line 128 C# DevExpress.XtraPdfViewer.v24.2.dll!DevExpress.XtraPdfViewer.Native.PdfViewerControlAccessible.GetPatternProvider(DevExpress.UIAutomation.AutomationPattern pattern) Line 123 C# DevExpress.Utils.v24.2.dll!DevExpress.Accessibility.BaseAccessible.DevExpress.UIAutomation.IAutomationElementProviderWrapper.GetPatternProvider(DevExpress.UIAutomation.AutomationPattern pattern) Line 663 C# DevExpress.Utils.v24.2.dll!DevExpress.UIAutomation.AutomationElementProvider.GetPatternProvider(DevExpress.UIAutomation.AutomationPattern pattern) Line 209 C# DevExpress.Utils.v24.2.dll!DevExpress.UIAutomation.AutomationElementProvider.DevExpress.UIAutomation.IRawElementProviderSimple.GetPatternProvider(int patternId) Line 206 C#
Workaround
As a temporary solution, use the WindowsFormsSettings.DisableAccessibility property to disable accessibility as follows:
C#WindowsFormsSettings.DisableAccessibility = DevExpress.Utils.DefaultBoolean.True;
Visual BasicWindowsFormsSettings.DisableAccessibility = DevExpress.Utils.DefaultBoolean.True