Commit Graph

436 Commits

Author SHA1 Message Date
alam00000
4fb3b0ec1c fix: optimize i18n page generation to prevent OOM during Docker build 2026-01-27 16:40:57 +05:30
alam00000
73a8156c80 fix(docker): increase Node.js memory limit for i18n build
Add NODE_OPTIONS with --max-old-space-size=4096 to prevent OOM kills
during i18n page generation. JSDOM is memory-intensive when processing
multiple language pages.
2026-01-27 16:10:08 +05:30
alam00000
0c1e89f6f4 refactor: simplify Dockerfile build command 2026-01-27 15:51:03 +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
Alam
f6d432eaa7 Merge pull request #405 from LoganK/crop_restore
(Fix) Restore crop bounds when navigating
2026-01-27 13:54:01 +05:30
Alam
627e932441 Merge pull request #421 from alam00000/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-01-27 13:53:36 +05:30
dependabot[bot]
febf664f74 build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 08:21:25 +00:00
Alam
544bc2f0b6 Merge pull request #428 from alam00000/dependabot/npm_and_yarn/svelte-5.48.2
build(deps): bump svelte from 5.46.1 to 5.48.2
2026-01-27 13:50:05 +05:30
alam00000
b745831526 fix: use absolute paths for i18n links to prevent URL duplication 2026-01-26 23:46:19 +05:30
alam00000
c010327daa fix: detect language prefix in relative hrefs without leading slash 2026-01-26 23:14:05 +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
2d99a28b07 Merge pull request #386 from sheing-google/feat/organize-by-page-number-15124152069150472705
feat: Add page number string reordering to Organize PDF tool
2026-01-26 17:17:09 +05:30
Alam
adc511193d Merge pull request #292 from Stephan-P/main
Introduction of Dutch language support
2026-01-26 15:29:15 +05:30
Alam
4825997299 Merge branch 'main' into main 2026-01-26 15:28:56 +05:30
Alam
e0f5e71a55 Merge pull request #388 from spwoodcock/build/helm-chart
Add helm chart for kubernetes deployment
2026-01-26 15:27:46 +05:30
alam00000
36b98eb1af Release v1.16.1 2026-01-26 13:52:17 +05:30
dependabot[bot]
80e504032c build(deps): bump svelte from 5.46.1 to 5.48.2
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.46.1 to 5.48.2.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.48.2/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.48.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 08:11:17 +00:00
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
spwoodcock
eb9ff4a1a0 fix: bump chart to use GHCR, due to https://github.com/alam00000/bentopdf/issues/399 2026-01-25 21:17:51 +00:00
Stephan Paternotte
53a03599e4 Update i18n.ts
My attempt to resolve the PR conflict
2026-01-23 08:39:03 +01:00
github-actions[bot]
21b9b58610 @JaL-P has signed the CLA in alam00000/bentopdf#410 2026-01-20 21:00:50 +00:00
github-actions[bot]
bf6e212a2d @LoganK has signed the CLA in alam00000/bentopdf#405 2026-01-19 09:14:32 +00:00
Logan Kennelly
23e40f9ef9 fix(crop-pdf): Restore crop bounds when navigating
cropperjs ignores attempts to modify the data before ready. This change
migrates setup to a one-time 'ready' callback.

Steps:
1. Change the cropping bounds of page 1
2. Change to page 2
3. Change to page 1
4. Change to page 2
5. Download cropped PDF

Observed behavior:
* (3) shows the default (autocrop) bounds
* (5) results in a download without the set bounds

Expected behavior:
* (3) should restore the bounds already set
* (4) should not override the set bounds with the autocrop

Tested:
* Local builds using the docker dev config
2026-01-19 01:14:07 -08:00
alam00000
fb8c8c07ae chore: update licensing information and readme 2026-01-15 21:53:01 +05:30
spwoodcock
67b17138f0 docs: add docs for kubernetes deployment 2026-01-15 13:39:49 +00:00
spwoodcock
3f585e2676 build: downgrade to v1.15.3, as the latest available tagged image 2026-01-15 12:37:16 +00:00
github-actions[bot]
b9b98294b5 @spwoodcock has signed the CLA in alam00000/bentopdf#388 2026-01-15 11:54:02 +00:00
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
spwoodcock
359dd48b2a build: add helm chart for kubernetes deployment 2026-01-14 21:45:05 +00:00
github-actions[bot]
61390d97fe @sheing-google has signed the CLA in alam00000/bentopdf#386 2026-01-14 21:38:20 +00:00
sheing-google
b8dcf39772 feat: Add page number string reordering to Organize PDF tool
This commit introduces a new feature to the "Organize PDF" tool that allows users to reorder pages by providing a comma-separated string of page numbers.

An "Advanced Settings" section has been added to the UI, containing a text input for the page order and an "Apply Order" button. The implementation includes validation for the input and updates the page thumbnail grid accordingly.
2026-01-14 21:24:46 +00:00
Sheing
da115e97c2 Delete package-lock.json 2026-01-14 15:20:56 -06:00
sheing-google
5f49cac1b2 feat: Add page number string reordering to Organize PDF tool
This commit introduces a new feature to the "Organize PDF" tool that allows users to reorder pages by providing a comma-separated string of page numbers.

An "Advanced Settings" section has been added to the UI, containing a text input for the page order and an "Apply Order" button. The implementation includes validation for the input and updates the page thumbnail grid accordingly.
2026-01-14 21:15:30 +00:00
sheing-google
4a23dabd52 feat: Add page number string reordering to Organize PDF tool
This commit introduces a new feature to the "Organize PDF" tool that allows users to reorder pages by providing a comma-separated string of page numbers.

An "Advanced Settings" section has been added to the UI, containing a text input for the page order and an "Apply Order" button. The implementation includes validation for the input and updates the page thumbnail grid accordingly.
2026-01-14 21:11:11 +00:00
alam00000
8f628e2b5a ci(docker): refactor build workflow to separate platform builds and merge manifests 2026-01-14 22:38:56 +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
21c928365a Release v1.16.0 2026-01-14 22:09:26 +05:30
alam00000
531e1ad1c6 add comprehensive .htaccess configuration for production deployment
- Update Apache documentation with complete .htaccess examples for both root and subdirectory deployments
- Include configuration examples for subpath deployments (e.g., /pdf/)
2026-01-14 22:05:16 +05:30
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
59584813e4 Merge pull request #348 from raulgcode/add-spanish-translation
(Feature): Add spanish translation and update documentation with missing steps
2026-01-13 22:45:55 +05:30
Alam
7eeae0bda5 Merge branch 'main' into add-spanish-translation 2026-01-13 22:45:05 +05:30
alam00000
4db4c6c719 fix(vite): add @/types path alias to resolve.alias for build compatibility 2026-01-13 17:19:07 +05:30
alam00000
b57c9a8575 fix: made bookmark pdf type safe 2026-01-13 16:59:25 +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
alam00000
d9045efcb0 fix: static deployment for github pages 2026-01-13 13:33:23 +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
abdullahalam123
8337c8b45b Merge branch 'fix/pdf-form-creator-bug' 2026-01-12 14:16:05 +05:30