Commit Graph
76 Commits
Author SHA1 Message Date
OctoBored dbcb9cc153 Fix broken star history chart in README
The star history chart in the README was broken due to GitHub stargazer API restrictions. Update the chart to use a working data source so it displays correctly again.
2026-08-17 06:28:34 +00:00
alam00000 866ecfed2d Add support for disabling GitHub star counter at build time 2026-08-14 14:41:44 +05:30
alam00000 ac3ad68b56 chore: remove FOSS demo section from README 2026-06-03 23:35:34 +05:30
alam00000 58a0053778 fix(nginx): tighten routing + add SEO redirects
fix(seo): canonical -> English for localized pages
docs: reframe Self-Hosted vs Commercial builds + Common Issues
2026-05-15 12:13:37 +05:30
alam00000 b4779bb49b feat: enhance sanitization 2026-04-17 23:40:39 +05:30
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
alam00000 bd654a8bb6 feat: add FOSS Hack 2026 demo link to README 2026-03-31 22:12:05 +05:30
alam00000 54ed64d326 feat: update commercial license price to $79 2026-03-30 23:31:04 +05:30
alam00000 a617279c2d feat: add support for disabling specific features in the PDF Editor 2026-03-29 23:02:58 +05:30
alam00000 ba179c4b57 feat: add documentation for disabling specific tools in self-hosting 2026-03-28 23:55:30 +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 b107acb00c Merge pull request #555 from xtotdam/russian_translation
add Russian translation
2026-03-15 19:36:04 +05:30
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 58c78b09d2 docs: update self-hosting documentation with secure context requirements for Office file conversion 2026-03-13 23:32:52 +05:30
xtotdam 73795dbe13 add Russian translation 2026-03-08 15:51:11 +03:00
Alam 255d8402c2 Merge pull request #553 from iegl3/fix/docs-and-footer-consistency
fix correct locale path in translation guide, add missing link attributes in footer, fix wasm version in readme
2026-03-08 14:15:12 +05:30
iegl3 0cf546ab51 fix: correct locale path in translation guide, add missing link attributes in footer, fix wasm version in readme
- TRANSLATION.md: Spanish example incorrectly referenced fr/ locale path instead of es/

- footer.html: Instagram and LinkedIn links were missing target=_blank and rel=noopener noreferrer, unlike the other social links

- README.md: air-gapped manual steps referenced pymupdf-wasm@0.11.14 but the current default is 0.11.16
2026-03-08 07:16:47 +07:00
the0807 1401b9ee15 add Korean (ko) translation 2026-03-08 00:35:28 +09:00
alam00000 957b78fafd fix: revert cropperjs dependency to version 1.6.2 and adjust Docker build commands for CORS proxy secrets 2026-03-01 21:29:13 +05:30
alam00000 88260c26ab Refactor color input fields and enhance watermark functionality
- Updated color input fields in various HTML pages to remove unnecessary classes for improved styling consistency.
- Modified the watermark node to include options for positioning and flattening watermarks.
- Enhanced the addTextWatermark function to support customizable positioning and page selection for watermarks.
- Added new controls for text and image watermarks in the UI, allowing users to specify text, font size, color, opacity, angle, and image scaling.
- Updated the WASM provider to use the latest version of pymupdf-wasm.
2026-02-26 19:40:22 +05:30
alam00000 3cae20a10c feat: add Bates numbering tool with PDF processing capabilities
- Implemented bates-numbering-page.ts for handling Bates numbering logic.
- Created a new HTML page for Bates numbering functionality.
- Added style presets and file handling for multiple PDF uploads.
- Integrated user interface elements for file selection, style customization, and preview.
- Enhanced main.ts to support collapsible categories and compact mode for tool grid.
- Updated types for Bates numbering in bates-numbering-type.ts.
- Registered the new tool in tools.html and updated routing in vite.config.ts.
2026-02-21 14:05:48 +05:30
alam00000 e6c8eaf23c fix: improve CORS proxy handling and update documentation for certificate fetching 2026-02-20 16:07:38 +05:30
alam00000 dc0f3b30ad add: tools to readme 2026-02-14 21:55:15 +05:30
alam00000 3cf435d59d feat: add custom branding, air-gapped deployment script, and updated self-hosting docs 2026-02-14 21:41:45 +05:30
alam00000 75b1d67fbd feat: add support for default UI language configuration and non-root Dockerfile 2026-02-13 13:45:11 +05:30
alam00000 93e26ea178 fix: WASM CDN defaults bypass Docker empty env vars, nginx redirect port issue
- Fix envOrDefault() to treat empty strings as unset, so Docker builds
  without WASM build args correctly fall through to hardcoded CDN defaults
- Show CDN defaults as placeholder text in WASM settings page instead of
  filling input values, with "Pre-configured" status badge
- Fix nginx redirecting locale URLs without trailing slash (e.g. /de) to
  internal port 8080 by adding absolute_redirect off
- Handle encrypted PDF error in compress tool with descriptive message
- Replace Docker Hub pulls badge with GHCR downloads badge
2026-02-02 19:38:04 +05:30
alam00000 612f6f9a2d feat: add WASM module configuration with pre-configured CDN URLs and update settings UI 2026-02-02 15:14:30 +05:30
alam00000 2c85ca74e9 feat: separate AGPL libraries and add dynamic WASM loading
- Add WASM settings page for configuring external AGPL modules
- Implement dynamic loading for PyMuPDF, Ghostscript, and CoherentPDF
- Add Cloudflare Worker proxy for serving WASM files with CORS
- Update all affected tool pages to check WASM availability
- Add showWasmRequiredDialog for missing module configuration

Documentation:
- Update README, licensing.html, and docs to clarify AGPL components
  are not bundled and must be configured separately
- Add WASM-PROXY.md deployment guide with recommended source URLs
- Rename "CPDF" to "CoherentPDF" for consistency
2026-01-27 15:26:26 +05:30
alam00000 b059ac6ada chore: migrate Docker Hub to bentopdfteam, add Podman/Quadlet support
- Migrate Docker Hub account from bentopdf to bentopdfteam
- Make GHCR the recommended container registry
- Add Podman and Podman Compose support
- Add Podman Quadlet (systemd) documentation
- Add Table of Contents to README
2026-01-26 13:34:50 +05:30
alam00000 fb8c8c07ae chore: update licensing information and readme 2026-01-15 21:53:01 +05:30
alam00000 7787e1d9ac chore(docker,docs): improve npm reliability and update feature documentation
- Configure npm fetch retries and timeouts in Dockerfile to handle network issues during dependency installation
- Set fetch-retries to 5, fetch-retry-mintimeout to 60s, fetch-retry-maxtimeout to 300s, and fetch-timeout to 600s
- Update README.md feature descriptions for improved clarity and accuracy
- Add bookmark preservation notes to Merge PDFs and Alternate & Mix Pages tools
- Add new features: Rotate by Custom Degrees, PDF Booklet, PDF Form Filler, Deskew PDF, and Font to Outline
- Enhance PDF Editor description with specific capabilities (annotate, highlight, redact, comment, shapes, images, search)
- Reorganize feature table entries for better logical grouping
- Remove duplicate "Fill Forms" entry in favor of new PDF Form Filler tool
2026-01-14 22:20:41 +05:30
alam00000 446b399be2 refactor: extract navbar and footer into reusable handlebars partials
- Replace duplicated navbar markup across all HTML pages with {{> navbar }} partial
- Replace duplicated footer markup across all HTML pages with {{> footer }} partial
- Add TypeScript type definitions for vite-plugin-handlebars integration
- Update vite.config.ts to support handlebars partial compilation
- Update tsconfig.json to include handlebars type definitions
- Update nginx.conf for proper static file serving with partials
- Update translation files for de, pt, tr, vi, and zh-TW locales
- Reduce code duplication and improve maintainability across 13+ HTML pages
- Ensure consistent navbar and footer behavior across the entire application
2026-01-13 15:13:57 +05:30
Stanislas MEZUREUX 584acc68d0 feat(i18n): Add French (Français) language support 2026-01-11 23:38:39 +01:00
abdullahalam123 d52d2e3647 refactor: move all TypeScript interfaces to centralized src/js/types folder
- Create type files with barrel export via @/types alias
- Update logic files to use centralized type imports
2026-01-05 14:57:30 +05:30
abdullahalam123 8a96426254 feat(cors-proxy): add anti-spoofing security measures
Security improvements for the Cloudflare Worker CORS proxy:

- Add rate limiting per IP (60 requests/minute) using Cloudflare KV
- Add file size limit (10MB max) to prevent abuse
- Add HMAC signature verification (optional, for deterrence)
- Add timestamp validation to prevent replay attacks
- Block private IP ranges (localhost, 10.x, 192.168.x, 172.16-31.x)

Client-side changes:
- Add signature generation in digital-sign-pdf.ts
- Add security warning about client-side secrets

Documentation:
- Update README with production security features
- Update docs/self-hosting/cloudflare.md with CORS proxy section
- Document KV setup for rate limiting
- Add clear warnings about client-side HMAC limitations

Files changed:
- cloudflare/cors-proxy-worker.js
- cloudflare/wrangler.toml
- src/js/logic/digital-sign-pdf.ts
- README.md
- docs/self-hosting/cloudflare.md
2026-01-05 13:44:35 +05:30
abdullahalam123 05110c7f6a feat: Add Digital Signature and Validate Signature tools
New Features:
- Digital Signature tool: Sign PDFs with X.509 certificates (PFX/PEM)
  - Visible and invisible signatures
  - All pages, first page, last page, or custom page selection
  - Dynamic signature height based on text content
  - Custom signature text, image, and styling options

- Validate Signature tool: Verify digital signatures in PDFs
  - Extract and parse PKCS#7 signatures
  - View signer and issuer certificate details
  - Check certificate validity and expiry
  - Optional custom X.509 certificate for trust verification
  - Full/partial coverage detection

Infrastructure:
- Added Cloudflare Worker CORS proxy for certificate chain fetching
- Updated README with new tools and proxy deployment instructions

Documentation:
- Added Digital Signature and Validate Signature to README tools table
- Added CORS proxy deployment guide for self-hosters
2026-01-04 19:09:11 +05:30
abdullahalam123 771de32cf0 feat: add digital signature PDF tool
- Add new tool to apply cryptographic signatures to PDFs using X.509 certificates
- Support PKCS#12 (.pfx, .p12) and PEM certificate formats
- Create PKCS#7 detached signatures compatible with all major PDF viewers
- Optional visible signature with customizable position, image, and text overlay
- Add translations for English, German, Vietnamese, and Chinese
2026-01-03 20:47:50 +05:30
abdullahalam123 2f8086ad59 refactor: centralize CDN config and fix service worker fallback
- Centralize CDN versions/URLs in cdn-version.ts
- Switch LibreOffice to @bentopdf/libreoffice-wasm package
- Fix service worker fallback to support all WASM packages
- Remove dead code and silence production logs
2026-01-01 19:21:10 +05:30
abdullahalam123 fe32de047e fix: docker deployment issues and update readme" -m "Fixed nginx brotli_static error, duplicates, and added COOP/COEP headers for SharedArrayBuffer. Updated README with acknowledgments 2025-12-27 21:55:40 +05:30
abdullahalam123 f30a084fce feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
- Set up VitePress documentation site (docs:dev, docs:build, docs:preview)
- Added Getting Started, Tools Reference, Contributing, and Commercial License pages
- Created self-hosting guides for Docker, Vercel, Netlify, Cloudflare, AWS, Hostinger, Nginx, Apache
- Updated README with documentation link, sponsors section, and docs contribution guide

- Added EPUB to PDF converter using LibreOffice WASM

- Migrated to Phosphor Icons for consistent iconography

- Added donation ribbon banner on landing page
- Removed 'Like My Work?' section (replaced by ribbon)
- Updated licensing.html with delivery model, AGPL notice, invoicing, and no-refund policy

- Added Commercial License documentation page
- Updated translations table (Chinese added, marked non-English as In Progress)

- Added sponsors.yml workflow for auto-generating sponsor avatars
2025-12-27 19:38:33 +05:30
Alam 283b02027c Fix link to STATIC-HOSTING.md in README
Updated link to Static Hosting documentation for clarity.
2025-12-26 22:09:23 +05:30
Larry Claman 673b1f1fa7 wrote docs 2025-12-23 17:17:02 -05:00
abdullahalam123 1fe05ec59f ci: Improve Docker build workflow and update dependencies
- Add release type detection to distinguish between version tags and edge builds
- Implement separate Docker build steps for release and edge builds with appropriate tags
- Add edge and SHA-based image tags for main branch builds
- Update nginx configuration to support Vietnamese (vi) language routing
- Simplify nginx location block to handle static files and fallback to index.html
- Remove javascript-obfuscator and ts-migrate from dependencies
- Update README with simplified self-hosting instructions using npx http-server
- Consolidate multiple server setup examples into single recommended approach
- Update build preview command to use npm run preview instead of npx serve
- Improve localization files for German, English, Vietnamese, and Chinese
- Update worker files and TypeScript logic files for improved functionality
- Enhance PDF tool pages with better structure and internationalization support
2025-12-13 20:57:32 +05:30
Tuyn Doan 39e35b3282 Merge branch 'main' into feat/add-vietnamese-language 2025-12-12 08:48:47 +07:00
Tuyn Doan 6e68b08d80 feat(seo): Add Vietnamese hreflang tags to all HTML pages 2025-12-12 08:49:23 +07:00
abdullahalam123 d3fe6b2fcc chore: Refactor Dockerfile and update HTML favicon links
- Simplify Dockerfile by removing redundant BASE_URL handling logic and complex RUN commands
- Change SIMPLE_MODE default from true to false for production builds
- Fix indentation inconsistencies in Dockerfile conditional statements
- Move favicon link tags from body to head section in all HTML files for proper semantic structure
- Replace inline favicon links with img tag in navigation logo across all pages
- Update README.md documentation to clarify BASE_URL trailing slash requirements
- Remove commented-out legacy Dockerfile code for cleaner maintenance
- Consolidate favicon declarations in document head for better performance and SEO
2025-12-12 00:19:24 +05:30
abdullahalam123 78dc6333f9 setup i18n and ported all tools to standalone pages 2025-12-11 19:34:14 +05:30
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 95927cd899 squash: feat: Create fillable PDF forms 2025-11-24 21:16:23 +05:30