A React Native library for displaying PDF documents from files, URLs, or base64 data on Android and iOS.
React Native View PDF is a library for displaying PDF documents in React Native applications. It provides a unified component to render PDFs across both Android and iOS platforms, supporting multiple resource types like local files, URLs, or base64 data, and offers native performance by leveraging platform-specific viewers.
React Native developers who need to integrate PDF viewing functionality into their mobile applications for both Android and iOS without relying on web-based or JavaScript-heavy solutions.
Developers choose this library because it offers a dependency-free, native rendering solution with zero JavaScript dependencies, ensuring better performance and smaller bundle sizes compared to alternatives that may rely on web views or additional npm packages.
📚 PDF viewer for React Native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adds no npm dependencies to your project, reducing bundle size and avoiding conflicts, as emphasized in the README's 'zero NPM dependencies' feature.
Uses Android PdfViewer on Android and WKWebView on iOS for platform-optimized rendering, ensuring smooth PDF display without web-based overhead.
Supports PDFs from local files, URLs, and base64 data, with extended URL properties for custom HTTP methods and headers, detailed in the props table.
Provides onLoad, onError, and other events for integration control, including platform-specific callbacks like onPageChanged for Android.
iOS lacks support for annotations and some callbacks like onPageChanged, while Android has more native features, leading to inconsistent cross-platform experiences.
Android installation requires manual Gradle configurations for version overrides and handling JCenter deprecation, as noted in the buildscript instructions, adding setup friction.
The onScrolled callback only returns offset values of 0 or 1, limiting fine-grained scroll monitoring, as admitted in the props description for both platforms.
Relies on third-party native libraries like Android PdfViewer, which has beta versions and repository issues (e.g., JCenter deprecation), risking future maintenance headaches.