Note
Please use the edge release instead of the latest for this version. A very small bug has been fixed, but creating another release note would be tedious 😂. So just for this instance, please use the edge version. After this, all new releases can be used via latest.
BentoPDF Now Has 10k Stars!!! 🥳
First of all, I would like to start by announcing that BentoPDF has now been starred over 10,000 times!! I am incredibly happy and grateful for the support from the community. Thank you to everyone for sharing and recommending BentoPDF to others, contributing bug fixes, translations, or reporting bugs and suggesting new features. Bento wouldn't be here without all of you. ❤️
Please Review Us
To help more people discover BentoPDF and build trust, I have created TrustPilot and G2 accounts for BentoPDF. I would be really happy if anyone could take a moment to review us there 😊
- TrustPilot: https://www.trustpilot.com/review/www.bentopdf.com
- G2: https://www.g2.com/products/bentopdf/reviews
Additionally, I want to add some genuine human reviews to our website, as the placeholder reviews have been there since I first started BentoPDF 🤣. So if you are an individual or a company and BentoPDF has helped you in any way, please send us a review along with your name, company name (if applicable), and your photo. We will randomly select submissions to feature in our Testimonials section! You can send it via email: contact@bentopdf.com or via our Discord
A Very Important Note
Ever since BentoPDF was released, there has been a surge of vibe coded PDF tools that simply wrap us under the hood. While I never have a problem with that, people can code however they like, one thing I despise is when a tool is derived from open source projects and never gives them credit, completely disregarding the fact that they were built upon an open source project, all while not respecting the licence.
One such instance is this specific codebase: https://github.com/PDFCraftTool/pdfcraft
The tool called PDFCraftTool has been completely copied from BentoPDF, merely porting vanilla JS to Next.js, disregarding our AGPLv3 licence, and labelling themselves as MIT. Our PyMuPDF port of BentoPDF is clearly in their package, although they did a good job trying to hide that fact.
This does not acknowledge and overlooks the hard work of the maintainers and everyone who has contributed to BentoPDF or has been associated with it. And this is not just the case with Bento, it happens to many open source projects. So I hope if that person is reading please give due credit to BentoPDF. Bento is open source to help people build upon it, but please don't misuse it.
Okay, enough ranting, let's get to the release notes 🤣
Dad Joke of the Release
What do you call an eagle who is sick? Illegal 🤣
What's New
This release is yet another major release for Bento with many highly requested features.
New PDF Tools
Digital Signature PDF Tool
- Apply cryptographic signatures to PDFs using X.509 certificates with support for PKCS#12 (.pfx, .p12) and PEM formats. Includes an optional visible signature with customizable position, image, and text overlay.
Validate Signature Tool
- Verify digital signatures on PDF documents.
Note: The Digital Signature tool uses a signing library that may need to fetch certificate chain data from certificate authority providers. Since many certificate servers don't include CORS headers, a proxy is required for this feature to work in the browser.
I have provided instructions on how to deploy a reverse proxy using Cloudflare. However, the proxy is only needed if your certificate requires fetching issuer certificates from external URLs. It's important to note that client secrets are NEVER hidden, and anyone determined can find them. So if you are self-hosting, it's better to implement the proxy on a server. That way, you are safe from pesky intruders. Bento intentionally doesn't do this because, well... we are browser-based 🤣
Deskew PDF Tool
- Automatically straighten scanned or tilted PDF pages.
Font to Outline Tool
- Convert fonts to outlines/paths for better compatibility.
Email to PDF Tool
- You can now convert .eml and .msg formats to PDF.
- Added inline image support via CID base64 data URI replacement.
- Implemented clickable link extraction from HTML anchors.
- Embed email attachments directly into the PDF.
- Added page size selector, CC/BCC toggle, and attachments toggle.
- Date formatting with timezone support.
Form Creator Improvements
- Added custom date format support.
- Fixed duplicate field bug.
- Made the toolbar and properties panel sticky for a better UX.
Internationalization (i18n)
- BentoPDF now uses static pre-rendering for multi-language support.
- Simple Mode language routing and translation improvements.
- Updated translation guide and configuration (please refer to translation.md).
OCR
- OCR has been improved! It now supports correct text alignment with width based font sizing.
- Better recognition for both Latin and non-Latin languages.
Bug Fixes
- Image to PDF: Fixed HEIC and WebP conversion issues.
- CBZ to PDF: Added fallback for unsupported formats.
- Bookmark PDF: Made type-safe.
- Vite Build: Added @/types path alias to resolve.alias for build compatibility.
- Static Deployment: Fixed for GitHub Pages.
- Docker: Fixed nginx.conf for deployment.
- Docker: Fixed Dockerfile env declaration.
- Header/Subtitle FOUC: Fixed flash of unstyled content on pages in simple mode.
- Indonesian Language: Corrected language name in languageNames mapping.
- Italian Translation: Various fixes.
- Spanish Language: Added support in URL rewrite rules.
Improvements & Refactoring
Code Quality
- Extracted navbar and footer into reusable Handlebars partials.
- Moved all TypeScript interfaces to a centralized
src/js/typesfolder. - Configured ESLint with Prettier and TypeScript support.
- Added Husky and lint-staged for pre-commit checks.
- Baselined existing linting errors to warnings.
Security
- node-forge: Fixed high-severity vulnerability.
- jspdf: Fixed high-severity vulnerability.
- embedpdf: Fixed high-severity vulnerability.
Changes by Contributor ❤️
- Fix Docker container unable to start on IPv4-only environments by @immanuelfodor in #350
- Add Italian localization by @Timmy93 in #325
- (Feature) Add Indonesian language support by @hnfnfl in #367
- (Feature) Add support for Turkish language by @htekgulds in #289
- build(deps): bump jspdf from 3.0.4 to 4.0.0 by @dependabot[bot] in #363
- feat(i18n): Add French (Français) language support by @StanislasMzx in #260
- fix-italian-translation by @gianlucaalfa in #380
- feat(i18n): add Portuguese (Brazil) translation by @alexandreforeis in #282
- feat(i18n): Add Traditional Chinese (
zh-TW) language support by @NightFeather0615 in #379 - (Feature): Add Spanish translation and update documentation with missing steps by @raulgcode in #348
- fix-pdf-to-ai-bug: The Prepare PDF for AI bug was fixed by AB527
New Contributors
- @immanuelfodor made their first contribution in #350 ❤️
- @Timmy93 made their first contribution in #325 ❤️
- @hnfnfl made their first contribution in #367 ❤️
- @htekgulds made their first contribution in #289 ❤️
- @StanislasMzx made their first contribution in #260 ❤️
- @gianlucaalfa made their first contribution in #380 ❤️
- @alexandreforeis made their first contribution in #282 ❤️
- @NightFeather0615 made their first contribution in #379 ❤️
- @raulgcode made their first contribution in #348
- @AB527 made their first contribution in alam00000/bentopdf-pymupdf-wasm#1 ❤️
Full Changelog: v1.15.4...v1.16.0
As always thank you very much for your support and please report any bugs if they arise. I will be taking a long awaited break for a week, so I may not reply to issues, but please feel free to open them and I will have a look once I am back! 😊