Welcome to ng2-pdfjs-viewer
Welcome to the comprehensive documentation for ng2-pdfjs-viewer - the most reliable and feature-rich Angular PDF viewer component powered by Mozilla's PDF.js.
What's New in v25.x 🎉
Version 25.x represents a complete rewrite of the library with modern Angular patterns, strict TypeScript, and PDF.js v5.x integration. Here's what makes it special:
🚀 Complete Rewrite Benefits
- Modern Architecture: Built with Angular 20+ patterns and strict TypeScript
- Event-Driven: Pure event-based system with universal action dispatcher
- Template-Based: Use Angular templates for loading and error states
- Mobile-First: Responsive design optimized for all screen sizes
- Production-Ready: Comprehensive error handling and performance optimization
📈 Battle-Tested Reliability
- Born in 2018 and still going strong
- 7+ million downloads and growing
- 8+ years of continuous development
- Thousands of applications powered worldwide
Quick Links
- 🚀 Getting Started - Set up in 5 minutes
- 🎯 Live Demo - See it in action
- 📚 Examples - Copy-paste code examples
- 🔄 Migration Guide - Upgrade from v20.x
- 📖 API Reference - Complete API documentation
Installation
Get started quickly with npm:
npm install ng2-pdfjs-viewer --save
Basic Usage
import { PdfJsViewerModule } from 'ng2-pdfjs-viewer';
@NgModule({
imports: [PdfJsViewerModule],
})
export class AppModule {}
<ng2-pdfjs-viewer
pdfSrc="assets/sample.pdf"
[showSpinner]="true">
</ng2-pdfjs-viewer>
That's it! Your PDF viewer is ready to use.
Why the Rewrite?
The v25.x rewrite addresses key architectural challenges:
Before (v20.x)
- Mixed event/polling patterns
- Defensive programming
- Limited customization
- Complex integration
After (v25.x)
- Pure event-driven architecture
- Trust-based execution
- Template-based customization
- Simple, clean API
Community & Support
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📚 Documentation: You're reading it!
- 🎯 Live Demo: Vercel Demo
Ready to get started? Head over to the Getting Started guide!