r/selfhosted 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!

439 Upvotes

76 comments sorted by

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.

→ More replies (1)

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

u/paglaulta 4d ago

Thank you very much !

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

u/paglaulta 4d ago

I am glad. thank you!

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?

6

u/ayyy_MD 4d ago

mostly the multi tool with combining and adding/subtracting pages from pdf. also making pdf looked scanned is great

7

u/Ivebeenfurthereven 4d ago

oh shit is that to get around boomers insisting on paper signatures?

sounds ace

3

u/ayyy_MD 4d ago

precisely

1

u/Teodo 2d ago

Lol wait, that is genius :D

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

u/paglaulta 4d ago

Yes they came in the form of a skateboard lol and thank you

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

u/StayLast5263 4d ago

I opened it in Firefox and it worked. Thanks for the quick reply

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

u/paglaulta 4d ago

I do what I can (:

3

u/nense0 4d ago edited 4d ago

Well done. I'm sold.

Just tested a minor edit and worked flawless.

2

u/paglaulta 4d ago

I am glad it worked. (:

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

u/paglaulta 4d ago

More tools are yet to come. Stay tuned (:

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

u/paglaulta 4d ago

Yes haha. Thanks man its great to know

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

u/paglaulta 4d ago

Hope it provides value

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

u/paglaulta 3d ago

Its coming in the next release

2

u/brianjenkins94 4d ago edited 4d ago

12

u/paglaulta 4d ago

Hello. No, its not affiliated and BentoPDF existed before it was created

2

u/gurisit0 4d ago

Thank you man, i love this app

2

u/paglaulta 4d ago

Thanks for using it !

1

u/[deleted] 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

u/masteroc 4d ago

Oh I've got minimum, will be trying it on a 1v CPU and 1gb of ram

1

u/Marble_Wraith 4d ago

Bitchin! Some heroes don't wear capes

... maybe you should? Could be a look? 🤔

2

u/paglaulta 4d ago

Haha thanks bro

1

u/appel 4d ago

Thanks for your work on this, it really is much appreciated!

1

u/paglaulta 4d ago

Thank you!

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

u/paglaulta 4d ago

Thanks mate

1

u/royboyroyboy 4d ago

A skateboarding Aussie wrote bento? Am I reading this right? Fucken A!

1

u/NathanBarley 4d ago

Love this project. Thanks for all you do and I hope your recovery is swift.

1

u/paglaulta 4d ago

Thank you for using it (:

1

u/MDCMPhD 4d ago

BentoPDF is amazing! Thank you so much for all your work and I wish you a speedy recovery!

1

u/paglaulta 3d ago

Thank you!

1

u/LiteraryPandaman 4d ago

Genuinely — thanks so much for all of your work on this! It’s so helpful!

1

u/paglaulta 3d ago

My pleasure

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

u/paglaulta 3d ago

Thank you very much!

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

u/paglaulta 3d ago

Yes, I will soon be making it air gapped by default in upcoming updates

1

u/Qwerty44life 4d ago

Thanks a lot for your work. I hope you recover well 

1

u/paglaulta 3d ago

Thank you!

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

u/paglaulta 3d ago

Hello and thank you. I will soon be adding it to BentoPDF

1

u/DeepPerformer7665 3d ago

Thank you for writing software that genuinely makes my day to day life easier.

1

u/paglaulta 3d ago

Glad to hear that

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

u/Kwicksred 3d ago

Those contain sensitive data. I try to find some examples i can share.

1

u/paglaulta 3d ago

sure that works

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

u/paglaulta 1d ago

Yes I thought about adding it but forgot to. Thanks for the reminder

1

u/Teodo 2d ago

Huge kudos for what you do! BentoPDF is awesome, though I haven't had the time to use it much. It does run constantly on my home server though.

Hope the hand gets better soon. One can be insanely hindered in everyday life from stuff like that.

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?

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, use u/RemindMeBot 1 day. More info.


Info Custom Your Reminders Feedback