Commit Graph

295 Commits

Author SHA1 Message Date
alam00000
ecfa571215 feat: add PDF overlay and underlay functionality 2026-04-01 18:11:36 +05:30
alam00000
9d0b68e18c Refactor and enhance type safety across various modules
- Updated function parameters and return types in `page-preview.ts`, `pdf-decrypt.ts`, and `pymupdf-loader.ts` for improved type safety.
- Introduced type definitions for `CpdfInstance`, `PyMuPDFInstance`, and other related types to ensure better type checking.
- Enhanced error handling in `sanitize.ts` by creating a utility function for error messages.
- Removed unnecessary type assertions and improved type inference in `editor.ts`, `serialization.ts`, and `tools.test.ts`.
- Added type definitions for markdown-it plugins to improve compatibility and type safety.
- Enforced stricter TypeScript settings by enabling `noImplicitAny` in `tsconfig.json`.
- Cleaned up test files by refining type assertions and ensuring consistency in type usage.
2026-03-31 17:59:49 +05:30
alam00000
fefc433e0b fix: update nginx image version and add ignoreEncryption flag in pdf decrypt tests 2026-03-31 11:51:25 +05:30
alam00000
a617279c2d feat: add support for disabling specific features in the PDF Editor 2026-03-29 23:02:58 +05:30
alam00000
245b48464b feat: add error handling for flattening PDF forms and annotations 2026-03-29 20:29:46 +05:30
alam00000
9a7cf1636b feat: add support for disabling specific tools in self-hosting
- Introduced build-time and runtime options to disable tools for compliance or security.
- Updated documentation to include instructions for disabling tools in Docker and Kubernetes setups.
- Added translations for disabled tool messages in multiple languages.
- Implemented logic to filter out disabled tools from the toolbox and shortcuts in the application.
- Created utility functions to manage disabled tools configuration.
2026-03-28 23:45:17 +05:30
Alam
59ebb4d358 Merge pull request #604 from lukasstorck/main
fix: in bookmarks editor focus cancel- or ok-button for opened confirm and alert modals
2026-03-28 21:17:33 +05:30
alam00000
dd36fdde7a fix: ensure correct input type for SHA-256 hashing in tests 2026-03-27 13:47:08 +05:30
alam00000
86c8086979 refactor: replace PDFDocument.load with loadPdfDocument utility in TimestampNode 2026-03-27 13:27:58 +05:30
Alam
a90f74c719 Merge pull request #576 from InstaZDLL/feat/timestamp-pdf
feat: add Timestamp PDF tool with RFC 3161 support
2026-03-27 11:03:57 +05:30
alam00000
bd44108296 feat: add PDF password prompt and centralized pdf-lib loader with auto-repair 2026-03-26 14:42:48 +05:30
alam00000
9278774b8a - Refactor PDF loading across workflow nodes to use loadPdfDocument utility
- Replaced direct calls to PDFDocument.load with loadPdfDocument in multiple nodes to standardize PDF loading process.
2026-03-26 13:40:21 +05:30
alam00000
9d362b1cf8 feat: enable loading of encrypted PDFs by adding ignoreEncryption option 2026-03-26 12:55:50 +05:30
alam00000
1dbf907eeb Add password prompt functionality and tests while uploading encrypted PDF 2026-03-26 12:11:12 +05:30
alam00000
f88f872162 feat: implement filename deduplication utility and integrate across multiple file conversion modules 2026-03-24 20:36:56 +05:30
Lukas
3f5298d1e7 fix: use HTMLElement type for previous active elment 2026-03-24 13:25:30 +01:00
Lukas
a5c853891f fix: focus cancel or ok button on confirm and alert modals
when opening the modal:
- remember previously focused element
- set focused element to the ok or cancel button

when closing the modal:
- restore the focus to the previously focused element
2026-03-24 12:52:57 +01:00
alam00000
6e227a3aa4 feat: add tests for comic info generation functions 2026-03-24 14:58:36 +05:30
alam00000
e3216dddc5 feat: add PDF to CBZ conversion tool with metadata support
- Updated main.ts to include 'PDF to CBZ' in the tools list.
- Added new types for CBZ options and comic metadata in pdf-to-cbz-type.ts.
- Implemented comic-info utility functions for generating ComicInfo.xml and metadata OPF files.
- Created pdf-to-cbz.html page with UI for PDF to CBZ conversion, including options for image format, quality, and metadata.
- Updated vite.config.ts to route to the new PDF to CBZ page.
2026-03-24 14:55:51 +05:30
alam00000
3ca19af354 feat: add TIFF conversion options and integrate wasm-vips for image processing
- Updated README.md to include new dependencies: wasm-vips, pixelmatch, diff, and microdiff.
- Added wasm-vips to package.json and package-lock.json for advanced TIFF encoding.
- Enhanced localization files with new options for DPI, compression, color mode, and multi-page TIFF saving.
- Implemented UI changes in pdf-to-tiff.html to allow users to select DPI, compression type, color mode, and multi-page options.
- Refactored pdf-to-tiff-page.ts to utilize wasm-vips for TIFF encoding, replacing previous UTIF implementation.
- Introduced TiffOptions interface in pdf-to-tiff-type.ts for better type management.
- Updated Vite configuration to exclude wasm-vips from dependency optimization.
2026-03-24 13:24:50 +05:30
Alam
b732ee7925 Merge pull request #565 from Skillkiller/translate-pdf-to-image
Implement missing i18n translations for PDF-to-Image modules
2026-03-24 11:55:11 +05:30
Sebastian Espei
6d19c5f2e4 Revert formatting churn in signing pages 2026-03-24 01:56:53 +01:00
Lukas
252ebf962d feat: add page up/down hotkeys for quick bookmark input 2026-03-22 13:05:48 +01:00
alam00000
37b5956bd5 feat: add option to opt out of embedding full fonts in OCR settings 2026-03-21 16:39:51 +05:30
alam00000
8bf52b9ef1 feat: implement annotation flattening functionality and add tests 2026-03-17 22:46:13 +05:30
alam00000
6c0e9c7232 feat: enhance PDF comparison with overlay options and filters 2026-03-16 21:47:35 +05:30
alam00000
477839f106 feat: add "Add Page Labels" tool to the application
- Introduced a new tool for adding page labels to PDF documents, allowing users to apply Roman numerals, prefixes, and custom numbering ranges.
- Created a new HTML page for the tool with a user-friendly interface for file upload and label rule configuration.
- Implemented logic for handling file uploads, processing PDF files, and applying page labels based on user-defined rules.
- Added necessary types and utility functions for managing page label styles and normalization of start values.
- Updated main application configuration to include the new tool in the navigation.
- Added tests for page label utilities to ensure correct functionality.
2026-03-16 14:34:27 +05:30
InstalZDLL
0a718dac8f fix: address CodeRabbit review feedback on tests
- digital-sign-pdf.test.ts: stub VITE_CORS_PROXY_URL and
  VITE_CORS_PROXY_SECRET env vars for test isolation
- timestamp-node.test.ts: replace regex-only test with actual data()
  method tests covering timestampPdf call, output filename suffix,
  and error wrapping with TSA context
2026-03-15 15:58:43 +01:00
InstalZDLL
969b74dfb5 test: add timestampPdf signature tests with sample.pdf
Test the timestampPdf() function using the real sample.pdf (SHA256 verified).
PdfSigner is mocked to avoid network calls while validating:
- Correct signdate/TSA URL passed to PdfSigner
- PDF bytes forwarded to signer.sign()
- Uint8Array returned from signed result
- Error propagation from TSA failures
- Multiple TSA URL support
- Original PDF bytes not mutated
2026-03-15 15:44:55 +01:00
InstalZDLL
1569b66d5c test: add unit tests for timestamp PDF feature
Add 31 tests across 3 test files covering:
- TSA preset configuration (uniqueness, valid URLs, known providers)
- Timestamp PDF page logic (file validation, output naming, UI state, drop zone)
- TimestampNode workflow node (category, icon, description, presets)
2026-03-15 15:34:14 +01:00
alam00000
31f43b557f feat: add transparent background option for form fields 2026-03-15 19:52:48 +05:30
Alam
b107acb00c Merge pull request #555 from xtotdam/russian_translation
add Russian translation
2026-03-15 19:36:04 +05:30
alam00000
47c1be6df1 refactor pdf decrypt 2026-03-15 14:29:30 +05:30
InstalZDLL
70f0834fc0 fix: address CodeRabbit review feedback
- Handle Headers instance in TSA request detection (not just plain objects)
- Wrap timestampPdf with createCorsAwareFetch for OCSP/cert chain requests
- Pass 'success' type to showAlert on successful timestamp
- Add TSA URL context to timestamp error messages with cause
- Remove redundant Uint8Array wrapping in TimestampNode
2026-03-15 00:46:47 +01:00
InstalZDLL
dfd0ebcfc5 feat: add Timestamp PDF tool with RFC 3161 support
Add document timestamping to the Secure PDF section using RFC 3161
protocol. Users can select from preset TSA servers (DigiCert, Sectigo,
SSL.com, Entrust, FreeTSA) or enter a custom TSA URL. No personal
certificate is required — only a cryptographic hash is sent to the server.

Key changes:
- Timestamp PDF page with TSA server selector, FAQ and SEO structured data
- timestampPdf() function with CORS proxy URL resolution
- TimestampNode for the workflow engine
- Tool entry in Secure PDF category + homepage i18n
- Built-in CORS proxy middleware for dev/preview
- Translations for all 16 languages

Tested with DigiCert, Sectigo and Entrust TSA servers. Timestamps are
verifiable in Adobe Acrobat (ETSI.RFC3161 SubFilter).
2026-03-15 00:30:53 +01:00
xtotdam
cb4db2d762 fix rabbitai bot suggestions 2026-03-14 14:48:49 +03:00
alam00000
77da6d7a7d feat: integrate Tesseract.js with improved language availability and font handling
- Refactored OCR page recognition to utilize a configured Tesseract worker.
- Added functions to manage font URLs and asset filenames based on language.
- Implemented language availability checks and error handling for unsupported languages.
- Enhanced PDF workflow to display available OCR languages and handle user selections.
- Introduced utility functions for resolving Tesseract asset configurations.
- Added tests for OCR functionality, font loading, and Tesseract runtime behavior.
- Updated global types to include environment variables for Tesseract and font configurations.
2026-03-14 15:50:30 +05:30
alam00000
d7e06ce361 feat(i18n): enhance language detection from browser preferences and add tests 2026-03-13 19:20:37 +05:30
alam00000
e117ab93bd fix: form creator bug and added tests 2026-03-12 18:37:35 +05:30
YuF-9468
6b7eeea51a fix(form-creator): improve checkbox/radio resize constraints and cursors 2026-03-12 11:56:35 +08:00
alam00000
272a8cd038 fix: remove false highlights 2026-03-11 15:54:01 +05:30
Sebastian Espei
2ede256de2 Add localization for loading page count in various PDF processing pages 2026-03-10 20:13:13 +01:00
Sebastian Espei
571ce07af6 Add localization for PDF to BMP and PDF to TIFF conversion alerts and loader messages 2026-03-10 19:55:21 +01:00
Sebastian Espei
8d26378611 Add localization for PDF to WebP conversion alerts and loader messages 2026-03-10 19:52:38 +01:00
Sebastian Espei
37d95e249d Add localization for PDF to PNG conversion alerts and loader messages 2026-03-10 19:18:39 +01:00
Sebastian Espei
01c4d3bd7c Add localization for PDF to JPG conversion alerts and loader messages 2026-03-10 19:17:17 +01:00
Sebastian Espei
d5244649a3 Update imports according to the translation guidelines 2026-03-10 18:40:47 +01:00
Sebastian Espei
4f86960265 Add localization for image scale 2026-03-10 18:38:09 +01:00
Sebastian Espei
67e3887165 Add localization for image quality 2026-03-10 18:35:17 +01:00
Sebastian Espei
f1b03d076c Add localization for image quality 2026-03-10 18:31:27 +01:00