Commit Graph
100 Commits
Author SHA1 Message Date
abdullahalam123 ac31f017eb Release v1.11.1 2025-12-11 19:41:10 +05:30
abdullahalam123 6eaa7c18ea fix: Add space between consecutive data-i18n attributes in HTML files. 2025-12-11 19:40:57 +05:30
abdullahalam123 dc258f808d Release v1.11.0 2025-12-11 19:36:35 +05:30
abdullahalam123 a83d9b6604 Merge branch 'port-to-standalone-pages' 2025-12-11 19:35:28 +05:30
abdullahalam123 78dc6333f9 setup i18n and ported all tools to standalone pages 2025-12-11 19:34:14 +05:30
abdullahalam123 df346eb08a ci: Update CLA workflow to grant write permissions for contents and remove internal comments. 2025-12-06 04:01:01 +05:30
abdullahalam123 947a6b57c0 fix: correct CLA signatures file structure 2025-12-06 02:46:11 +05:30
abdullahalam123 fe3e54f979 Release v1.10.5 2025-12-05 14:57:46 +05:30
abdullahalam123 5e23a7e77e feat: Add Contributor License Agreements (CLA) for individual and corporate contributors with automated enforcement. 2025-12-05 14:57:35 +05:30
abdullahalam123 e0381e6aa0 Release v1.10.4 2025-12-05 00:38:15 +05:30
abdullahalam123 c682f9d9b3 fix(config): Remove leading slash from merge PDF tool path
- Remove leading slash from merge-pdf.html path in tools configuration
- Ensure consistent path resolution with BASE_URL environment variable
- Fix asset path handling for subdirectory hosting compatibility
2025-12-05 00:38:08 +05:30
abdullahalam123 a976295b4c Release v1.10.3 2025-12-04 23:57:42 +05:30
abdullahalam123 af01a041bf Release v1.10.2 2025-12-04 23:53:31 +05:30
abdullahalam123 b279c05281 feat: Add subdirectory hosting support and fix asset path resolution
- Update README with comprehensive subdirectory hosting instructions and BASE_URL configuration guide
- Convert absolute asset paths to relative paths in index.html for proper subdirectory deployment
- Update all worker script imports to use relative paths instead of absolute paths
- Fix favicon and image references to work correctly when hosted in nested directories
- Normalize whitespace and formatting across worker files for consistency
- Update vite.config.ts to properly handle BASE_URL configuration for subdirectory deployments
- Ensure all tool pages and logic files maintain compatibility with subdirectory hosting
- Enable BentoPDF to be deployed at any URL path (e.g., example.com/tools/bentopdf/) without breaking asset loading
2025-12-04 23:53:00 +05:30
abdullahalam123 19425d98f9 feat: Add JPG to PDF conversion tool with dedicated page and logic. 2025-12-04 21:21:34 +05:30
abdullahalam123 62d1b9ada2 feat: add new Edit PDF tool with dedicated page and logic, and update build configuration 2025-12-04 15:29:01 +05:30
abdullahalam123 9620084789 feat: Add dedicated compress PDF page and reimplement compression logic. 2025-12-04 14:32:37 +05:30
abdullahalam123 6676fe9f89 feat: Reimplement PDF splitting functionality on a new dedicated page. 2025-12-04 14:02:20 +05:30
abdullahalam123 fb3063324c feat: implement dedicated merge PDF tool page with new logic and UI structure 2025-12-04 12:26:57 +05:30
abdullahalam123 f213d9dc27 Release v1.10.0 2025-12-01 15:15:51 +05:30
abdullahalam123 b39d2c267c Merge branch 'pdf-multi-tool-bug-fixes' 2025-12-01 14:56:09 +05:30
abdullahalam123 09436a689d feat(rotate,delete-pages): Add custom rotation angles and enhance page management UI
- Add TypeScript type definitions for merge and alternate-merge Web Workers
- Implement custom rotation angle input with increment/decrement controls for rotate tool
- Extend delete-pages tool to render page thumbnails for better UX
- Hide number input spin buttons across all number inputs via CSS
- Refactor rotateAll function to accept angle parameter instead of direction multiplier
- Update fileHandler to support delete-pages tool thumbnail rendering
- Improve type safety in alternate-merge logic with proper interface definitions
- Enhance rotate tool UI with custom angle input field and adjustment buttons
2025-12-01 14:54:46 +05:30
abdullahalam123 c5764e4172 feat(favicon,repair-pdf): Add favicon support and implement PDF repair tool
- Add favicon.ico to public directory for browser tab display
- Update favicon references across all HTML pages with proper link tags for SVG, PNG, and ICO formats
- Add Apple touch icon support for iOS devices
- Create new repair-pdf.ts logic module for PDF repair functionality
- Create new repair-pdf-page.ts utility module for page-level repair operations
- Add repair-pdf.html page with UI for PDF repair tool
- Register repair PDF tool in tools configuration and PDF tools registry
- Update UI rendering utilities to support new repair tool
- Improve favicon handling with multiple format fallbacks for cross-browser compatibility
- Standardize favicon paths to use absolute URLs for consistency
- Clean up whitespace and formatting in licensing.html for code consistency
2025-12-01 12:44:34 +05:30
abdullahalam123 05bc0d5a3c Release v1.9.0 2025-11-28 20:50:05 +05:30
abdullahalam123 8651ca366f feat(merge): Migrate merge operations to Web Workers and reorganize tool categories
- Create merge.worker.js and alternate-merge.worker.js for offloading PDF merge operations to background threads
- Migrate merge and alternate-merge logic to use Web Worker architecture for improved performance
- Move flatten tool from singlePdfLoadTools to multiFileTools configuration
- Update merge and alternate-merge tool subtitles to indicate bookmark preservation
- Refactor alternate-merge.ts to use Web Worker instead of pdf-lib for interleaving operations
- Refactor merge.ts to use Web Worker for standard merge operations
- Update fileHandler.ts to recognize flatten as a multi-file tool requiring process button handling
- Simplify form-creator.ts and flatten.ts implementations with Web Worker integration
- Update UI state management to support Web Worker-based PDF processing
- Improve performance by moving computationally intensive PDF operations off the main thread
2025-11-28 20:49:49 +05:30
abdullahalam123 6b7163991e feat(ui): Add GitHub integration and enhance hero section design
- Add GitHub star counter badge to navigation (desktop and mobile)
- Implement grid pattern background in hero section
- Redesign hero title with inline PDF Toolkit badge and briefcase icon
- Update feature badges styling with improved visual hierarchy
- Refactor CTA button layout with icon integration
- Add simple-mode-footer utility component for footer management
- Update all tool pages with consistent styling improvements
- Enhance responsive design for mobile navigation with GitHub link
- Improve visual consistency across all pages with updated color scheme
2025-11-26 18:33:08 +05:30
abdullahalam123 f3f6af079f Release v1.8.1 2025-11-25 14:52:41 +05:30
abdullahalam123 6e7563d0c2 fix(bookmark-pdf): Improve page reference resolution and simplify destination handling
- Refactor findPageIndex() to use multiple resolution strategies (direct ref comparison, object number matching, string representation, numeric values)
- Add resolvedPageRef parameter to findPageIndex() for more efficient page dictionary matching
- Improve named destination handling to properly extract 'D' entry from dictionary-wrapped destinations
- Remove unnecessary resolveRef() call on destination arrays to preserve array structure integrity
- Pass resolved page reference to findPageIndex() for better accuracy in page lookup
- Simplify footer markup across multiple pages (add-stamps, bookmark, form-creator, json-to-pdf, pdf-to-json, table-of-contents) by removing redundant background color and grid layout
- Enhance error handling and logging for page reference resolution diagnostics
2025-11-25 14:52:34 +05:30
abdullahalam123 b9572dfea8 Release v1.8.0 2025-11-24 22:02:43 +05:30
abdullahalam123 e8c0e82d29 feat(form-creator): Simplify date field rendering and fix PDF date actions
- Refactor date field UI rendering to use inline HTML with calendar icon and format text
- Consolidate date format and keystroke action creation by removing unnecessary widget loop
- Attach Additional Actions (AA) directly to field dictionary instead of individual widgets
- Improve code clarity and reduce redundant DOM manipulation in date field initialization
- Ensure date formatting and keystroke validation work correctly at the field level in generated PDFs
2025-11-24 21:43:33 +05:30
abdullahalam123 95927cd899 squash: feat: Create fillable PDF forms 2025-11-24 21:16:23 +05:30
abdullahalam123 1e8866018d Release v1.7.9 2025-11-21 19:32:14 +05:30
abdullahalam123 83aadb6d98 fix: enhance shortcut key detection for alt key combinations and update Discord invite link across all pages. 2025-11-21 19:32:08 +05:30
abdullahalam123 1a17cd4e7e Release v1.7.8 2025-11-21 17:11:15 +05:30
abdullahalam123 5fecc701c6 feat: Implement keyboard shortcuts system with UI management, add txt-to-pdf tests, and introduce a generic warning modal. 2025-11-21 17:10:56 +05:30
abdullahalam123 606a3603f4 Release v1.7.7 2025-11-20 19:58:46 +05:30
abdullahalam123 8a8ae3f0c5 feat: Add licensing page and FAQ script, update site content and navigation, and refine PDF tool logic for multi tool 2025-11-20 19:58:41 +05:30
abdullahalam123 092f84be23 Release v1.7.6 2025-11-20 16:23:59 +05:30
abdullahalam123 2aa26e496c feat: Add progressive rendering utilities, enhance image-to-pdf with reordering and broader type support, improve rotate tool with global rotation state 2025-11-20 16:23:36 +05:30
abdullahalam123 900196879f Release v1.7.5 2025-11-19 13:19:21 +05:30
abdullahalam123 bd985f06f8 feat: Add alerts for attachment extraction status and improve UI state handling after processing.
feat: add page and document level support for adding atttachments
2025-11-19 13:19:14 +05:30
abdullahalam123 98467f4809 Release v1.7.4 2025-11-18 20:31:24 +05:30
abdullahalam123 151060204d feat(attachments,security): migrate attachment processing to web worker and update CORS policy
- Add web worker for PDF attachment processing to improve performance and prevent UI blocking
- Create add-attachments.worker.js with TypeScript definitions for type safety
- Implement worker message handling with success and error responses
- Update nginx.conf to use Cross-Origin-Resource-Policy instead of Cross-Origin-Embedder-Policy for better cross-origin resource sharing
- Refactor add-attachments.ts to use worker-based processing with transferable objects
- Update main.ts to add home logo click handler for navigation
- Improve error handling with worker error event listener
- Add validation checks for PDF file availability before processing attachments
2025-11-18 20:31:13 +05:30
abdullahalam123 bbafb11246 Release v1.7.3 2025-11-18 11:15:40 +05:30
abdullahalam123 e33e79ef4d Release v1.7.2 2025-11-18 11:13:48 +05:30
abdullahalam123 1e557d5b2a feat(security,build): add COOP/COEP headers and improve PDF viewer initialization
- Add Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers to nginx.conf for enhanced security
- Create serve.json configuration file with security headers for local development
- Update npm scripts to use vite preview instead of serve package for consistency
- Fix PDF viewer file parameter handling to prevent fallback to default URL
- Enable annotation editor mode by default in PDF viewers (annotationEditorMode: 1)
- Improve PDF preference management by clearing conflicting annotation editor settings before loading
- Update iframe URL construction to use URL API for proper origin handling
- Refactor annotation viewer setup to use eventBus for stamp button activation instead of direct DOM manipulation
- Add localStorage preference configuration for signature editor and permissions in sign tool
- Enhance security posture by implementing COOP/COEP headers required for SharedArrayBuffer and cross-origin isolation
2025-11-18 11:13:03 +05:30
abdullahalam123 bdb85b013c fix: implement clone method for DrawingOptions and remove signature mode init
The clone method in DrawingOptions was previously unimplemented, now it properly creates a copy. Also removed unnecessary signature mode initialization in sign-pdf.ts as it's handled elsewhere.
2025-11-15 10:30:37 +05:30
abdullahalam123 ae8bd3a004 feat(signature): add font and color customization for typed signatures
feat(stamps): implement new add stamps tool with image stamp support

fix(form-filler): improve form filler UI and XFA form support

refactor(sign-pdf): improve signature tool initialization and error handling

style(ui): update text color for better visibility in dark mode

chore: update navigation links to use root-relative paths
2025-11-14 20:35:43 +05:30
abdullahalam123 c31704eb0e feat(form-filler): enable XFA support and use original file bytes
Use original file bytes instead of saved PDF doc to preserve XFA streams. This ensures PDF.js can fully render XFA-based forms by also enabling the XFA flag in the viewer.
2025-11-14 13:24:50 +05:30
abdullahalam123 ba669a8952 build(pdfjs-annotation-viewer): add binary font and cmap files for PDF rendering
feat(pdfjs-annotation-viewer): add various SVG icons for UI components
2025-11-14 13:05:22 +05:30
abdullahalam123 68561b28b7 feat(pdfjs-viewer): add initial PDF.js viewer assets and configuration
Add initial set of PDF.js viewer files including:
- WASM binaries for PDF rendering
- Standard fonts and CMAP files for text rendering
- UI icons and SVG assets for toolbar buttons
- TypeScript declaration files
- Loading animation GIF
- Annotation icons and UI elements

This provides the base functionality for the PDF viewer including:
- Document rendering
- Navigation controls
- Zoom functionality
- Page display options
- Annotation tools
- Document properties
2025-11-14 10:12:53 +05:30
abdullahalam123 4125302d01 Release v1.5.1 2025-11-10 23:35:45 +05:30
abdullahalam123 9704e8ab96 resolve-multi-tool-path 2025-11-10 23:35:40 +05:30
abdullahalam123 f0c6b1e562 refactor(styles): move inline css to separate bookmark.css file 2025-11-07 12:30:26 +05:30
abdullahalam123 9bd193cd9d Release v1.2.0 2025-11-07 11:11:49 +05:30
abdullahalam123 b8cd43c9ec Merge branch 'bookmarks' 2025-11-07 11:11:10 +05:30
abdullahalam123 400ec9aadf style(ui): update color scheme and fix styling inconsistencies
- Change grey to gray for consistency in CSS class names
- Update page title and add favicon
- Improve button and background colors for better contrast
- Fix mobile menu script path
2025-11-07 11:10:22 +05:30
abdullahalam123 f40108627e feat(pdf-viewer): add zoom controls and improve destination picking
- Add zoom in/out/fit buttons with indicator
- Improve destination picking with coordinate display and PDF coordinate conversion
- Enhance page rendering with device pixel ratio support
- Add visual feedback for bookmark destinations
2025-11-07 10:46:39 +05:30
abdullahalam123 e64215a022 feat(bookmark): improve PDF bookmark extraction logic
enhance named destinations handling to support full name-tree traversal
add fallback page index resolution for better compatibility
fix parent-child relationship handling for zero-page bookmarks
2025-11-07 09:31:57 +05:30
abdullahalam123 ad49adb744 feat(bookmark-pdf): improve bookmark extraction with reference resolution
add helper functions to resolve PDF object references and handle named destinations
implement more robust page index finding and destination resolution
refactor traversal logic to use resolved references consistently
2025-10-28 01:24:34 +05:30
abdullahalam123 090146c600 feat(bookmark): improve pdf bookmark tool ui with dark mode and drag-drop
- Add dark mode styling to the bookmark tool page
- Implement drag-and-drop file upload zones for PDF, CSV and JSON
- Enhance file input UI with icons and better visual feedback
- Fix formatting and whitespace issues in multiple files
2025-10-27 22:35:49 +05:30
abdullahalam123 72e74d2a62 feat(pdf-tools): add bookmark pdf tool and lucide icons integration
- Add 'bookmark-pdf' to singlePdfLoadTools
- Create new lucide-init.ts for icon initialization
- Update HTML files to use local lucide initialization
- Add bookmark.html page with full bookmark editor functionality
- Update tools config to include bookmark tool
- Modify main.ts to handle tool cards with href links
2025-10-27 22:01:36 +05:30
abdullahalam123 72688cde4c Release v1.1.5 2025-10-25 15:05:42 +05:30
abdullahalam123 da6610fa65 docs: update GitHub repo URL and improve security docs formatting
Update the GitHub repository URL in release.js to point to the correct organization.
Improve formatting in SECURITY.md by adding newlines before code blocks and fixing YAML indentation for better readability.
Implement non root user for running BentoPDF
2025-10-25 15:05:36 +05:30
abdullahalam123 d3fb7e6330 Release v1.1.4 2025-10-25 13:45:15 +05:30
abdullahalam123 b3bccb48f1 docs: update project license from Apache 2.0 to GNU AGPLv3 2025-10-25 13:45:08 +05:30
abdullahalam123 89f422b2af Release v1.1.3 2025-10-24 23:31:30 +05:30
abdullahalam123 12753349ec fix(decrypt): remove redundant password trim check and empty file condition
test(pdf-tools): update expected tool count to 41
2025-10-24 23:31:25 +05:30
abdullahalam123 f3e7ef25fa Release v1.1.2 2025-10-24 13:42:18 +05:30
abdullahalam123 ba20536436 feat(pdf-tools): add remove-restrictions tool for unlocking pdfs
Implement new feature to remove security restrictions from PDFs including password protection and digital signature limitations. The tool allows users to unlock PDFs they have legitimate access to for editing and printing purposes. Includes UI components, error handling, and legal disclaimer about proper usage.
2025-10-24 13:42:09 +05:30
abdullahalam123 e3468e3aaa refactor(qpdf): move initialization logic to helpers module
Consolidate qpdf initialization code into helpers.ts to avoid duplication
Improve error message for password protected PDFs
Fortify encryption logic by auto-filling owner password when empty
2025-10-24 11:37:15 +05:30
abdullahalam123 e0d3075609 feat(permissions): rewrite pdf permission handling using qpdf-wasm
- Replace PDFKit with qpdf-wasm for more reliable encryption and permission handling
- Improve error handling for password-related cases
- Update UI text and styling for better clarity
- Add support for additional permission controls (page extraction)
- Optimize performance by removing page-by-page rendering
2025-10-24 00:47:39 +05:30
abdullahalam123 466646d15b feat(pdf): implement qpdf-wasm for secure encryption/decryption
- Replace PDFKit with qpdf-wasm for more robust and secure PDF encryption/decryption
- Add support for owner password and granular permission controls
- Improve UI with better security explanations and options
2025-10-24 00:11:18 +05:30
abdullahalam123 be6c15fef2 Release v1.1.1 2025-10-22 21:37:10 +05:30
abdullahalam123 d5a15bce78 remove(simpleanalytics): remove simple analytics for self hosted version
feat(fonts): replace google fonts with self-hosted fontsource packages

Add fontsource packages for all fonts previously loaded from Google Fonts.
Remove google fonts CDN links and update CSS to use local font imports.
This improves privacy by removing external dependencies and tracking.
2025-10-22 21:37:03 +05:30
abdullahalam123 3cbbc42434 Release v1.1.0 2025-10-22 15:20:12 +05:30
abdullahalam123 06c36a590b chore: update config files, icons and readme
- Update FUNDING.yml formatting
- Remove debug log in sanitize-pdf.ts
- Adjust test expectation for tool count
- Standardize dependabot.yml quotes
- Update tool icons in config
- Expand and reorganize README features list
- Fix markdown formatting in README
2025-10-22 15:19:44 +05:30
abdullahalam123 de3c2fecc2 fix(sanitize-pdf): improve link removal and add named destinations cleanup
- Refactor link annotation removal logic to handle more action types (URI, Launch, GoTo, GoToR)
- Add cleanup of named destinations in catalog and names dictionary
- Improve error handling and logging throughout the sanitization process
2025-10-22 15:03:24 +05:30
abdullahalam123 b7de4bf1ed fix(sanitize-pdf): remove javascript actions, external links and font files
- Remove JavaScript actions from annotations and form fields
- Remove external links (URI, Launch, GoTo) from annotations
- Remove embedded font files while preserving font descriptors
- Add detailed error logging for each operation
2025-10-22 14:39:16 +05:30
abdullahalam123 e0e5d50240 feat(pdf-tools): add sanitize-pdf tool for comprehensive document cleaning
Implement a new PDF sanitization tool that allows users to remove various potentially sensitive elements from PDFs including metadata, annotations, JavaScript, embedded files, and more. The tool provides configurable options through checkboxes to selectively remove different types of content while preserving the core document structure.

Extract reusable utility functions from existing tools (remove-metadata, remove-annotations, flatten) to support the new sanitization feature. The tool handles edge cases gracefully and provides feedback when no changes are made.
2025-10-22 13:15:22 +05:30
abdullahalam123 05de28d791 docs: add GitHub sponsorship and 2025-10-21 18:14:57 +05:30
abdullahalam123 0403a9665f Release v1.0.2 2025-10-21 14:45:33 +05:30
abdullahalam123 0ddf54cba3 build: downgrade cropperjs from v2.1.0 to v1.6.1
The newer version introduced breaking changes with additional dependencies that aren't needed for our use case. Reverting to the more stable v1.6.1 which provides the required functionality without the extra complexity.
2025-10-21 14:45:22 +05:30
abdullahalam123 3fc873d343 Release v1.0.1 2025-10-21 13:39:27 +05:30
abdullahalam123 739dac55ee feat(file-handler): improve metadata display and XMP parsing
- Add new formatIsoDate helper for human-readable dates
- Enhance PDF info dictionary display with better null handling
- Implement structured XMP metadata parsing with formatted output
- Improve error handling for metadata processing
2025-10-21 13:38:54 +05:30
abdullahalam123 bf57f36cb5 docs: add initial changelog file to track project changes 2025-10-20 19:40:10 +05:30
abdullahalam123 6ad6a7d730 Release v1.0.0 2025-10-20 18:52:28 +05:30
abdullahalam123 0e7c53560a feat(ocr): add whitelist presets and improve UI for OCR tool
refactor: format code and improve mobile menu accessibility
style: fix whitespace and formatting in multiple files
docs: update documentation with better formatting and examples
2025-10-20 18:51:49 +05:30
abdullahalam123 59b351eee4 Release v0.0.1 2025-10-20 18:32:20 +05:30
abdullahalam123 88e05e6713 feat(pdf-tools): add attachments feature to embed files in PDFs
Implement new functionality to allow embedding attachments into PDF documents. The feature includes:
- UI for selecting PDF and files to attach
- Logic to embed files while preserving metadata
- Display of attached files with size information
- Download of modified PDF with embedded files
2025-10-19 15:02:27 +05:30
abdullahalam123 8a494c0a01 feat(pdf-tools): add linearize pdf tool for web optimization
Add new linearize PDF tool that optimizes PDFs for fast web viewing using qpdf-wasm. Includes UI components, logic implementation, and test updates. The tool processes multiple PDFs and downloads them in a ZIP archive.
2025-10-19 13:59:25 +05:30
abdullahalam123 d98e18b51f build(docker): add docker-compose.dev.yml and update docker-compose.yml
Add development docker-compose configuration and switch production config to use pre-built image
docs: update README with improved setup instructions and new features
2025-10-17 21:27:25 +05:30
abdullahalam123 cc83d7951f refactor: fix type errors and improve type safety in PDF logic
- Add proper type assertions for DOM element properties
- Remove unused md-to-pdf feature
- Fix type errors in various PDF manipulation functions
- Improve type safety for HTML element interactions
2025-10-17 15:01:48 +05:30
abdullahalam123 48baad9bf9 feat(pdf-tools): add alternate merge tool for mixing pdf pages
Implement new tool that allows users to combine PDFs by alternating pages from each document. Includes UI components, logic for processing, and test coverage.

- Add new tool to configuration arrays and categories
- Create UI with drag-and-drop file ordering
- Implement core logic for alternating pages
- Add comprehensive unit tests
2025-10-16 12:35:43 +05:30
abdullahalam123 39080c800f feat: add remove blank pages tool with sensitivity control
Implement new tool to detect and remove blank pages from PDFs with configurable sensitivity. Includes UI with preview functionality and comprehensive tests.
2025-10-15 23:34:53 +05:30
abdullahalam123 1cf40d9328 docs: add issue and pull request templates
Add standardized templates for GitHub issues and pull requests to improve contribution consistency. The templates guide users to provide necessary details when reporting bugs, requesting features, or submitting code changes.
2025-10-15 12:57:38 +05:30
abdullahalam123 23e414a8be test: update expected tool count in pdf-tools test 2025-10-15 11:55:25 +05:30
abdullahalam123 f682986c29 Merge branch 'main' into posterize 2025-10-15 11:23:48 +05:30
abdullahalam123 1424540081 fix: add mjs MIME type to nginx configuration
Ensure proper handling of JavaScript modules with .mjs extension by adding the correct MIME type
2025-10-14 15:40:56 +05:30
abdullahalam123 bbe2283611 feat(posterize): enhance posterize tool with page navigation and auto orientation
- Add page navigation controls to preview different pages
- Implement automatic orientation detection based on page dimensions
- Improve grid overlay rendering to only show for selected pages
- Cache page snapshots for better performance
2025-10-14 14:35:38 +05:30