# Limits

Where the extension stops, and why each limit is where it is.

**Links are not kept.** The text in the PDF is real text, but a hyperlink in the page is not a link
in the file.

**A video is always a still.** [Settings](https://docs.pagescanner.app/extension/settings) decide whether that is the frame it
paused on or an empty area.

**Text drawn into a canvas is a picture.** Some maps, charts and document viewers paint their text
into a `<canvas>`, where it is not text to the browser either.

**A wide page on A4 or Letter is scaled down**, so a 1920 px layout has small body text on paper.
The export sheet shows the resulting size in points before you commit, and a single long page does
not scale at all.

**Chrome's debugging bar shows during every scan.** It is Chrome's notice, not the extension's, and
it cannot be hidden.

**Only `http`, `https` and `file` pages** can be scanned. Chrome keeps every extension out of the
rest.

**DevTools open on the tab forces the raster fallback**, whose PDF holds an image rather than text.
Only one debugger can attach to a tab at a time.

**An app that scrolls inside a box**, as Gmail does with its message list, is captured in full by
the vector capture. The raster fallback scrolls the window only, so it gets one screenful of such a
page.

**A page past 60,000 CSS pixels on a side** is captured up to that point, and the editor and the
export sheet say how much is missing. The limit exists because an endlessly scrolling page has no
bottom.

**A full-screen hero can occasionally come out taller than it looks.** Before laying the page out,
the extension pins anything sized to the screen at its on-screen height. It cannot override a height
the page sets inline with `!important`, or read a stylesheet served from another domain.

**Captures are temporary.** One is deleted the next time the extension starts if it is more than 12
hours old. That happens at startup rather than on a timer, so a browser left open keeps it longer.
Export what you want to keep.
