Skip to main content

ng2-pdfjs-viewer by the numbers

A fact sheet for sizing up the library at a glance. Figures are current as of June 2026; download counts come from the npm registry.

MetricValue
On npm since2018
Total downloads8.3M+
Weekly downloads~52,000 (June 2026)
Angular versions supported10 through 22, from one package (peer range >=10)
PDF.js engine6.x, bundled (no separate pdfjs-dist to manage)
Runtime dependencies0 (beyond Angular itself)
Public API30+ inputs, 24+ outputs, 19+ Promise-returning methods, all typed
LicenseApache-2.0 (Commons Clause)
Bundled assetsPDF.js viewer + worker, served from your app

What one component covers

A single <ng2-pdfjs-viewer> tag provides:

  • Viewing, navigation, zoom, print, and download
  • Annotation editing and eSign: highlight, text, draw, stamp, signature, comment
  • AcroForm filling with two-way binding
  • Full-text search with totals and per-page counts
  • Page organization: reorder, delete, extract, merge
  • Read-aloud (text-to-speech) with in-page highlighting
  • A bring-your-own-endpoint AI assistant with page citations
  • Theming, true dark-mode pages, content protection, and watermarks
  • Custom toolbar, sidebar, and per-page overlay templates
  • Accessibility for WCAG and the European Accessibility Act

Architecture facts

  • The bundled PDF.js viewer runs in a sandboxed, same-origin iframe.
  • The host-to-viewer postMessage bridge checks event.source in both directions.
  • Every method call is queued until the viewer reports ready, so calls made before the PDF finishes loading are not dropped.

Sources