Commit Graph

309 Commits

Author SHA1 Message Date
alam00000
bfe4e5b663 feat: make Docker container port configurable via PORT env var
fix: preserve original filename when downloading processed files
2026-04-05 13:44:16 +05:30
Alam
23602bc8db Merge pull request #617 from Skillkiller/fix-version-inline
Embed static app version in HTML via Vite at build time
2026-04-04 13:24:07 +05:30
alam00000
38c42fd197 fix: auto orientation in Fix Page Size now matches source page layout and add tests 2026-04-04 13:16:27 +05:30
alam00000
4efab56e48 fix: handle multi-channel TIFF formats and add compression options
Add PDF quality selector (high/medium/low) with JPEG compression.
2026-04-04 13:09:22 +05:30
alam00000
12677f1647 refactor: copy original pages in OCR instead of embedding rasterized PNGs 2026-04-04 12:51:55 +05:30
Sebastian Espei
fa8bd1c525 refactor: remove version scripts from overlay html page 2026-04-03 18:33:59 +02:00
Sebastian Espei
bd8ebfebcb Merge branch 'main' into fix-version-inline 2026-04-03 00:06:39 +02:00
alam00000
ecfa571215 feat: add PDF overlay and underlay functionality 2026-04-01 18:11:36 +05:30
Sebastian Espei
1cbb8e487b Merge branch 'main' into fix-version-inline 2026-03-31 20:51:18 +02:00
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
Sebastian Espei
882f135abc fix: remove unused APP_VERSION import 2026-03-30 02:04:39 +02:00
Sebastian Espei
e22229475a refactor: remove version scripts from html pages 2026-03-30 01:56:06 +02:00
Sebastian Espei
7e7409de08 fix: remove unused APP_VERSION import from simple-mode-footer 2026-03-30 01:47:29 +02:00
Sebastian Espei
1d747ffcef fix: add version display internationalization support from footer.html 2026-03-30 01:38:55 +02:00
Sebastian Espei
b19c68c284 feat: update footer embed app version during build 2026-03-30 01:36:34 +02:00
Sebastian Espei
2bdacb7507 refactor: remove version update script and related version handling code 2026-03-30 01:34:54 +02:00
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