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.
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
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.
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
- 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.
- 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.
- 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.
- Added custom CSS to hide scrollbars for better aesthetics in the toolbar.
- Updated button styles for improved responsiveness and consistency across different screen sizes.
- Enhanced layout and spacing for toolbar elements and upload area for a cleaner user experience.
- Adjusted text sizes and padding for better readability and usability.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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
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
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
- 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
- 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
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.
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
- 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
- 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
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.
- 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
- 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
- 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
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.
- 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
refactor: format code and improve mobile menu accessibility
style: fix whitespace and formatting in multiple files
docs: update documentation with better formatting and examples