Commit Graph

146 Commits

Author SHA1 Message Date
cxllxc
ab122e19df feat: Add internationalization support and introduce a new PDF multi-tool. 2025-12-12 12:54:06 +00:00
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
Sebastian Espei
a25ec05e17 Merge remote-tracking branch 'origin/main' into pdf-to-image-direct-image 2025-12-06 00:52:30 +01:00
Sebastian Espei
3d59dea821 feat(pdf-to-webp): show processing in loader message 2025-12-06 00:26:34 +01:00
Sebastian Espei
35e7281bc3 feat(pdf-to-tiff): show processing in loader message 2025-12-06 00:26:29 +01:00
Sebastian Espei
1637ed6b44 feat(pdf-to-png): show processing in loader message 2025-12-06 00:26:22 +01:00
Sebastian Espei
ac32e09fe9 feat(pdf-to-jpg): show processing in loader message 2025-12-06 00:26:14 +01:00
Sebastian Espei
650ff1fca5 feat(pdf-to-bmp): add yieldToUI 2025-12-06 00:25:46 +01:00
Sebastian Espei
09c554a3e6 feat(pdf-to-jpg): fix wrong indentation 2025-12-06 00:21:03 +01:00
Sebastian Espei
9602fef1e8 feat(pdf-to-bmp): add yieldToUI 2025-12-06 00:17:15 +01:00
Sebastian Espei
cc926d0b07 feat(pdf-to-bmp): update single-page processing message 2025-12-06 00:14:06 +01:00
Pavel Akhrameev
e831a477d2 Change image embedding from PNG to JPEG format
using PNG increased filesize from ~60 MB to ~112 MB. That's too much. May require some "quality" parameter adjustment.
2025-12-05 04:29:40 +04:00
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
649aec046d feat(ocr,form-creator): Add comprehensive font support and TypeScript type definitions
- Add @pdf-lib/fontkit dependency for enhanced font rendering capabilities
- Create font-mappings.ts configuration with language-to-font-family mappings for 100+ languages
- Implement font-loader.ts utility for dynamic font loading from CDN sources
- Add TypeScript type definitions for form-creator, OCR, and general application types
- Create types/index.ts as centralized type exports
- Remove hidden-on-touch CSS class and update shortcuts button styling for better accessibility
- Update OCR text layer rendering to support multilingual font families
- Enhance form-creator with improved font handling for international text
- Update txt-to-pdf with font support for diverse character sets
- Migrate fileHandler to support new font loading workflow
- Update main.ts and ui.ts to integrate new type system and font utilities
- Update form-creator.html page with enhanced font configuration UI
2025-12-03 23:13:14 +05:30
Sebastian Espei
d2769a02f5 feat(pdf-to-image): simplify get clean filename 2025-12-02 22:07:25 +01:00
Sebastian Espei
3fcf9757f7 feat(pdf-to-jpg): direct download resulting image and adjust filename 2025-12-02 21:31:19 +01:00
Sebastian Espei
59510899bb Merge remote-tracking branch 'origin/main' into pdf-to-image-direct-image 2025-12-02 21:17:20 +01:00
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
Sebastian Espei
33ebcf4479 feat(pdf-to-webp): direct download resulting image and adjust filename 2025-12-01 00:56:14 +01:00
Sebastian Espei
30b16a6bf1 feat(pdf-to-tiff): direct download resulting image and adjust filename 2025-12-01 00:46:38 +01:00
Sebastian Espei
b29395a011 feat(pdf-to-bmp): direct download resulting image and adjust filename 2025-11-30 23:57:04 +01:00
Sebastian Espei
e5cd2e6ab5 feat(pdf-to-png): direct download resulting image and adjust filename 2025-11-30 23:45:27 +01:00
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
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
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
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
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
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
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
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
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
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
05e8f6cfde feat(form-filler): enhance PDF upload handling and download functionality
Updated the form-filler logic to bypass pdf-lib for XFA forms, utilizing PDF.js for rendering. Added UI elements for form-filler options and improved the process button functionality. Enhanced the download process by implementing checks for the download button in the viewer, providing better user feedback and error handling.
2025-11-15 22:33:09 +05:30
abdullahalam123
ab651a5970 feat(pdfjs-viewer): enhance form viewer with print functionality and XFA support
Added a print button to the PDF viewer for direct printing. Implemented a scripting manager to handle XFA forms, ensuring proper rendering and interaction. Updated form-filler logic to support XFA detection and improved error handling for unsupported save operations. Refactored file handling to streamline PDF loading and viewer initialization.
2025-11-15 22:09:17 +05:30
abdullahalam123
9ee8225114 fix(pdfjs-annotation-viewer): initialize konvaClientRect dimensions and add HASH_PARAMS implementation
Updated the pdfjs-annotation-extension-testdata.json to set default dimensions for konvaClientRect to zero. Added a HASH_PARAMS implementation in viewer.html to handle hash parsing, ensuring compatibility with the pdfjs-annotation-extension bundle and preventing runtime errors.
2025-11-15 20:25:30 +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
cb53370a26 Update version to 1.6.2 and enhance navigation links across HTML pages
- Updated version number in package-lock.json and relevant HTML files.
- Changed navigation links to point to the root path for consistency.
- Improved code formatting and structure in various JavaScript and HTML files for better readability.
2025-11-13 11:26:40 +05:30
abdullahalam123
842d940801 feat: implement PDF attachment editing functionality with web worker support
- Added a new worker script to handle editing of embedded attachments in PDF files.
- Created TypeScript definitions for message structures and response types related to attachment editing.
- Updated the main logic to utilize the worker for improved performance and responsiveness during attachment management.
- Integrated the editing feature into the UI, allowing users to view, remove, or replace attachments in their PDFs.
- Enhanced error handling and user feedback during the editing process.
2025-11-11 12:21:11 +05:30