Answer
Opening a local PDF in NoaLingua
Chrome blocks file access until you allow it — and gives extensions no way to ask
Because Chrome blocks extensions from reading local files until you allow it explicitly, and there is no API for an extension to request that permission — only to check it. The switch is "Allow access to file URLs" on the extension's own page in chrome://extensions.
Short answer Turn on "Allow access to file URLs" for NoaLingua in chrome://extensions. Chrome gives extensions no way to ask for it.
Step by step
Doing it with NoaLingua
- 1
Press the button on the PDF anyway
When the permission is missing you get a four-step guide rather than a greyed-out sentence. The earlier version was one grey line with no button, which reads as a refusal — people concluded the feature was broken.
- 2
Open the extensions page from that guide
The button lands on NoaLingua's own entry rather than on a page full of extensions. The address is also printed as plain text, in case your Chrome profile is managed and will not let a tab be opened that way.
- 3
Find "Allow access to file URLs"
The guide draws the switch so you recognise it before you arrive at a page of switches. Turn it on.
- 4
Come back — the document opens itself
The tab is watching. As soon as the switch flips and you return, the document opens on its own. You do not have to find your way back to a button and press it a second time.
Add to Chrome — Free Add to Chrome Opens the Chrome Web Store listing NoaLingua — beyond dual subs: video, web, PDF — free, no account, Chrome 138 or newer.
The detail behind the NoaLingua answer
Why a website PDF asks for permission too
A PDF that lives on a website is a different problem with a similar shape. The extension's pages run on their own origin, so fetching https://example.com/file.pdf is a cross-origin request, and almost no document server sends the header that would allow it. Chrome therefore asks for host permission.
That permission is requested when you press the button, never at install. Until then the extension holds exactly the access it was installed with, which is why the install prompt is as short as it is.
What you get once it opens
Two buttons appear at the bottom right of a PDF. "Make a bilingual book" opens the reader: the whole document in two columns with paragraphs aligned. "Open in NoaLingua" opens the viewer, which draws the page exactly as the document specifies and lays a transparent, precisely aligned text layer over it.
The viewer is the answer to "do not destroy my document's structure". Columns, tables and figures are untouched because the page is rendered rather than rebuilt as HTML — and every word in the overlay still has its own box, so it can be clicked, hovered, tinted and looked up.
More questions people ask NoaLingua
Why can the extension not just ask me?
Chrome exposes no API for requesting file-URL access. An extension can check whether it has it and nothing more. That is the reason the guide exists rather than a permission prompt.
The buttons do not appear on my PDF at all.
They are shown by content type and by a .pdf extension. For a file on your own machine, the file-URL switch above is also required before anything can appear.
A button says it failed. What does that mean?
The message names the layer that refused and stays on the button until you press it again, rather than vanishing after four seconds — a message that disappears is a message nobody watching a new window ever reads. Most often it means the page needs a reload after an extension update.
Where this is documented on NoaLingua
Related NoaLingua answers
Try it on the next thing you were going to watch anyway.
Free, with every feature. No account, nothing to cancel, and your deck stays on your machine.
Add to Chrome — Free Add to Chrome Opens the Chrome Web Store listing NoaLingua — beyond dual subs: video, web, PDF — free, no account, Chrome 138 or newer.- Free, and not a trial Every feature on the free plan — both PDF modes, shadowing, all 30 practice formats.
- No account, no email Nothing to sign up for and nothing to cancel. There is no login screen at all.
- Two dropdowns to set up Pick what you are learning and what you want translations in. That is the whole setup.
- Your words stay yours Export to Anki, CSV, a spreadsheet or a full JSON profile — free on every plan.