Conversation
Bumps [jspdf](https://github.com/parallax/jsPDF) from 3.0.4 to 4.0.0. - [Release notes](https://github.com/parallax/jsPDF/releases) - [Changelog](https://github.com/parallax/jsPDF/blob/master/RELEASE.md) - [Commits](parallax/jsPDF@v3.0.4...v4.0.0) --- updated-dependencies: - dependency-name: jspdf dependency-version: 4.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…lation (Feature) Add Indonesian language support
(Feature) Add support for Turkish language
…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
…-spanish-translation
…mplates 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
- Create new hocr-transform.ts utility for parsing hOCR output - Add line-aware text processing with baseline and rotation support - Implement width-based font size calculation to match word bounding boxes - Fix text selection not covering full characters issue - Add proper type definitions for OcrLine, OcrPage, WordTransform - Support RTL languages and CJK word break handling
…rn/jspdf-4.0.0 build(deps): bump jspdf from 3.0.4 to 4.0.0
…tion feat(i18n): Add French (Français) language support
fix-italian-translation
feat(i18n): add Portuguese (Brazil) translation
… improve sticky UX Bug Fixes: - Fix duplicate field appearing when removing all options from dropdown/list and dragging - Fix selected tool button ring being clipped by removing overflow-hidden from Fields toolbar Date Format Enhancements: - Add all 30 Adobe Acrobat-compatible date formats - Add ISO 8601 formats (yyyy-mm-dd, yyyy-mm, yyyy) - Add European dot-separated formats (dd.mm.yyyy, dd.mm.yy) - Add date-time formats with 12h/24h time support - Add Custom format option with input field - Add live date format example preview UI/UX Improvements: - Make Properties sidebar sticky on large screens - Make Page Management toolbar sticky below navbar - Make Fields toolbar sticky below Page Management toolbar - Increase Fields toolbar padding for better spacing - Fix browser note text alignment in date properties
feat(i18n): Add Traditional Chinese (`zh-TW`) language support
- 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
- 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
(Feature): Add spanish translation and update documentation with missing steps
## 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
- 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
- Update Apache documentation with complete .htaccess examples for both root and subdirectory deployments - Include configuration examples for subpath deployments (e.g., /pdf/)
…ntation - 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
The workflow file had severe indentation issues that would prevent GitHub Actions from parsing it. Fixed: - Corrected YAML indentation throughout the file - Added --allow-unrelated-histories flag for merge edge cases - Added fallback message for merge conflicts
CLA Signature RequiredThank you for your contribution! Before we can accept your pull request, you need to sign our Contributor License Agreement (CLA). Why do we need a CLA?BentoPDF uses a dual licensing model (AGPL-3.0 for open source + commercial license). The CLA allows us to:
How to signTo sign the CLA, please comment on this PR with: For corporate contributions, please have your organization sign our Corporate CLA (CCLA) by contacting us at contact@bentopdf.com. I have read the CLA Document and I hereby sign the CLA 5 out of 11 committers have signed the CLA. |
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.
🧪 How Has This Been Tested?
Please describe how you tested your changes so that maintainers can verify them. Include enough detail for someone else to reproduce your tests.
Checklist:
Expected Results:
Actual Results:
Checklist: