react-native-pdf-jsi 2.2.7 → 2.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -9
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -199,6 +199,161 @@ Starting November 1, 2025, Google Play will require apps to support 16KB page si
|
|
|
199
199
|
- ✅ **iOS** (enhanced bridge mode with smart caching and progressive loading)
|
|
200
200
|
- ✅ **Windows** (standard bridge mode)
|
|
201
201
|
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 🎬 Pro Features - Coming Soon!
|
|
205
|
+
|
|
206
|
+
> **Production-ready PDF manipulation features launching in the next few weeks!**
|
|
207
|
+
|
|
208
|
+
### Watch the Demo
|
|
209
|
+
|
|
210
|
+
[](https://www.youtube.com/shorts/OmCUq9wLoHo)
|
|
211
|
+
|
|
212
|
+
**[▶️ Watch on YouTube Shorts (60 seconds)](https://www.youtube.com/shorts/OmCUq9wLoHo)**
|
|
213
|
+
|
|
214
|
+
*See bookmark management, export to images, PDF operations, and reading analytics in action!*
|
|
215
|
+
|
|
216
|
+
### 🚀 Features Launching Soon
|
|
217
|
+
|
|
218
|
+
#### 📚 Advanced Bookmark Management
|
|
219
|
+
- ✅ Create bookmarks with custom names, colors (10 options), and notes
|
|
220
|
+
- ✅ Swipeable list with tap-to-navigate functionality
|
|
221
|
+
- ✅ Current page highlighting with visual indicators
|
|
222
|
+
- ✅ Swipe-to-delete with confirmation dialogs
|
|
223
|
+
- ✅ Persistent storage with AsyncStorage
|
|
224
|
+
- ✅ Jump directly to any bookmarked page
|
|
225
|
+
- ✅ Edit bookmarks with full metadata support
|
|
226
|
+
|
|
227
|
+
#### 🖼️ Export to Images
|
|
228
|
+
- ✅ Export PDF pages to PNG or JPEG formats
|
|
229
|
+
- ✅ Three quality levels: High (90%), Medium (75%), Low (50%)
|
|
230
|
+
- ✅ Single page or batch export with progress tracking
|
|
231
|
+
- ✅ Automatic download to public storage (MediaStore API)
|
|
232
|
+
- ✅ Android notifications with "Open Folder" action
|
|
233
|
+
- ✅ Timestamped filenames to prevent overwrites
|
|
234
|
+
- ✅ Share single or multiple exported files
|
|
235
|
+
- ✅ Files immediately visible in file manager
|
|
236
|
+
|
|
237
|
+
#### ✂️ PDF Operations
|
|
238
|
+
- ✅ Split PDF into multiple parts with custom page ranges
|
|
239
|
+
- ✅ Extract specific pages to create new PDF
|
|
240
|
+
- ✅ Merge multiple PDFs (framework ready)
|
|
241
|
+
- ✅ All operations with real-time progress indicators
|
|
242
|
+
- ✅ Auto-save to Downloads/[YourApp] folder
|
|
243
|
+
- ✅ Success dialogs with "Open Folder" and "Share" buttons
|
|
244
|
+
- ✅ Proper file naming with timestamps
|
|
245
|
+
|
|
246
|
+
#### 📊 Reading Analytics
|
|
247
|
+
- ✅ Session tracking (start/end times, duration)
|
|
248
|
+
- ✅ Total time spent reading per PDF
|
|
249
|
+
- ✅ Pages read counter and progress percentage
|
|
250
|
+
- ✅ Reading speed calculation (pages/minute)
|
|
251
|
+
- ✅ Complete session history
|
|
252
|
+
- ✅ AsyncStorage persistence across app restarts
|
|
253
|
+
- ✅ Beautiful analytics panel with real-time stats
|
|
254
|
+
|
|
255
|
+
#### 🔧 Technical Excellence
|
|
256
|
+
- ✅ **JSI Integration** - Leverages existing JSI for native performance
|
|
257
|
+
- ✅ **MediaStore API** - Proper Android file management (Android 10+)
|
|
258
|
+
- ✅ **Runtime Permissions** - Handles Android 13+ notification permissions
|
|
259
|
+
- ✅ **Gesture-Based UI** - PanResponder for swipe gestures
|
|
260
|
+
- ✅ **Material Design** - Professional UI components
|
|
261
|
+
- ✅ **Error Handling** - Comprehensive error recovery
|
|
262
|
+
- ✅ **TypeScript Support** - Full type definitions included
|
|
263
|
+
- ✅ **Production Logging** - Debug-friendly with detailed logs
|
|
264
|
+
|
|
265
|
+
### 💰 Pricing
|
|
266
|
+
|
|
267
|
+
| Plan | Target Users | India Price | Global Price | What's Included |
|
|
268
|
+
|------|--------------|-------------|--------------|-----------------|
|
|
269
|
+
| **Free** | Everyone | ₹0 | $0 | ✅ Basic PDF viewing<br>✅ All core features<br>✅ Community support |
|
|
270
|
+
| **Indie** | Freelancers, Students | **₹2,999/year**<br>($36/year) | **$99/year** | ✅ All Pro features<br>✅ 1 app license<br>✅ Unlimited updates<br>✅ Email support<br>✅ Perfect for freelance projects |
|
|
271
|
+
| **Startup** | Small Teams (2-10 devs) | **₹9,999/year**<br>($120/year) | **$299/year** | ✅ All Pro features<br>✅ Up to 5 apps<br>✅ Priority email support<br>✅ Team license<br>✅ Quarterly feature updates |
|
|
272
|
+
| **Business** | Companies (10+ devs) | **₹24,999/year**<br>($300/year) | **$799/year** | ✅ All Pro features<br>✅ Unlimited apps<br>✅ Priority support (24h response)<br>✅ Custom feature development<br>✅ Source code access option |
|
|
273
|
+
|
|
274
|
+
**🇮🇳 Regional Pricing Available** - Special rates for India, Southeast Asia, Latin America, and emerging markets.
|
|
275
|
+
|
|
276
|
+
**🎁 Launch Offer:** First 50 customers get **30% OFF** any plan! Use code `EARLYBIRD30` at checkout.
|
|
277
|
+
|
|
278
|
+
### 🎯 Early Access
|
|
279
|
+
|
|
280
|
+
**🚀 Launching in the next few weeks!**
|
|
281
|
+
|
|
282
|
+
Want early access or have questions about Pro features?
|
|
283
|
+
|
|
284
|
+
- 📧 **Email:** punithm300@gmail.com (Subject: "Pro Features Early Access")
|
|
285
|
+
- ⭐ **Star this repo** to get notified when we launch
|
|
286
|
+
- 🔔 **Watch** the repository for release announcements
|
|
287
|
+
- 📦 **GitHub:** [react-native-enhanced-pdf](https://github.com/126punith/react-native-enhanced-pdf)
|
|
288
|
+
- 📥 **NPM:** [react-native-pdf-jsi](https://www.npmjs.com/package/react-native-pdf-jsi)
|
|
289
|
+
|
|
290
|
+
### ✨ Why Choose Pro Features?
|
|
291
|
+
|
|
292
|
+
> **Unlike other React Native PDF libraries**, we offer true production-grade features with professional UX patterns, proper file management, and enterprise-level performance.
|
|
293
|
+
|
|
294
|
+
**What makes it different:**
|
|
295
|
+
|
|
296
|
+
| Feature | react-native-pdf-jsi Pro | Other Libraries |
|
|
297
|
+
|---------|--------------------------|-----------------|
|
|
298
|
+
| **File Management** | MediaStore API (files visible immediately) | Cache only (files hidden) |
|
|
299
|
+
| **Bookmarks** | Colors, notes, swipeable list | Basic or none |
|
|
300
|
+
| **Export** | PNG/JPEG with quality control | Limited or none |
|
|
301
|
+
| **PDF Operations** | Split, extract, merge with UI | None |
|
|
302
|
+
| **Analytics** | Full session tracking & history | Page count only |
|
|
303
|
+
| **Notifications** | Native Android notifications | None |
|
|
304
|
+
| **Gestures** | Swipe-to-delete, tap-to-navigate | None |
|
|
305
|
+
| **Share** | Batch sharing with dialogs | Basic or none |
|
|
306
|
+
|
|
307
|
+
**Technical Advantages:**
|
|
308
|
+
- 🚀 **Up to 80x faster** with existing JSI integration
|
|
309
|
+
- 📱 **Proper file storage** - Files appear in Downloads immediately
|
|
310
|
+
- 🎨 **Professional UI** - Material Design with animations
|
|
311
|
+
- 🔔 **System integration** - Notifications, intents, MediaStore
|
|
312
|
+
- 💪 **Battle-tested** - Production-ready code
|
|
313
|
+
- 📖 **Complete docs** - Integration guides included
|
|
314
|
+
|
|
315
|
+
### 🎬 Feature Highlights from Demo
|
|
316
|
+
|
|
317
|
+
**What you'll see in the [60-second demo](https://www.youtube.com/shorts/OmCUq9wLoHo):**
|
|
318
|
+
|
|
319
|
+
1. **Bookmark System** (0:00-0:20)
|
|
320
|
+
- Create bookmark with name, color & notes
|
|
321
|
+
- Swipeable list showing all bookmarks
|
|
322
|
+
- Tap to jump to page 4 → 11 instantly
|
|
323
|
+
- Swipe left to delete
|
|
324
|
+
|
|
325
|
+
2. **Export to Images** (0:20-0:35)
|
|
326
|
+
- Export page as PNG (high quality)
|
|
327
|
+
- Android notification appears
|
|
328
|
+
- File visible in Downloads folder
|
|
329
|
+
- Share exported image
|
|
330
|
+
|
|
331
|
+
3. **PDF Operations** (0:35-0:50)
|
|
332
|
+
- Split PDF into 2 parts (pages 1-10, 11-21)
|
|
333
|
+
- Files automatically downloaded
|
|
334
|
+
- "Open Folder" button works
|
|
335
|
+
|
|
336
|
+
4. **Reading Analytics** (0:50-1:00)
|
|
337
|
+
- Session tracking active
|
|
338
|
+
- Progress percentage shown
|
|
339
|
+
- Reading stats displayed
|
|
340
|
+
|
|
341
|
+
### 📢 Stay Updated
|
|
342
|
+
|
|
343
|
+
**Coming Soon:**
|
|
344
|
+
- 📖 Comprehensive documentation
|
|
345
|
+
- 🎥 Tutorial videos
|
|
346
|
+
- 📱 Example app repository
|
|
347
|
+
- 🔌 Integration templates
|
|
348
|
+
- 💬 Discord community
|
|
349
|
+
|
|
350
|
+
**Follow the journey:**
|
|
351
|
+
- 🐦 Twitter: Share your feedback!
|
|
352
|
+
- ⭐ GitHub Stars help us reach more developers
|
|
353
|
+
- 📧 Direct contact: punithm300@gmail.com
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
202
357
|
## 🛠 Installation
|
|
203
358
|
|
|
204
359
|
```bash
|
|
@@ -281,7 +436,7 @@ react-native link react-native-pdf-jsi
|
|
|
281
436
|
|
|
282
437
|
### Windows installation
|
|
283
438
|
<details>
|
|
284
|
-
<
|
|
439
|
+
<summary>Windows details</summary>
|
|
285
440
|
|
|
286
441
|
- Open your solution in Visual Studio 2019 (eg. `windows\yourapp.sln`)
|
|
287
442
|
- Right-click Solution icon in Solution Explorer > Add > Existing Project...
|
|
@@ -824,10 +979,10 @@ This package is not available in the [Expo Go](https://expo.dev/client) app. Lea
|
|
|
824
979
|
<summary>FAQ details</summary>
|
|
825
980
|
|
|
826
981
|
Q1. After installation and running, I can not see the pdf file.
|
|
827
|
-
A1: maybe you forgot to
|
|
982
|
+
A1: maybe you forgot to execute ```react-native link``` or it does not run correctly.
|
|
828
983
|
You can add it manually. For detail you can see the issue [`#24`](https://github.com/wonday/react-native-pdf/issues/24) and [`#2`](https://github.com/wonday/react-native-pdf/issues/2)
|
|
829
984
|
|
|
830
|
-
Q2. When running, it shows ```'Pdf' has no propType for native prop RCTPdf.
|
|
985
|
+
Q2. When running, it shows ```'Pdf' has no propType for native prop RCTPdf.accessibilityLabel of native type 'String'```
|
|
831
986
|
A2. Your react-native version is too old, please upgrade it to 0.47.0+ see also [`#39`](https://github.com/wonday/react-native-pdf/issues/39)
|
|
832
987
|
|
|
833
988
|
Q3. When I run the example app I get a white/gray screen / the loading bar isn't progressing .
|
|
@@ -1470,10 +1625,10 @@ export default function LazyLoadingExample() {
|
|
|
1470
1625
|
| style | object | {backgroundColor:"#eee"} | support normal view style, you can use this to set border/spacing color... | ✔ | ✔ | ✔ | <3.0
|
|
1471
1626
|
| progressContainerStyle | object | {backgroundColor:"#eee"} | support normal view style, you can use this to set border/spacing color... | ✔ | ✔ | ✔ | 6.9.0 |
|
|
1472
1627
|
| renderActivityIndicator | (progress) => Component | <ProgressBar/> | when loading show it as an indicator, you can use your component | ✔ | ✔ | ✖ | <3.0 |
|
|
1473
|
-
| enableAntialiasing | bool | true | improve rendering a little bit on low-res screens, but
|
|
1628
|
+
| enableAntialiasing | bool | true | improve rendering a little bit on low-res screens, but may cause some problems on Android 4.4, so add a switch | ✖ | ✔ | ✖ | <3.0 |
|
|
1474
1629
|
| enablePaging | bool | false | only show one page in screen | ✔ | ✔ | ✔ | 5.0.1 |
|
|
1475
1630
|
| enableRTL | bool | false | scroll page as "page3, page2, page1" | ✔ | ✖ | ✔ | 5.0.1 |
|
|
1476
|
-
| enableAnnotationRendering | bool | true | enable rendering annotation, notice:iOS only
|
|
1631
|
+
| enableAnnotationRendering | bool | true | enable rendering annotation, notice: iOS only supports initial setting, not real-time changing | ✔ | ✔ | ✖ | 5.0.3 |
|
|
1477
1632
|
| enableDoubleTapZoom | bool | true | Enable double tap to zoom gesture | ✔ | ✔ | ✖ | 6.8.0 |
|
|
1478
1633
|
| trustAllCerts | bool | true | Allow connections to servers with self-signed certification | ✔ | ✔ | ✖ | 6.0.? |
|
|
1479
1634
|
| singlePage | bool | false | Only show first page, useful for thumbnail views | ✔ | ✔ | ✔ | 6.2.1 |
|
|
@@ -1489,7 +1644,7 @@ export default function LazyLoadingExample() {
|
|
|
1489
1644
|
|
|
1490
1645
|
| parameter | Description | default | iOS | Android | Windows |
|
|
1491
1646
|
| ------------ | ----------- | ------- | --- | ------- | ------- |
|
|
1492
|
-
| uri | pdf source, see the
|
|
1647
|
+
| uri | pdf source, see the following for detail.| required | ✔ | ✔ | ✔ |
|
|
1493
1648
|
| cache | use cache or not | false | ✔ | ✔ | ✖ |
|
|
1494
1649
|
| cacheFileName | specific file name for cached pdf file | SHA1(uri) result | ✔ | ✔ | ✖ |
|
|
1495
1650
|
| expiration | cache file expired seconds (0 is not expired) | 0 | ✔ | ✔ | ✖ |
|
|
@@ -1592,6 +1747,4 @@ For issues and questions:
|
|
|
1592
1747
|
*Transform your PDF viewing experience with enterprise-grade performance and reliability.*
|
|
1593
1748
|
|
|
1594
1749
|
**v2.2.7 - iOS Codegen Fix & New Architecture Support**
|
|
1595
|
-
**Copyright (c) 2025-present, Punith M (punithm300@gmail.com).
|
|
1596
|
-
|
|
1597
|
-
*Original work Copyright (c) 2017-present, Wonday (@wonday.org). All rights reserved.*
|
|
1750
|
+
**Copyright (c) 2025-present, Punith M (punithm300@gmail.com). All rights reserved.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-pdf-jsi",
|
|
3
|
-
|
|
3
|
+
"version": "2.2.8",
|
|
4
4
|
"summary": "High-performance React Native PDF viewer with JSI acceleration - up to 80x faster than traditional bridge",
|
|
5
5
|
"description": "🚀 Ultra-fast React Native PDF viewer with JSI (JavaScript Interface) integration for maximum performance. Features lazy loading, smart caching, progressive loading, and zero-bridge overhead operations. Perfect for large PDF files with 30-day persistent cache and advanced memory optimization. Google Play 16KB page size compliant for Android 15+. Supports iOS, Android, and Windows platforms.",
|
|
6
6
|
"main": "index.js",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"url": "https://github.com/126punith"
|
|
59
59
|
},
|
|
60
60
|
"license": "MIT",
|
|
61
|
-
|
|
61
|
+
"homepage": "https://github.com/126punith/react-native-enhanced-pdf",
|
|
62
62
|
"bugs": {
|
|
63
63
|
"url": "https://github.com/126punith/react-native-enhanced-pdf/issues"
|
|
64
64
|
},
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"type": "components",
|
|
101
101
|
"jsSrcsDir": "./fabric",
|
|
102
102
|
"android": {
|
|
103
|
-
|
|
103
|
+
"javaPackageName": "org.wonday.pdf"
|
|
104
104
|
},
|
|
105
105
|
"ios": {
|
|
106
|
-
|
|
106
|
+
"componentProvider": "RNPDFPdfView"
|
|
107
107
|
}
|
|
108
|
-
|
|
108
|
+
}
|
|
109
109
|
}
|