Commit Graph

146 Commits

Author SHA1 Message Date
abdullahalam123
85ce0c97b5 feat: implement PDF attachment extraction functionality with web worker support
- Added a new worker script to handle extraction of embedded attachments from PDF files.
- Created TypeScript definitions for the message structure and response types.
- Updated the main extraction logic to utilize the worker for improved performance and responsiveness.
- Integrated the extraction feature into the UI, allowing users to extract attachments as a ZIP file.
- Enhanced error handling and user feedback during the extraction process.
2025-11-11 11:13:06 +05:30
abdullahalam123
7e14c83ab8 refactor: streamline HTML structure and enhance UI components
- Cleaned up the HTML structure in index.html and pdf-multi-tool.html for better readability and maintainability.
- Improved the user interface of the PDF multi-tool with responsive button designs and better layout.
- Added new CSS styles for button states and cursor behavior.
- Updated README with corrected Docker deployment link.
- Refactored JavaScript logic to utilize new helper functions for formatting star counts.
- Commented out unused attachment functionalities in the logic files for future integration.
2025-11-10 21:54:41 +05:30
abdullahalam123
0634600073 feat: enhance PDF tools with new features and UI improvements
- Added 'Extract Attachments' and 'Edit Attachments' functionalities to manage embedded files in PDFs.
- Introduced new splitting options: by bookmarks and by a specified number of pages (N times).
- Updated the user interface to include new options and improved layout for better usability.
- Enhanced the GitHub link display with dynamic star count retrieval.
- Bumped version to 1.4.0 and updated footer to reflect the new version.
- Refactored existing code for better maintainability and added new TypeScript definitions for the new features.
2025-11-10 18:41:48 +05:30
abdullahalam123
0999163d3c feat: add JSON to PDF and PDF to JSON conversion tools
- Introduced new pages and logic for converting JSON files to PDF and vice versa.
- Implemented web workers for handling conversion processes in the background.
- Updated Vite configuration to include new HTML pages for the conversion tools.
- Enhanced user interface with file upload sections and status messages for conversion progress.
- Added TypeScript definitions for worker communication and response handling.
2025-11-08 15:19:56 +05:30
abdullahalam123
7a4a257438 remove-unsed-ts-expect-error 2025-11-08 13:35:08 +05:30
abdullahalam123
05b5181b3e refactor(toc): clean up HTML structure and comment out status message
- Simplified the HTML structure of the table of contents page by removing unnecessary comments and whitespace.
- Commented out the status message display in the TypeScript logic for file selection.
- Enhanced readability and maintainability of the code.
2025-11-08 13:23:57 +05:30
abdullahalam123
bc181c8c96 chore: update image sources and version bump to 1.2.0
- Changed image sources for GDPR, CCPA, and HIPAA compliance logos to local paths.
- Updated package version to 1.2.0 in package-lock.json.
- Enhanced README and SIMPLE_MODE documentation with Docker usage instructions.
- Improved table-of-contents worker and related TypeScript definitions for better clarity and functionality.
- Refactored CSS styles for consistency and improved UI elements.
2025-11-08 13:17:29 +05:30
abdullahalam123
661c030ae1 feat(toc): implement table of contents generation feature
- Added a new page for generating a table of contents from PDF bookmarks.
- Introduced a web worker to handle the TOC generation process in the background.
- Updated TypeScript definitions for coherentpdf integration.
- Enhanced the Vite configuration to include necessary headers and exclude specific dependencies.
- Modified tsconfig to include WebWorker library and updated file inclusion paths.
- Added a new script for handling TOC logic and user interactions.
2025-11-08 12:37:10 +05:30
abdullahalam123
f0c6b1e562 refactor(styles): move inline css to separate bookmark.css file 2025-11-07 12:30:26 +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
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
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
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
JAINAM576
929aa7e132 style: apply Prettier formatting to project 2025-10-21 12:01:19 +05:30
JAINAM576
2b85a759af fix(watermark): clear uploaded PDF and watermark inputs after download 2025-10-21 11:57:46 +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
Alam
ccb1b119c5 Merge pull request #58 from divy-11/feature/reverse-multi-pdfs
Feature/reverse multi pdfs
2025-10-20 18:14:58 +05:30
divy-11
4e6cc77a28 Removed new state pdfDocs
- update reverse-pages function
- updated test-case
2025-10-20 16:39:45 +05:30
Shirshendu R Tripathi
797d8f5b9d Fix#20 OCR pdf text not selectable 2025-10-19 22:13:49 +05:30
Shirshendu R Tripathi
ef7b9d0365 Fix#20 OCR pdf text not selectable 2025-10-19 22:12:51 +05:30
divy-11
2e2c634b41 Feat: Reverse-pages for mulit-pdf
- Added new state pdfDocs: [ ]
- Made tweaks for new state in fileHandler.ts
2025-10-19 18:36:57 +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
Keshav Singh
f8579fb291 feat: add support for multiple blank pages insertion 2025-10-18 11:14:04 +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
NanditaPatil-dotcom
f1d830d81d feat:Setup Prettier for code formatting 2025-10-17 11:37:32 +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
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
Nishant
ed2629e69b Fix(posterize): Resolve incorrect vertical tiling/cropping
The Y-axis calculation in the `posterize` function was backward for `pdf-lib`'s bottom-left origin, causing the resulting PDF tiles to display only the bottom portion of the content, leaving large empty crops.

Corrected the `y` coordinate calculation using `tileRowIndexFromBottom = rows - 1 - r` to properly map the top-to-bottom loop index to the required bottom-up positioning.
2025-10-14 12:20:04 +05:30
abdullahalam123
0c1351adc5 feat(pdf-tools): add posterize tool to split pages into grid
Add new posterize feature that allows splitting PDF pages into a grid of smaller pages. The tool includes:
- Configurable rows and columns
- Page size and orientation options
- Content scaling modes
- Overlap settings for assembly
- Page range selection
2025-10-14 11:40:22 +05:30
abdullahalam123
3f90e5ed8d feat(docker): add docker configuration files and update styles
refactor: convert script tags to link tags for stylesheets in HTML files
fix: update PDF download to use Uint8Array for blob creation
style: reformat CSS file for better readability and organization
2025-10-12 18:23:13 +05:30
abdullahalam123
5e72d7ca2d feat(test): add comprehensive test suite and testing infrastructure
- Add vitest configuration with coverage reporting
- Create test setup file with DOM mocks
- Add tests for state management, helpers, and tool configurations
- Update tsconfig and package.json for testing support
- Clean up unused comments and improve code style
2025-10-12 17:47:08 +05:30
abdullahalam123
47f4818e25 refactor(file-handler): replace innerHTML with DOM methods for safer rendering
refactor(form-filler): improve form field creation with DOM methods
refactor(compare-pdfs): use textContent instead of innerHTML
refactor(duplicate-organize): replace innerHTML with DOM methods
style(main): remove commented start app line
feat(config): add pdf-tools config file with tool categories
2025-10-12 12:51:54 +05:30
abdullahalam123
671297320e feat: add initial project setup with core PDF tools and utilities
- Implement core PDF manipulation tools (split, merge, convert, etc.)
- Add state management and UI utilities
- Set up build configuration with Vite and TailwindCSS
- Include essential dependencies for PDF processing
- Add gitignore and basic project configuration files
2025-10-12 11:55:45 +05:30