Commit Graph

80 Commits

Author SHA1 Message Date
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
c2520f7736 fix: add missing comma 2026-01-26 22:57:32 +05:30
alam00000
62c373d76a fix: resolve i18n issues - URL duplication, translation loading, and caching
- Fix URL path duplication when clicking logo (added missing leading slash)
- Use network-first caching for translation files in service worker
- Add missing translation keys (common.close, upload.clearFiles) to all languages
- Add Dutch (nl) language support to URL regex patterns
- Bump service worker cache version to v8
2026-01-26 22:34:36 +05:30
Alam
4825997299 Merge branch 'main' into main 2026-01-26 15:28:56 +05:30
Stephan Paternotte
180befda84 Update tools.json
Additional translations: emailtopdf, fonttooutline + deskewpdf 
Fix indenting in line with latest EN sources
2026-01-15 10:05:11 +01:00
Stephan Paternotte
704ad60b26 Update common.json
Another in-between update
reformat indenting in line with latest EN sources
2026-01-15 10:03:03 +01:00
alam00000
abf7ae8a00 feat(i18n): add static pre-rendering for multi-language support
- Add `generate-i18n-pages.mjs` script to pre-render localized HTML files at build time
- Add `generate-sitemap.mjs` script to generate language-aware sitemap.xml
- Create `navbar-simple.html` and `footer-simple.html` partials for simple mode
- Update all 80+ tool pages with language routing support
- Expand supported languages to 12: en, de, es, fr, it, pt, tr, vi, id, zh, zh-TW
- Update i18n.ts with new language names and support configuration
- Implement languageRouterPlugin in vite.config.ts for dev server routing
- Update nginx.conf for production static file serving from language directories
- Update TRANSLATION.md with new architecture documentation and language addition guide
- Fix relative paths in 404.html for static deployment compatibility
- Update package.json with new build scripts and dependencies
- Improves SEO through static pre-rendering and proper sitemap generation
2026-01-14 21:04:56 +05:30
alam00000
90346d7ea9 feat: Simple Mode language routing and translation improvements
## Simple Mode Enhancements
- Add `simple-index.html` as dedicated homepage for Simple Mode
- Hide marketing sections (FAQ, How It Works, Related Tools) on tool pages
- Add simplified navbar and footer for tool pages in Simple Mode
- Configure vite preview server to handle language-prefixed URLs

## Language Routing
- Add middleware to rewrite language-prefixed URLs (e.g., /de/merge-pdf.html)
- Support all languages: en, de, es, fr, id, it, pt, tr, vi, zh, zh-TW
- Create .htaccess with internal rewrites for Apache/Hostinger hosting

## Translation Updates
- Add missing translations for digitalSignPdf, validateSignaturePdf,
  emailToPdf, fontToOutline, deskewPdf to es, pt, tr, zh-TW
- Add Digital Signature and Validate Signature to homepage translation keys
- Fix language regex patterns to include all supported languages
- Fix typo in encrypt-pdf.html
2026-01-14 02:31:44 +05:30
Alam
7eeae0bda5 Merge branch 'main' into add-spanish-translation 2026-01-13 22:45:05 +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
abdullahalam123
dfd56c12d5 refactor: extract navbar and footer into reusable partials
- Extract navbar component from index.html into src/partials/navbar.html
- Extract footer component from index.html into src/partials/footer.html
- Add update-partials.js script to automate partial injection into page templates
- Update all 80+ page templates to use injected navbar and footer partials
- Update vite.config.ts to support partial file processing
- Update package.json and package-lock.json with build script changes
- Sync all translation files (de, en, fr, id, it, pt, tr, vi, zh, zh-TW) with latest keys
- Improves maintainability by centralizing navbar and footer updates across all pages
2026-01-12 22:11:01 +05:30
NightFeather
5e9ac1c492 Merge branch 'main' into i18n/zh-TW 2026-01-12 15:55:44 +08:00
Alam
2910a3f72d Merge pull request #282 from alexandreforeis/feat-pt-br
feat(i18n): add Portuguese (Brazil) translation
2026-01-12 12:46:20 +05:30
Alam
50f62a815c Merge pull request #380 from gianlucaalfa/main
fix-italian-translation
2026-01-12 12:43:58 +05:30
Stanislas MEZUREUX
ec830880e7 chore(i18n): add new translation keys 2026-01-12 00:02:28 +01:00
Stanislas MEZUREUX
584acc68d0 feat(i18n): Add French (Français) language support 2026-01-11 23:38:39 +01:00
gianlucaalfa
d7fce5987d fix-italian-translation 2026-01-11 11:19:27 +01:00
NightFeather
1ac0f751e8 Add Traditional Chinese (zh-TW) localization 2026-01-11 03:19:45 +08:00
abdullahalam123
1f7238d0b5 feat: add Deskew PDF and Font to Outline tools with improved issue templates
New Features:
- Add Deskew PDF tool for straightening scanned/skewed PDF pages
- Add Font to Outline tool for converting text to vector paths
- Add translations for new tools in all supported locales (de, en, id, it, tr, vi, zh)

Improvements:
- Migrate GitHub issue templates from markdown to YAML forms
  - Separate templates for bug reports, feature requests, and questions
  - Add config.yml for issue template chooser
- Update sitemap.xml with new tool pages
- Update ghostscript loader and helper utilities
2026-01-09 20:53:36 +05:30
Raul Gonzalez
cc891f2b0a Merge branch 'main' of https://github.com/alam00000/bentopdf into add-spanish-translation 2026-01-08 14:01:02 -06:00
abdullahalam123
280348763d feat(email-to-pdf): add inline images, clickable links, and embedded attachments
- Add CID inline image support via base64 data URI replacement
- Implement clickable link extraction from HTML anchors using regex
- Embed email attachments into PDF using pymupdf embfile_add
- Reduce font sizes for more compact PDF output (18px subject, 12px body)
- Format date with timezone (UTC+HH:MM) while preserving original time
- Clean email address formatting (Name (email) instead of <brackets>)
- Add UI options: page size selector, CC/BCC toggle, attachments toggle
2026-01-08 21:36:21 +05:30
Alam
11ea5d21c5 Merge branch 'main' into add-lang-tr 2026-01-08 13:58:26 +05:30
Hanif Naufal
5f8e94c41f feat: add Indonesian language support with translations for common phrases and tools 2026-01-07 22:49:05 +07:00
abdullahalam123
4cec0e2be4 chore: update sitemap with signature tools and clean unused imports 2026-01-07 16:55:12 +05:30
Raul Gonzalez
e34b106e10 Merge remote-tracking branch 'upstream/main' into add-spanish-translation 2026-01-06 08:27:11 -06:00
Stephan Paternotte
6e865efb2a Update tools.json
Included latest additions re. PDF Signature and Validation
2026-01-04 20:04:16 +01:00
Alam
534eb01010 Merge pull request #325 from Timmy93/main
Add italian localization
2026-01-04 19:26:51 +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
Raul Gonzalez
14afebb5f0 Add spanish translation and update documentation with missing steps 2026-01-02 07:00:27 -06:00
abdullahalam123
bddd11c07b fix(pdf-a): fix PDF/A-2b and PDF/A-3b transparency compliance
- Add post-processing step using pdf-lib to fix ISO 19005-2/3 clause 6.2.10
- Add Group dictionaries with ICC-based color space to all pages
- Fix XObjects (Form XObjects) that have DeviceRGB in their Group dictionaries
- Reference OutputIntent's ICC profile as the blending color space
- Enable page compression for smaller output files

This ensures PDFs with transparency pass VeraPDF validation for PDF/A-2b and PDF/A-3b.
2026-01-02 17:04:50 +05:30
abdullahalam123
c6fb46cbf2 feat: fix favicon implementation for Google search and PWA support
- Add background to favicon.svg (RGB 38,45,59)
- Generate all required PNG sizes (192x192, 512x512, 180x180)
- Create site.webmanifest with proper PWA config
- Standardize favicon links across 116 HTML files
- Fix incorrect MIME types in 50+ pages
2026-01-01 19:21:10 +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
4e5d747cac add: seo 2025-12-30 12:36:30 +05:30
abdullahalam123
8bae2b662a fix: markdown to pdf spacing and added mermaid diagram support 2025-12-29 14:59:11 +05:30
Federico
c9aa895894 Add italian localization
- Added it locale
- Add it language ro other config files (nginx.conf, vite.config.ts, i18n.ts)
2025-12-29 01:09:46 +01:00
Stephan Paternotte
704045b024 Update common.json 2025-12-28 14:05:01 +01:00
Stephan Paternotte
ac0094368b Update tools.json
feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
2025-12-28 13:47:08 +01:00
Stephan Paternotte
c4a67b35c7 Update common.json
feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
2025-12-28 13:46:22 +01:00
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
Stephan Paternotte
7f5dafcd2f Create common.json
Introducing Dutch language
2025-12-20 11:55:41 +01:00
Stephan Paternotte
be59c2b8ea Create tools.json
Introducing Dutch language
2025-12-20 11:54:46 +01:00
Hasan Tekgül
33e558b290 add tr lang 2025-12-19 18:17:04 +03:00
Alexandre Reis
b2e6978649 feat(i18n): add pt-BR translation 2025-12-17 23:16:58 -03: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
zhenyao xu
264ccd77d8 Merge branch 'main' into main 2025-12-12 19:14:25 +00:00
cxllxc
ab122e19df feat: Add internationalization support and introduce a new PDF multi-tool. 2025-12-12 12:54:06 +00:00
cxllxc
3c0fbc8f8f at: Add Chinese language support with new i18n utilities and update routing configura 2025-12-12 12:41:40 +00:00
Tuyn Doan
8c065fcdf0 feat(i18n): Add Vietnamese (Tiếng Việt) language support
- Add Vietnamese translation files (common.json and tools.json)
- Register 'vi' as a supported language in i18n configuration
- Update language switcher to support Vietnamese footer text
- Update URL routing regex to handle /vi/ paths

All 170 translation keys have been translated to Vietnamese.
Users can now access BentoPDF in Vietnamese by visiting /vi/ URLs.
2025-12-12 00:58:08 +07:00
abdullahalam123
78dc6333f9 setup i18n and ported all tools to standalone pages 2025-12-11 19:34:14 +05:30