Hello folks!

I would like to share an update about BentoPDF. It’s an open source privacy first PDF toolkit that runs in your browser.

1. You can now actually edit text inside PDFs

BentoPDF now allows you to click existing text, edit it, and have the text reflow while preserving the original fonts and styling.

It also includes:

  • 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 alignment
  • Find and replace across the document
  • Edit images by rotating, flipping, duplicating, resizing or deleting them
  • Object alignment, distribution, rotation, flipping, duplication

Please note this is a work in progress. You may encounter bugs, which you can report and I will look into.

2. Hyper Compress

Hyper is an open source PDF compression engine built to solve specific problems.

  • Compression sometimes returns a file larger than the original. Hyper’s result is always binary: it either produces a smaller PDF or returns the original. This helps create predictable workflows.
  • Hyper includes a true lossless mode. It preserves searchable text, document structure and PDF conformance, rather than rebuilding the document from scratch like Ghostscript.
  • It runs everywhere: CLI, Node SDK, C API, self hosted service, and WebAssembly build.

Repository and benchmarks: https://github.com/alam00000/bentopdf-hyper-compress

I also compared it to Adobe’s compression API, but only managed around 100 PDFs where results were within 5%. Testing on a bigger corpus got expensive.

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-4f
  • 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 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 ships as a CLI, C library, npm package, Docker image and WebAssembly build.

Repository and benchmarks: https://github.com/alam00000/bentopdf-kura

The release also contains other improvements and bug fixes: https://github.com/alam00000/bentopdf/releases/tag/v2.8.8

Thank you and have a great weekend!

  • DonutsRMeh@lemmy.world
    link
    fedilink
    English
    arrow-up
    28
    ·
    14 hours ago

    A couple of years ago, I complained about not many options for PDF editing on Linux, now there are too many of them and I’m 100% ok with that. Thank you for this.

  • cannedtuna@lemmy.world
    link
    fedilink
    English
    arrow-up
    29
    ·
    16 hours ago

    Thanks for your work man. Bento is great.

    I mostly use it to unlock PDFs that really shouldn’t be locked in the first place. I’ve been meaning to try out some of the other features but hadn’t gotten around to it yet.

    Keep it up!

  • enchantedgoldapple@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    5
    ·
    14 hours ago

    I really appreciate the work you’re doing! I mostly local PDF viewers and editors for my daily work, but for situations where those apps fail, BentoPDF reliably helps me out.

    I recall having used tinywow.com for bite-sized tasks with files which I found quite convenient at the time. While I have stopped using it in favour of better and privacy respecting applications, I love how BentoPDF brings about a similar level of convenience, as a FOSS app no less.

    • alam@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      30
      ·
      17 hours ago

      Hi, I just wanted to clarify the AI disclosure requirement again.

      I used AI to help generate a large number of malformed PDF files including edge case PDFs that break PDF conformance, which I then used for testing and validating both the engines. However, AI was not used to write the engine’s code or the actual test cases.

      Would this require me to tag the post as [AIH] / AI-involved? Thank you

      • curbstickle@anarchist.nexusM
        link
        fedilink
        English
        arrow-up
        18
        ·
        17 hours ago

        That wouldn’t count as anything other than CBH, since it wasn’t involved in any stage of programming/documentation/etc - more like testing samples, which is no different than users sending crappy pdf’s along imo.

    • alam@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      12
      ·
      17 hours ago

      Hello! Thank you I have updated it. I believe if its CBH then rule 8 does not apply? If I missed anything then kindly let me know