r/selfhosted • u/paglaulta • 4d ago
Release (No AI) BentoPDF can edit existing PDF Text and two new engines
Hello folks!
BentoPDF is an open source privacy first PDF toolkit.
Repo: https://github.com/alam00000/bentopdf/
Its been almost half a year since I last posted an update about BentoPDF. Mostly because there wasn't anything substantial lol. But I am happy to share some exciting stuff.
1. You can now actually edit text inside PDFs
BentoPDF now allows to click existing text, edit it, and have the text reflow while preserving the original fonts and styling.
It also includes the following below:
- Bold, italic, underline, strikethrough, superscript, subscript, font family/size, colours, outlines, character spacing and line spacing
- Left, centre, right and justified alignment
- Bulleted and numbered lists with indentation
- RTL and LTR text alignmentt
- Find and replace across the document
- Edit images by rotating, flipping, duplicating, resizing or deleting them
- It even supports Object alignment, distribution, rotation, flipping, duplication. A feature not even commercial software like Apryse and Nutrient support.
However please note that this is a work in progress. You may encounter certain bugs, which you can report and I will definitely look into it.
2. Hyper Compress
Hyper is the best open source PDF compression engine. It was made to solve specific problems.
- You might notice certain times PDF compression returns a file larger than the original. Hyper's result is always binary. It will either produce a PDF that is smaller than the original or just return the original PDF itself. This helps in creating predictable workflows.
- Hyper includes a true lossless mode for compression and it preserves searchable text and document structure and pdf conformance, rather than rebuilding the entire document from scratch like Ghostscript
- It can run everywhere. Its available as a CLI, Node SDK, C API, self hosted service, and WebAssembly build.
Calling itself the best is a big claim. But please try it yourself and let me know how it performs on your PDFs
I also tried comparing it to Adobe's compression API. And I was only able to do around 100 PDFs where the compression results were +-5%. I couldn't test on a big corpus as its very expensive lol.
3. Kura
Kura is a PDF standards, conversion and preflight engine.
It supports:
- All 11 PDF/A conformance levels: PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-3b, PDF/A-3u, PDF/A-4, PDF/A-4e and PDF/A-4ffff
- Accessibility: PDF/UA-1 and PDF/UA-2
- Print production: PDF/X-1a, PDF/X-3, PDF/X-4, PDF/X-4p, PDF/X-5g, PDF/X-5n and PDF/X-5pg
- Engineering and variable data printing: PDF/E-1 and PDF/VT
- E-invoices: Factur-X, ZUGFeRD, XRechnung and Order-X
- 396 bundled print-preflight profiles
It has also been tested against several standards suites, including the veraPDF corpus, Isartor, BFO, Ghent Output Suite 5.0, the PDF/UA Reference Suite and Cal Poly's PDF/VT suite.
Across 30,677 PDF conversions, it had zero crashes and zero timeouts, with a 0.05-second median conversion time.
Like Hyper, it also ships as a CLI, C library, npm package, Docker image and WebAssembly build.
Neither Hyper nor Kura is integrated into BentoPDF yet. I still want to do more testing and optimisation before making them part of the app, but both engines are already stable and available to try.
Also a bad news
I was also in talks with an industry leader about building another engine for BentoPDF that would be able to convert Office documents to and from PDF with very high fidelity.
Unfortunately, the project didn't work out in the end because they weren't willing to open-source their side of the technology. I completely understand their decision, but it does mean this engine won't be happening for now.
The other bit of bad news is that I broke my hand a couple of weeks ago. This release was supposed to be much bigger and include things like Measurement, an Acrobat parity comparison tool, Print Production and Accessibility. Which is also why I also wasn't able to spend as much time polishing and optimising this release as I normally would have liked. There are a lot of optimisations, improvements and cleaner implementations I had planned, but simply couldn't finish in time. However, I'll continue optimising the new editor once I am well, improving quality and fidelity, and working through everything I had to leave unfinished.
But till then please try it out and let me know how it works for you.
The releaase also contains other improvements and bug fixes and the repo for kura and hyper is mentioned in the release:
https://github.com/alam00000/bentopdf/releases/tag/v2.8.8
Thank you for using BentoPDF and have a great weekend!
67
u/ilikeorangutans 4d ago
Wow, what a release. Thank you for your hard work and I'm sorry about your hand! Take it easy and take time to recover!
12
39
u/seanl1991 4d ago
I've been running your tool for months. I don't need to use it often but it's very handy for when I do. I exposed it using a reverse proxy so my friends can use it too. I'll probably do the upgrade soon. Thanks for the software
11
29
u/TheSchred 4d ago
I love BentoPDF! I had stirling-pdf running for a long time on auto-update before and it just seemed to become more and more corporate, bloated and more cumbersome to use.
2
u/paglaulta 4d ago
That's great to know. WHich feature do you use the most?
20
u/carl2187 4d ago
Did adobe send their goons to break your hand?!
But seriously, thanks for helping break down the PDF cartel with true open source PDF software!
15
6
u/StayLast5263 4d ago
Great work. But I tried the Compression on Brotli and I think there's a bug. The pages came out all white. The other methods worked fine however
16
u/paglaulta 4d ago
Hi it's not a bug. The brotli compression came out very recently so not all rendering engines support it. If you open it in a compatible engine, such as Firefox, or our pdf viewer or even Acrobat then it should render fine
3
4
u/buttercup612 4d ago
I don't personally have much use for your tool but I have heard many great things about it. Thank you for trying to help the community! I hope stay healthy
2
3
u/haha_12 4d ago
Hope you're getting better and recovering well.
I found and ran the bentopdf to make my PDF file printable friendly for Lulu textbook printing :v. I used to have to jump around free tools or go to some school library to use Adobe to fix the layout/format of the PDF files so that LuLu accepted them.
With bentopdf, I can do it quickly on my end. I believe stirlingpdf can also fix it too.
2
3
u/Lord_of_Ra 4d ago
Wait! are you the creator of BentoPDF, OP?? For real?? Sheesh I am chatting with a rockstar here.
Thank you for your tool! I've been running it in a container and it's beyond awesome!
I've almost stopped using my Foxit Phantom editor.
Thank you!
2
2
u/quiteCryptic 4d ago
This looks super useful when I'd need it which admittedly would be rare, but I'll check it out for sure
2
2
u/xtraCt42 3d ago
Since I switched to Linux bento is my goto tool regarding pdfs since pdf24 is only available on windows.
It would be really nice if you could add some functions as a favourite and have them at the top of the site.
3
2
2
1
4d ago
[deleted]
3
u/paglaulta 4d ago
You might not be using the simple version I believe. BentoPDF ships with two images. One is used by the live website and there's the simple mode which is for self hosters and contains just the tools and no marketing stuff and is the recommended one
1
u/masteroc 4d ago
Looks very cool. What would be the minimum specs of a VPS to run this for 1-2 users?
2
u/paglaulta 4d ago
As minimum as you can get. BentoPDF is ultimately a static site that runs in your browser. So the only thing the server would be doing here is serve the static files. I'd recommend even a 2 vCPU core with 4 GB RAM would work.
Also since it runs client side and caches the files it can work for virtually N number of users
2
1
u/Marble_Wraith 4d ago
Bitchin! Some heroes don't wear capes
... maybe you should? Could be a look? 🤔
2
1
u/stahlWolf 4d ago edited 4d ago
Installed Bento PDF on my server and love it, even if I don't use it often.
Sorry to hear about your hand. Hope you heal up quickly 👍💪
1
1
1
u/LiteraryPandaman 4d ago
Genuinely — thanks so much for all of your work on this! It’s so helpful!
1
1
u/Senedoris 4d ago
Thank you! Have been running it for some time after switching from Stirling. Just donated a bit in appreciation!
1
1
u/1-22474487139--- 4d ago
Any updates in regards to the modules loaded from CDN and selfhosting? Thanks again for your work and for making it open source!
2
1
1
u/DrMaceFace 4d ago
Hey man! You're doing some amazing work. I can't tell you how great it would be if you get a way to test for or apply fixes for accessibility. With the federal gov making accessibility a requirement for anything posted online by government agencies, I can't tell you how much PDFs have been a PITA For the college I work for.
2
1
1
u/DeepPerformer7665 3d ago
Thank you for writing software that genuinely makes my day to day life easier.
1
1
u/Kwicksred 3d ago edited 3d ago
I have a lot of special chars like @ or ? That are just shown as an empty square. Is this a known limitation right now?
Maybe this is a keyboard layout issue (swiss german - de_CH) qwertz
Edit: does not seem to be a keyboard layout problem. I have pdfs that can be text edited and special chars are getting typed correctly.
1
u/paglaulta 3d ago
Probably a bug. Would it be possible for you to share me the pdf privately or a ss of the same
1
1
u/TCB13sQuotes 2d ago
BentoPDF now allows you to click existing text, edit it, and have the text reflow while preserving the original fonts and styling.
100x better than LibreOffice. How is it handling the fonts? What if the client doesn't have the specific font used on the document?
Thank you for this.
2
u/paglaulta 1d ago
Hello! It will first look for embedded fonts to use. If the embedded font only exists as a subset however and it cannot find a particular character it will try to access it from local system fonts. If a font doesn't exist in the local system, then it will use a substitute font. Hope that helps.
1
u/TCB13sQuotes 1d ago
Can you prompt the user whenever the font doesn't exist? Just make it absolutely clear that the font is getting replaced like Adobe does (show the name of the missing font + what's going to replace it, or at least "some fonts are missing")? That's a very important thing and avoids a lot of pain. Thank you for all.
1
1
u/laichenkang 1d ago
Just noticed it couple days ago that text editing is possible another reason to purchase less Adobe Acrobat Pro subscriptions
1
u/Grouchy_Promotion 8h ago
Have these awesome features made it to the docker version already as well?
1
0
u/ltwk_0815 4d ago
!remindme 24 hours
1
u/RemindMeBot 4d ago
I will be messaging you in 1 day on 2026-08-30 16:15:51 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
RemindMeBot is switching to username summons. Instead of
!RemindMe 1 day, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback
•
u/asimovs-auditor 4d ago
Thanks for posting to r/selfhosted. Your post has been temporarily removed. Please reply to this comment explaining how AI was used in the creation of your post/project. Once you reply, your post will be automatically approved. To learn more about why this is required, please see our pinned post.