DEV Community

Weather Clock Dash
Weather Clock Dash

Posted on

Firefox PDF Guide: Viewer, Annotations, Print to PDF, and Print CSS

Firefox has a built-in PDF viewer and PDF generation capabilities that are worth knowing. Here's a complete guide to working with PDFs in Firefox.

Firefox's PDF Viewer

Firefox uses PDF.js, Mozilla's own JavaScript-based PDF renderer. It handles most PDFs well and has improved significantly in recent versions.

Navigation Shortcuts

When a PDF is open:

  • Ctrl+F — Find text within the PDF
  • Arrow keys — Scroll
  • Ctrl+Home/End — Jump to start/end
  • Ctrl++/- — Zoom in/out
  • Ctrl+0 — Fit to page

View Modes

The toolbar at the top of PDF.js provides:

  • Page navigation (page number, arrows)
  • Zoom dropdown (fit width, fit height, specific %)
  • Reading mode (reduces to minimal toolbar)
  • Download
  • Print

Text Selection and Copy

Click and drag to select text in the PDF. Ctrl+C to copy. This works for text PDFs (OCR or digitally created). Scanned image PDFs won't have selectable text.

PDF Annotations (Firefox 116+)

Firefox 116 added annotation support to PDF.js:

Available tools (in the toolbar):

  • Text highlight — Select text, apply highlight color (yellow, red, green, blue)
  • Free text — Click anywhere to add a text comment
  • Freehand draw — Draw freely
  • Sticky note — Add a note attached to a position

Annotations are saved in the PDF file when you download it using the toolbar download button. The downloaded PDF includes your annotations in a format compatible with other PDF viewers (Adobe Reader, etc.).

Annotation Workflow

  1. Open a PDF in Firefox
  2. Add highlights, notes, drawings
  3. Click the download icon in the PDF toolbar
  4. Save the file — annotations are embedded

Important: Clicking "Download" from the browser toolbar (the page-level download button) saves the original without annotations. Use the PDF.js toolbar download button inside the PDF viewer.

Saving Pages as PDF

The most reliable way to save any web page as PDF in Firefox:

Method 1: Print to PDF

  1. Ctrl+P (Print)
  2. "Print to PDF" → More Settings → adjust
  3. Set destination to "Save to PDF"

Options in print dialog:

  • Pages: All, or specific range
  • Layout: Portrait/Landscape
  • Headers and footers: Toggle, customize
  • Margins
  • Background graphics: Include or exclude (toggle for cleaner PDFs)
  • Scale

Method 2: Print to PDF from Reader Mode

  1. Open page in Reader Mode (F9)
  2. Ctrl+P → Save to PDF

This produces a much cleaner PDF — no navigation, ads, or sidebars.

Print CSS Optimization

For developers: customize how your pages print/PDF-export:

@media print {
  /* Hide non-content elements */
  header, nav, footer, .sidebar, .advertisement { 
    display: none !important; 
  }

  /* Page layout */
  @page {
    margin: 2cm;
  }

  /* Avoid breaking inside these elements */
  .code-block, blockquote {
    page-break-inside: avoid;
  }

  /* Force page break before major sections */
  h1 {
    page-break-before: always;
  }

  /* Expand URLs in links for printing */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
  }
}
Enter fullscreen mode Exit fullscreen mode

Testing in Firefox: Ctrl+P → Print preview shows your print styles. No need to actually print.

PDF.js Configuration

A few about:config settings for PDF behavior:

pdfjs.disabled = false   (true to disable PDF.js and use external viewer)
pdfjs.defaultZoomValue   (set default zoom: "page-width", "page-height", "auto", or "100")
pdfjs.spreadModeOnLoad   (0=single pages, 1=odd spreads, 2=even spreads)
pdfjs.scrollModeOnLoad   (0=vertical, 1=horizontal, 2=wrapped)
Enter fullscreen mode Exit fullscreen mode

To open PDFs in an external application instead of Firefox:
Settings → General → Applications → "Portable Document Format (PDF)" → Choose "Open with…"

Handling PDFs from the Web

When a link would open a PDF, right-click → "Save Link As" to download without viewing.

Or in Settings → General → Downloads → you can configure behavior for PDF file types.

PDF Accessibility

Firefox's PDF viewer supports accessible navigation for screen readers. The tab order follows the PDF's logical structure when marked. For accessibility-focused PDF review, the built-in viewer works well.

Large PDFs

Very large PDFs (hundreds of pages, vector graphics-heavy) may be slow in PDF.js. If performance is an issue:

  1. Disable PDF.js temporarily: pdfjs.disabled = true in about:config
  2. Open with your system PDF viewer instead
  3. Re-enable: set pdfjs.disabled = false

Alternatively, download the PDF and open with a native viewer for heavy documents.

Combining with Tab Manager

For research workflows reading multiple PDFs:

  • Open several PDFs in separate tabs
  • Tab Manager & Session Saver can save these as a named session
  • "research-project-pdfs" session restores all PDF tabs

This is particularly useful when reviewing documentation or academic papers that reference each other — keep the context as a saved session.

Top comments (0)