Package Exports
- adex-react-pdf-viewer
- adex-react-pdf-viewer/index.css
- adex-react-pdf-viewer/locales/ar.json
- adex-react-pdf-viewer/locales/bg.json
- adex-react-pdf-viewer/locales/bn.json
- adex-react-pdf-viewer/locales/ca.json
- adex-react-pdf-viewer/locales/cs.json
- adex-react-pdf-viewer/locales/de.json
- adex-react-pdf-viewer/locales/el.json
- adex-react-pdf-viewer/locales/en.json
- adex-react-pdf-viewer/locales/es.json
- adex-react-pdf-viewer/locales/fi.json
- adex-react-pdf-viewer/locales/fr.json
- adex-react-pdf-viewer/locales/he.json
- adex-react-pdf-viewer/locales/hi.json
- adex-react-pdf-viewer/locales/id.json
- adex-react-pdf-viewer/locales/it.json
- adex-react-pdf-viewer/locales/ja.json
- adex-react-pdf-viewer/locales/jp_JP.json
- adex-react-pdf-viewer/locales/ko.json
- adex-react-pdf-viewer/locales/mr.json
- adex-react-pdf-viewer/locales/ms.json
- adex-react-pdf-viewer/locales/nl.json
- adex-react-pdf-viewer/locales/no.json
- adex-react-pdf-viewer/locales/pa.json
- adex-react-pdf-viewer/locales/pl.json
- adex-react-pdf-viewer/locales/pt.json
- adex-react-pdf-viewer/locales/ro.json
- adex-react-pdf-viewer/locales/ru.json
- adex-react-pdf-viewer/locales/sv.json
- adex-react-pdf-viewer/locales/sw.json
- adex-react-pdf-viewer/locales/ta.json
- adex-react-pdf-viewer/locales/te.json
- adex-react-pdf-viewer/locales/th.json
- adex-react-pdf-viewer/locales/tr.json
- adex-react-pdf-viewer/locales/uk.json
- adex-react-pdf-viewer/locales/vi.json
- adex-react-pdf-viewer/locales/zh-CN.json
- adex-react-pdf-viewer/locales/zh_TW.json
- adex-react-pdf-viewer/themes/acrobat-theme.css
- adex-react-pdf-viewer/themes/adobe-theme.css
- adex-react-pdf-viewer/themes/blue-theme.css
- adex-react-pdf-viewer/themes/corporate-theme.css
- adex-react-pdf-viewer/themes/dark-theme.css
- adex-react-pdf-viewer/themes/high-contrast-theme.css
- adex-react-pdf-viewer/themes/microsoft-theme.css
- adex-react-pdf-viewer/themes/minimal-theme.css
- adex-react-pdf-viewer/themes/night-mode-theme.css
- adex-react-pdf-viewer/themes/professional-theme.css
- adex-react-pdf-viewer/themes/retro-theme.css
- adex-react-pdf-viewer/themes/sepia-theme.css
Readme
Adex React PDF Viewer v1.0.9
A powerful, feature-rich PDF viewer component for React applications. Built on top of react-pdf, AdexViewer provides a complete solution for viewing, annotating, and interacting with PDF documents in your web applications.

🌐 Live Demo
✨ Features
- 📄 Document Navigation: Page thumbnails, navigation controls, and smooth scrolling
- 🔍 Search: Full-text search with result highlighting and navigation
- 📑 Bookmarks & Outline: Support for document outlines and custom bookmarks
- ✏️ Annotations: Add notes, highlights, and drawings to your documents
- 🔄 Rotation & Zoom: Rotate pages and adjust zoom levels
- 📱 Responsive Design: Optimized for both desktop and mobile devices
- 🖨️ Print Support: Print documents with customizable options
- 🌙 Text Selection: Enable or disable text selection and copying
- 🔗 Download: Direct download option for PDF files
- 🖼️ Fullscreen Mode: Immersive viewing experience
- 📊 Document Info: View and display PDF metadata
- 🌍 Internationalization: Support for multiple languages with easy switching
- 🎨 Themes: Multiple built-in themes to customize the appearance
🚀 Installation
With NPM:
npm install adex-react-pdf-viewerFor yarn:
yarn add adex-react-pdf-viewer📖 Basic Usage
import React from "react";
import AdexViewer from "adex-react-pdf-viewer";
import "adex-react-pdf-viewer/index.css"; // Import styles
function App() {
return (
<div style={{ height: "100vh" }}>
<AdexViewer
data={{ url: "https://example.com/sample.pdf" }}
/>
</div>
);
}
export default App;🛠️ Props
| Prop | Type | Description | Default |
|---|---|---|---|
data |
object | { url: string } - URL of the PDF file to display |
Required |
credits |
boolean | Show or hide attribution credits | true |
showSidebar |
boolean | Show or hide the sidebar on initial load | false |
showToolbar |
boolean | Show or hide the toolbar | true |
showControls |
object | Configure which controls to display (see below) | See below |
defaultValues |
object | Set default zoom, page, and fullscreen state | See below |
responsive |
object | Configure responsive behavior | See below |
textOptions |
object | Configure text selection and copying | See below |
printOptions |
object | Configure print behavior | See below |
localization |
array | Configure language options (see below) | See below |
theme |
string | Set the theme for the viewer (see themes section) | See below |
showControls Object
showControls: {
navigation: true, // Page navigation controls
zoom: true, // Zoom controls
fullscreen: true, // Fullscreen button
download: true, // Download button
info: true, // Document info button
sidebarButton: true, // Sidebar toggle button
rotation: true, // Page rotation controls
print: true, // Print button
search: true, // Search functionality
bookmarks: true, // Bookmarks functionality
annotations: true, // Annotations functionality
localization: true // Language selection button
}defaultValues Object
defaultValues: {
zoom: 1.25, // Initial zoom level (0.5 to 3)
page: 1, // Initial page number
fullscreen: false // Start in fullscreen mode
}textOptions Object
textOptions: {
enableSelection: true, // Allow text selection
enableCopy: true // Allow text copying
}printOptions Object
printOptions: {
printBackground: true, // Print background graphics
pageRangeEnabled: true // Enable page range selection
}localization Array
The localization prop accepts an array of LocalizationOptions objects that define the available languages for the viewer interface. Each object has the following properties:
localization: [
{ locale: "en", title: "English", active: true },
{ locale: "es", title: "Español", active: false },
{ locale: "fr", title: "Français", active: false },
// ... more languages
]Each language object contains:
locale: The language code (used for loading translation files)title: The display name of the languageactive: Whether this language is active by default
🎨 Themes
AdexViewer comes with multiple built-in themes to customize the appearance of the viewer.

Using Themes
To use a theme, you need to:
- Import the theme CSS file:
import "adex-react-pdf-viewer/themes/blue-theme.css";- Provide the theme name to the component:
<AdexViewer
data={{ url: "https://pdfobject.com/pdf/pdf_open_parameters_acro8.pdf" }}
theme="blue-theme"
/>Available Theme Options
The following themes are available:
| Theme Name | Description |
|---|---|
"default-theme" |
The standard theme with a clean, neutral design suitable for most applications |
"blue-theme" |
A modern theme with blue accents and a professional appearance |
"dark-theme" |
Dark background with light text, ideal for low-light environments and reducing eye strain |
"minimal-theme" |
A simplified interface with reduced visual elements for a distraction-free reading experience |
"corporate-theme" |
Formal design with subtle colors suitable for business and enterprise applications |
"professional-theme" |
Polished interface with refined controls and balanced color scheme |
"high-contrast-theme" |
Enhanced contrast between elements for improved accessibility and readability |
"night-mode-theme" |
Dark background with optimized colors for nighttime reading |
"sepia-theme" |
Warm, yellowish-brown tones that reduce eye strain for extended reading sessions |
"retro-theme" |
Nostalgic design inspired by classic windown 95 style document viewers |
"adobe-theme" |
Inspired by Adobe's PDF viewer interface for users familiar with that environment |
"microsoft-theme" |
Design elements reminiscent of Microsoft's document viewing applications |
"acrobat-theme" |
Styled after Adobe Acrobat's interface for a familiar experience |
🌍 Internationalization
AdexViewer supports multiple languages through its localization system. The component will:
- Load language files from the
/locales/{locale}.jsondirectory - Allow users to switch languages via the language selector
- Remember the user's language preference in localStorage
Supported Languages
The viewer comes with support for 35+ languages including:
| Language Code | Language Name | Language Code | Language Name | Language Code | Language Name |
|---|---|---|---|---|---|
| en | English | ar | العربية (Arabic) | bg | Български (Bulgarian) |
| bn | বাংলা (Bengali) | ca | Català (Catalan) | cs | Čeština (Czech) |
| de | Deutsch (German) | el | Ελληνικά (Greek) | es | Español (Spanish) |
| fi | Suomi (Finnish) | fr | Français (French) | he | עברית (Hebrew) |
| hi | हिन्दी (Hindi) | id | Bahasa Indonesia | it | Italiano (Italian) |
| ja | 日本語 (Japanese) | ko | 한국어 (Korean) | mr | मराठी (Marathi) |
| ms | Bahasa Melayu | nl | Nederlands (Dutch) | no | Norsk (Norwegian) |
| pa | ਪੰਜਾਬੀ (Punjabi) | pl | Polski (Polish) | pt | Português |
| ro | Română (Romanian) | ru | Русский (Russian) | sv | Svenska (Swedish) |
| sw | Kiswahili (Swahili) | ta | தமிழ் (Tamil) | te | తెలుగు (Telugu) |
| th | ไทย (Thai) | tr | Türkçe (Turkish) | uk | Українська (Ukrainian) |
| vi | Tiếng Việt (Vietnamese) | zh-CN | 简体中文 (Simplified Chinese) | zh_TW | 繁體中文 (Traditional Chinese) |
🎨 Annotations
AdexViewer supports three types of annotations:
- Notes: Add floating note markers with custom text
- Highlights: Highlight text selections with custom colors
- Drawings: Create freehand drawings on any page
Annotations are automatically saved to localStorage and persist between sessions.
🔍 Search Functionality
The search feature allows users to:
- Search for text across the entire document
- Navigate between search results
- See highlighted matches with context
- View a list of all matches with page numbers
📑 Bookmarks and Document Outline
AdexViewer supports both:
- Document Outline: Displays the PDF's built-in table of contents
- Custom Bookmarks: Allows users to add their own bookmarks to specific pages
📱 Mobile Support
The viewer is fully responsive and includes:
- Simplified interface on smaller screens
- Optimized performance for mobile devices
🖥️ Browser Compatibility
AdexViewer works in all modern browsers:
- Chrome, Firefox, Safari, Edge (latest versions)
- IE11 is not supported
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
🛠️ Development
Clone the repository:
git clone https://github.com/abhibagul/Adex-React-PDF-Viewer.git
cd Adex-React-PDF-Viewer
npm installBuild the package:
npm run buildto link and use in the project:
npm linksetup the react project and link package using:
npm link adex-react-pdf-viewer📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👨💻 Created By
AdexViewer is created with ❤️ by Abhishek Bagul.