Skip to content

Add support for Foxit Reader and Foxit PhantomPDF (#8944)#8947

Merged
michaelDCurran merged 4 commits into
nvaccess:masterfrom
gauldoth:i8944-foxitSupport
Nov 18, 2018
Merged

Add support for Foxit Reader and Foxit PhantomPDF (#8944)#8947
michaelDCurran merged 4 commits into
nvaccess:masterfrom
gauldoth:i8944-foxitSupport

Conversation

@gauldoth

Copy link
Copy Markdown
Contributor

Link to issue number:

Closes #8944

Summary of the issue:

It is currently not possible to read PDF files in Foxit Reader.

Foxit Reader has implemented MSAA and PDF Dom interface in version 9.3.
The UIA implementation is not complete yet. Out of process queries are quite slow due to some unknown reasons. But their developers have implemented both MSAA and PDDom for the document, the UIA implementation may be removed in future releases.

Foxit PhantomPDF exposed the same interface as Foxit Reader did.

Description of how this pull request fixes the issue:

Use Adobe Acrobat code to make Foxit Reader accessible.
Ignore Foxit Reader's UIA implementation.

Testing performed:

Tested with Foxit Reader 9.3 and Foxit PhantomPDF 9.3 by me.
Tested with several PDF documents and PDF forms by me.
The guys from Foxit have tested against NVDA for a few weeks.

Known issues with pull request:

None

Change log entry:

Section: New features

@LeonarddeR LeonarddeR left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this great work!

Comment thread source/_UIAHandler.py
Comment thread user_docs/en/changes.t2t Outdated
@gauldoth

Copy link
Copy Markdown
Contributor Author

@LeonarddeR Thanks for the review.
I have addressed your review comments.

@LeonarddeR

Copy link
Copy Markdown
Collaborator

@gauldoth: Will this do or break anything when using version 9.2 or older?

@josephsl

Copy link
Copy Markdown
Contributor

Hi,

Congratulations on the first contribution.

Can we get a second look from @michaelDCurran or someone at NV Access please?

Footnote: this code is compatible with Python 3.

Thanks.

@gauldoth

gauldoth commented Nov 15, 2018

Copy link
Copy Markdown
Contributor Author

Will this do or break anything when using version 9.2 or older?

@LeonarddeR It won't. If the window class name "FoxitDocWnd" is detected, the MSAA and PDDom interface is available.

@michaelDCurran michaelDCurran merged commit c4cbefd into nvaccess:master Nov 18, 2018
@nvaccessAuto nvaccessAuto added this to the 2018.4 milestone Nov 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Foxit Reader PDF Viewer

5 participants