Skip to content

Commit ca09e4b

Browse files
authored
Merge pull request #45 from sumitsahoo/dev
Enhance PWA support and add PDF tools with caching improvements
2 parents bc8ad29 + 0019a95 commit ca09e4b

16 files changed

Lines changed: 1546 additions & 75 deletions

README.md

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,42 +28,44 @@
2828

2929
## ✨ Features
3030

31-
CloakPDF offers **30 powerful PDF tools**, all running 100% client-side:
31+
CloakPDF offers **33 powerful PDF tools**, all running 100% client-side:
3232

3333
### 🗂️ Organise & Edit
3434

3535
_Rearrange, combine, and manage your PDF pages_
3636

37-
| Tool | Description |
38-
| ---------------------- | -------------------------------------------------------------------------------- |
39-
| **Merge PDFs** | Combine multiple PDF files into a single document with drag-to-reorder support |
40-
| **Extract Pages** | Select pages visually or by range (e.g., `1-3, 5, 7-9`) and save as a new PDF |
41-
| **Reorder Pages** | Drag and drop to rearrange page order with smooth animations |
42-
| **Delete Pages** | Select and remove unwanted pages visually |
43-
| **Rotate Pages** | Rotate individual pages by 90°, -90°, or 180° — or rotate all at once |
44-
| **Add Blank Page** | Insert a blank page at any position — dimensions match the adjacent page |
45-
| **Duplicate Page** | Copy any page and insert it at a chosen position in the document |
46-
| **Reverse Pages** | Flip the entire page order of a PDF in one click |
47-
| **Add Bookmarks** | Add a clickable outline so readers can jump to any page instantly |
48-
| **Remove Blank Pages** | Auto-detect and remove empty pages — adjustable sensitivity with manual override |
49-
| **File Attachments** | View, add, extract, or remove files embedded in a PDF |
37+
| Tool | Description |
38+
| ---------------------- | ------------------------------------------------------------------------------------------------ |
39+
| **Merge PDFs** | Combine multiple PDF files into a single document with drag-to-reorder support |
40+
| **Split PDF** | Divide a PDF into multiple separate files — split every page, every N pages, or at custom points |
41+
| **Extract Pages** | Select pages visually or by range (e.g., `1-3, 5, 7-9`) and save as a new PDF |
42+
| **Reorder Pages** | Drag and drop to rearrange page order with smooth animations |
43+
| **Delete Pages** | Select and remove unwanted pages visually |
44+
| **Rotate Pages** | Rotate individual pages by 90°, -90°, or 180° — or rotate all at once |
45+
| **Reverse Pages** | Flip the entire page order of a PDF in one click |
46+
| **Add Blank Page** | Insert a blank page at any position — dimensions match the adjacent page |
47+
| **Duplicate Page** | Copy any page and insert it at a chosen position in the document |
48+
| **Remove Blank Pages** | Auto-detect and remove empty pages — adjustable sensitivity with manual override |
49+
| **Add Bookmarks** | Add a clickable outline so readers can jump to any page instantly |
50+
| **File Attachments** | View, add, extract, or remove files embedded in a PDF |
5051

5152
### ⚡ Transform & Convert
5253

5354
_Compress, convert, and extract content_
5455

55-
| Tool | Description |
56-
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
57-
| **Compress PDF** | Reduce file size with 3 quality levels — Light, Balanced, and Maximum |
58-
| **PDF to Image** | Export pages as PNG or JPEG at 72 / 150 / 300 DPI — single file or ZIP |
59-
| **Images to PDF** | Convert images (PNG, JPEG) to PDF with A4, Letter, or Fit-to-Image page sizes |
60-
| **OCR PDF** | Extract text from scanned or image-based PDFs using Tesseract.js OCR |
61-
| **Crop Pages** | Trim page margins by setting a crop box (mm input, uniform or per-side); also removes existing crop boxes to restore the full page |
62-
| **Flatten PDF** | Remove interactive form fields and annotations, making the PDF non-editable |
63-
| **N-up Pages** | Arrange multiple pages onto a single sheet (2-up, 4-up, 9-up) for compact printing |
64-
| **Contact Sheet** | Render all pages as a thumbnail grid for quick visual review — export as PNG or PDF |
65-
| **Repair PDF** | Fix structural issues in corrupted or malformed PDFs by re-parsing and rebuilding the file |
66-
| **Grayscale PDF** | Convert all pages to grayscale — useful for print cost savings and black-and-white output |
56+
| Tool | Description |
57+
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
58+
| **Compress PDF** | Reduce file size with 3 quality levels — Light, Balanced, and Maximum |
59+
| **PDF to Image** | Export pages as PNG or JPEG at 72 / 150 / 300 DPI — single file or ZIP |
60+
| **Images to PDF** | Convert images (PNG, JPEG) to PDF with A4, Letter, or Fit-to-Image page sizes |
61+
| **OCR PDF** | Extract text from scanned or image-based PDFs using Tesseract.js OCR |
62+
| **Extract Images** | Pull all embedded raster images from a PDF — preview, select, and download individually or as a ZIP |
63+
| **Crop Pages** | Trim page margins by setting a crop box (mm input, uniform or per-side); also removes existing crop boxes to restore the full page |
64+
| **Flatten PDF** | Remove interactive form fields and annotations, making the PDF non-editable |
65+
| **Grayscale PDF** | Convert all pages to grayscale — useful for print cost savings and black-and-white output |
66+
| **N-up Pages** | Arrange multiple pages onto a single sheet (2-up, 4-up, 9-up) for compact printing |
67+
| **Contact Sheet** | Render all pages as a thumbnail grid for quick visual review — export as PNG or PDF |
68+
| **Repair PDF** | Fix structural issues in corrupted or malformed PDFs by re-parsing and rebuilding the file |
6769

6870
### ✍️ Annotate & Sign
6971

@@ -75,8 +77,8 @@ _Add watermarks, signatures, and overlays_
7577
| **Fill PDF Form** | Fill text fields, checkboxes, dropdowns, and radio groups in interactive PDF forms |
7678
| **Stamp & Watermark** | Apply pre-built stamps (DRAFT, APPROVED, CONFIDENTIAL, etc.) in text or seal style, or add a custom text watermark with configurable colour, rotation, and opacity |
7779
| **Add Page Numbers** | Insert page numbers with 6 position options, 4 formats, and custom styling |
78-
| **Bates Numbering** | Stamp sequential identifiers (prefix + zero-padded number + suffix) for legal and compliance workflows |
7980
| **Header & Footer** | Add repeating text (with `{{page}}` / `{{total}}` tokens) at the top and bottom of every page |
81+
| **Bates Numbering** | Stamp sequential identifiers (prefix + zero-padded number + suffix) for legal and compliance workflows |
8082

8183
### 🔐 Security & Properties
8284

@@ -87,6 +89,7 @@ _Protect your PDFs and manage metadata_
8789
| **PDF Password** | Add or remove a password and control print, copy, and edit rights |
8890
| **Redact PDF** | Permanently black out sensitive text and images |
8991
| **Edit Metadata** | View and edit document properties like title, author, subject, keywords, and dates |
92+
| **Compare PDFs** | Visual side-by-side diff of two PDFs with pixel-level change detection and diff overlay |
9093
| **PDF Inspector** | View version, page count, dimensions, metadata, and encryption status without modifying |
9194

9295
---

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"pdfjs-dist": "^5.6.205",
1818
"react": "^19.2.5",
1919
"react-dom": "^19.2.5",
20-
"tesseract.js": "^7.0.0"
20+
"tesseract.js": "^7.0.0",
21+
"workbox-window": "^7.4.0"
2122
},
2223
"devDependencies": {
2324
"@tailwindcss/vite": "^4.2.2",

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/icons/og-image.png

1.8 KB
Loading

public/icons/og-image.svg

Lines changed: 5 additions & 5 deletions
Loading

public/screenshots/iPad.png

-1.79 KB
Loading

public/screenshots/iPhone.png

-5.07 KB
Loading

0 commit comments

Comments
 (0)