[HN Gopher] Stirling PDF: Self-hosted, web-based PDF manipulatio...
       ___________________________________________________________________
        
       Stirling PDF: Self-hosted, web-based PDF manipulation tool
        
       Author : gitinit
       Score  : 272 points
       Date   : 2024-05-02 23:56 UTC (23 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | anotherhue wrote:
       | > Originally developed entirely by ChatGPT, this locally hosted
       | web application has evolved to encompass a comprehensive set of
       | features, addressing all your PDF requirements.
       | 
       | Well that's that then.
        
         | nolongerthere wrote:
         | so do we trust it?
        
           | wakawaka28 wrote:
           | The claim, or the software? If the software was developed by
           | ChatGPT it probably sucks. If it wasn't developed by ChatGPT,
           | its author is a liar. So either way, fuck it.
        
             | secfirstmd wrote:
             | Who cares if it was developed by ChatGPT if it actually
             | works? Why not try it out first before crapping on
             | someone's hard Open Source work?
        
               | langnutty wrote:
               | PDF software / readers are reliably the least reliable,
               | most likely to have security issues programs on any given
               | machine. I for one would not run C code blindly copied
               | from ChatGPT carelessly.
               | 
               | In this case I think the actual PDF bits are command line
               | tools written by humans though, and just the web wrapping
               | (some small initial piece of it) is originally from
               | ChatGPT.
        
               | wakawaka28 wrote:
               | Yeah let me waste a shitload of time on possible low-
               | quality shit that might have spyware. Based on the
               | advertisement I'm not convinced. I want PDF tools
               | developed by experts, not monkeys pounding on keyboards
               | or shysters who push stupid gimmicks.
        
           | atoav wrote:
           | I once tried 3 hours to get ChatGPT to write a correct cubic
           | interpolation function. Everything it wrote was either not
           | cubic or not an interpolation function (the resulting curve
           | didn't pass through the input points).
           | 
           | So yeah.
        
             | franga2000 wrote:
             | Not sure what your point is. I probably couldn't write a
             | correct cubic interpolation function in 3 hours if you
             | stuck me in an empty room and kept giving me the same
             | instruction with a small change every time. But I've
             | definitely written software as complex as this project
             | basically from memory with only the occasional glance at
             | some framework docs.
             | 
             | Leetcode is a meaningless metric when evaluating
             | application developers.
        
         | jpnc wrote:
         | I wonder what the point of that sentence is - to get picked up
         | by HN? Kinda like how any product or service even tangentially
         | related to data suddenly has 'by the way also AI and stuff'
         | added somewhere on their landing page. You don't see 'Developed
         | using intellisense' used in READMEs.
        
           | exe34 wrote:
           | You do see "sent from my iPhone"
        
         | arthurcolle wrote:
         | That's amazing. What a time to be alive.
        
         | BonusPlay wrote:
         | For me it means:
         | 
         | 1) don't expose it to public internet
         | 
         | 2) don't give it untrusted input
         | 
         | Which highly reduces the usability factor for me.
        
         | frooodle wrote:
         | Creator here, I think there is some confusion in my doc. It's
         | not made with fully with chatgpt
         | 
         | It was initially created as a 24 hour challenge to make a full
         | app with chatgpt 3.0 in a set time limit to test what chatgpt
         | was like last year.
         | 
         | I posted on Reddit it got lots of demand and I turned it into a
         | full app,the only full chatgpt was the first 24 hours, it's
         | over a year later now
        
           | neitsab wrote:
           | Yes, it would be a great idea to update the wording as there
           | is no way to derive that from the current one.
           | 
           | Even being sympathetic, my thought reading this was "probably
           | bad code quality/rotten core despite the great feature set".
           | 
           | You can have a "History/Background/Origin" section where you
           | put exactly what you wrote in your comment and it will be
           | fine.
           | 
           | This notwithstanding, thank you very much for developing this
           | app! I will look into deploying it on my server, it will be
           | of great help to people around me who often need manipulating
           | PDFs but are not super technical!
        
       | llagerlof wrote:
       | When I saw this project months ago I instant loved it. I
       | installed and start using it for real and... I found many bugs.
       | Some tools were unusable.
       | 
       | I really hope it's better now.
        
       | haidev wrote:
       | How is this entirely developed by ChatGPT? Does the author claim
       | that all the code in there was generated by ChatGPT?
        
         | frooodle wrote:
         | Creator here, I think there is some confusion in my doc. It's
         | not made with fully with chatgpt
         | 
         | It was initially created as a 24 hour challenge to make a full
         | app with chatgpt 3.0 in a set time limit to test what chatgpt
         | was like last year.
         | 
         | I posted on Reddit it got lots of demand and I turned it into a
         | full app,the only full chatgpt was the first 24 hours, it's
         | over a year later now
        
           | figmert wrote:
           | I'd love to know how you did that initial 24 hour challenge.
           | Maybe a blog post or something? If I were to go about
           | creating a start to an application using ChatGPT, how would I
           | go about it?
        
       | TechDebtDevin wrote:
       | I feel like everytime I log onto this site I encounter a finished
       | project that's very similar to something I'm working on. I'm too
       | slow (or project hop too much).
       | 
       | Not that PDF related tools are uncommon but yeah I think people
       | understand the sentiment.
       | 
       | I'm also very surprised that <redacted> for profit companies in
       | the Document-manipulating/signing/storing still exist outside of
       | niche industries (healthcare, govt, law) that require audit-
       | trails and other regulatory specifics. I guess SEO still rules..
       | If anyone wants to make some money call up all the biggest real
       | estate firms in your area and ask them how much they spend on
       | contract signing or related services (it's a lot) and then offer
       | them to do this for half the amount ( I can sign 20-30k documents
       | for <$100 a month, and could be cheaper probably) Your average
       | real estate firm is paying .50c-$1 a signature if they are
       | uninformed, there's a lot of the uninformed.
        
         | cess11 wrote:
         | Manipulation and signing is the easy part. Robust storage,
         | retrieval and deletion aren't so easy.
         | 
         | Reputation often matters more than price in this area, because
         | the pricey services amount to peanuts compared to the business
         | as a whole. It's like doing price optimisation on toilet paper
         | in the office. And reputation is generally interpreted as a
         | proxy for reliability and a guarantee that there will be
         | someone to sue if things go bad.
        
         | jiriro wrote:
         | Could you please elaborate how do you sign 10k documents for
         | $100/month?
        
       | n3storm wrote:
       | I hope they will add digital signing with certificates
       | capabilities.
        
         | exe34 wrote:
         | I guess you could reverse proxy with nginx?
        
           | atoav wrote:
           | As you probably should?
        
         | nip wrote:
         | Out of curiosity (and self interest [1]), what is your use case
         | for digital signing and verification?
         | 
         | My understanding is that it's more about trust (Docusign being
         | the leader) than anything else: one can provide certificate
         | signing and verification, but the trust in the owner of the
         | certificate is the crux of the matter
         | 
         | [1] I'm the developer behind SimplePDF.eu
        
       | emarsden wrote:
       | From the README: "Stirling PDF does not initiate any outbound
       | calls for record-keeping or tracking purposes". Beyond auditing
       | the code, how could a potential user verify this claim in
       | advance, and how can a web-based app help support such a claim
       | (in particular when the app does need to make some web requests
       | to operate, but only to a restricted list of URLs that might be
       | listed in a manifest along the lines of a Content-Security-Policy
       | for instance)?
       | 
       | This is a concrete problem when deploying apps that need the user
       | to "upload" some sensitive content.
        
         | TheCapeGreek wrote:
         | That's a problem with just about any package, library or system
         | you use in the end.
         | 
         | Open source runs in a large amount of trust, and we're all
         | complicit.
        
           | emarsden wrote:
           | Sure, but these types of applications are running in a web
           | browser sandbox, which benefits from enormous engineering
           | resources to protect the host computer from malicious actions
           | by the remote code. I'm wondering whether this execution
           | environment (augmented with some policy mechanism to allow
           | apps to declare their URL access needs, a little like an
           | AppArmor or network firewal policy) could also provide some
           | guarantees concerning privacy or information security.
        
         | huygens6363 wrote:
         | Little snitch[1] can help you out when self-hosting. When not
         | self-hosting, all bets are off and my default stance is "expect
         | the worst".
         | 
         | [1] https://www.obdev.at/products/littlesnitch/index.html
         | 
         | Edit: LS is MacOS oriented. I'm sure there are others, but I'm
         | not into it. I feel it should be an OS-level feature, but who
         | am I.
        
           | vladvasiliu wrote:
           | > LS is MacOS oriented
           | 
           | There's opensnitch on Linux. There's also something similar
           | on Windows but I don't remember what it's called.
        
         | apexalpha wrote:
         | Just put a sniffer or network capture tool like Wireshark in
         | between. Additionally you could restrict the apps network
         | access entirely to just your local home network.
        
           | emarsden wrote:
           | It seems that there is some missing tooling to make this
           | convenient.
           | 
           | You can run a local bundle of HTML/JS/WASM in a web browser
           | instance that you isolate (for example with firejail) to
           | prevent network access. You distribute as a zip/tgz, but it's
           | not obvious how to handle updates without a full redownload.
           | Distributing with a full Electron-like interface is obviously
           | overkill.
           | 
           | If you're running a web app that's hosted elsewhere (which
           | will be much more convenient for most people), your web
           | browser or the software isolation functionality (or
           | firewall/proxy) needs to distinguish between the initial
           | resource loads (approve) and later sneaky logging requests
           | (ban).
           | 
           | There are Android applications such as TrackerControl that
           | have related functionality (operates as a local VPN to filter
           | all network requests and block tracking) but I don't know of
           | convenient tools for the desktop (Linux, in particular).
        
         | justsomehnguy wrote:
         | > in particular when the app does need to make some web
         | requests to operate
         | 
         | A web app doesn't need to make an outbound web requests to
         | operate. A user interacting with a web is the one initiating
         | the requests.
         | 
         | You can give the access to the up through a HTTP proxy and you
         | can filter out any outbound requests from the web app or even
         | not configuring the network routing for the server hosting that
         | app. That leaves you with only JS initiated requests in the
         | rendered pages of the app.
        
         | arcastroe wrote:
         | If you're self-hosting on kubernetes, you can set up network
         | policies with deny-all egress rule for this deployment/pod.
         | This would block all outward network calls.
        
       | mstijak wrote:
       | Working on a product that could be similarily described.
       | 
       | CxReports: Self-hosted, web-based PDF reporting tool.
       | 
       | https://www.cx-reports.com
        
       | sidcool wrote:
       | The test coverage is pretty low. I'm raising a PR for this. Code
       | quality not the best.
        
         | exac wrote:
         | Well it was developed initially by ChatGPT. First file I open I
         | see repeated comments.
         | 
         | https://github.com/Stirling-Tools/Stirling-PDF/blob/7f577a60...
        
       | thrdbndndn wrote:
       | I see it uses pdfbox and pdf.js, so I assume it's mainly a frond
       | end of these tools?
        
       | Beijinger wrote:
       | At least it is open source. It never hurts to have something web
       | based but I prefer an application. I use a commercial product for
       | Linux. Master PDF Editor. It is good, but their copy protection
       | sucks. Better don't forget to "deregister" ist before wiping your
       | harddrive, otherwise your code won't work. But there is always
       | customer service....
        
         | franga2000 wrote:
         | I generally agree, but I also very often need to quickly do
         | something basic to a PDF from my phone (like split a 2-column
         | layout to single-column so it's actually readable) or when
         | doing something on someone else's computer and little web tools
         | like this are great for that.
         | 
         | And yes, Master PDF Editor is an amazing piece of software! It
         | makes creating PDF forms so easy that every time I get a PDF to
         | fill out, I make it a form and send back an empty copy too so
         | whoever sent it to me can use that instead. I've gotten a few
         | smaller organisations to start using mine instead.
        
       | petepete wrote:
       | I'd love it if this could be integrated into Paperless. Every now
       | and then one of my scanned documents goes in upside down and I
       | need to rescan. Clicking rotate, maybe reordering and letting it
       | be rescanned would be great.
        
         | babox wrote:
         | me tooo
        
         | moritzruth wrote:
         | The last minor release of paperless-ngx added merging,
         | splitting and rotating.
         | 
         | Source: https://docs.paperless-ngx.com/changelog/#paperless-
         | ngx-270
        
           | petepete wrote:
           | Ah thanks. I'd actually updated but didn't read the changelog
           | and hadn't noticed the new functionality!
        
         | Odenwaelder wrote:
         | The latest version of paperless-ngx can rotate documents. Check
         | it out!
        
           | petepete wrote:
           | Perfect timing, thank you.
        
         | nashashmi wrote:
         | Ouch. Rotate the document in a pdf reader. And Print to pdf.
        
       | maweki wrote:
       | I host this at home. I don't use it myself, I can use the linux
       | CLI tools that its based on. But I prefer my wife to use this to
       | convert/split/etc. her pdf files this way instead of using some
       | random website or app (that uses the same cli tool anyway).
       | 
       | She doesn't mind either way. Seems to work well enough for her
       | use cases.
        
         | smartmic wrote:
         | > ... use the Linux CLI tools it is based on
         | 
         | I am interested in this part. Here is what I found:
         | https://pdfbox.apache.org/2.0/commandline.html
         | 
         | Since PDFBox is a Java application, it should work cross-
         | platform, not just Linux. Please correct me if you mean
         | something else.
        
           | maweki wrote:
           | I am sorry. I was under the impression that, at least for
           | some features, Stirling PDF also uses pdfjam or similar,
           | instead of wholly delegating to PDFBox. I think the point
           | still stands, that there are powerful cli tools and I
           | wouldn't consider running this container just for myself.
           | 
           | Probably anybody who can get this docker container running,
           | can use appropiate open source cli tools. So one would wonder
           | about the target audience. I don't. ;)
           | 
           | But I do indeed LibreOffice's command line conversion
           | features.
        
         | nashashmi wrote:
         | You should just get a perpetual license to a PDF tool for $70.
         | Best money ever spent. And get a portable exe version too.
        
           | ziddoap wrote:
           | They seem to have a working solution that they, and their
           | wife, is happy with. Why should they spend money on a
           | different solution?
        
             | nashashmi wrote:
             | Because it is two birds with one stone? Because it is one
             | less system to maintain? Because it is superior to a web
             | based UI with mutliple tools under different headers?
             | because it is simple for even the least technical?
             | 
             | Suggestion is to use a free Pdf xchange editor by tracker
             | software. And print the document to pdf when done.
        
               | sodality2 wrote:
               | Counterpoint: A web service is one thing to maintain that
               | then works on all devices, including mobile. A PDF tool
               | needs to be installed.
        
               | nashashmi wrote:
               | That is a good point in the world of ipad, android, and
               | iphone. But did you know that iOS has most of these
               | features built in? I just discovered this now.
        
               | nirav72 wrote:
               | I'm running this in a container on my nas. There isn't
               | anything to maintain with tools like this. If setup,
               | properly - they keep running unless stopped. They can
               | even be auto-updated when their is a new image. I have
               | several types of utility apps I'm self-hosting. I rarely
               | have to do anything other than keep the OS updated.
        
       | GlacierFox wrote:
       | Anyone got an alternative that wasn't developed entirely in
       | ChatGPT?
        
         | shiftingleft wrote:
         | Looking at a few files, there's definitely some generated
         | comments in there. Do you have any method to quantify how much
         | of it is (likely) generated?
        
         | Alifatisk wrote:
         | On mac, the preview app.
         | 
         | On Windows, okular. But honestly, pirating Acrobat is the best
         | way if you have a tough economy.
        
         | cjblomqvist wrote:
         | Anecdotally from previous HN discussions, I believe a lot of
         | the code is now not developed by ChatGPT anymore.
         | 
         | Update: As evident by the author's comment below, it's
         | definitely not made by ChatGPT anymore (in any major way)
        
         | tyre wrote:
         | The creator is in the comments, it wasn't entirely developed
         | with ChatGPT. The first spike in 24h was. The rest of the past
         | year of development was human.
        
       | siva7 wrote:
       | > Originally developed entirely by ChatGPT
       | 
       | I would be careful with such wording as one could easily come to
       | the conclusion that this tool was developed by the ChatGPT team.
       | Nevertheless that this software certainly wasn't entirely
       | developed by ChatGPT which is technically not possible but WITH
       | the assistance of an AI tool.
        
       | kapildev wrote:
       | On the topic of PDFs, one thing I have always wondered is why
       | there aren't any OpenSource pdf editors that are comparable to
       | Adobe or Foxit. Does anyone know?
        
         | tiahura wrote:
         | Probably for the same reason there aren't any OpenSource
         | comparables to Word, Excel, Outlook, Autocad, Quickbooks, or
         | any other flagship productivity software
        
           | snadal wrote:
           | Not the same thing.
           | 
           | - Libreoffice can edit Word and Excel files.
           | 
           | - There are several tools to read a PST file. Anyway... pst
           | files are not commonly being shared with other people so the
           | need to accessing it is uncommon unless you already use
           | outlook.
           | 
           | - Autocad and Quickbooks are far less used (less people) than
           | PDF.
           | 
           | I also wonder why there are no more tools to edit PDF files.
           | Maybe licensing issues?
           | 
           | Edit: formatting
        
             | tiahura wrote:
             | _Not the same thing.
             | 
             | - Libreoffice can edit Word and Excel files._
             | 
             | You are correct. Just because Libreoffice can mangle a docx
             | file doesn't make them truly comparable.
             | 
             | emacs can edit a .sqlite file, but they aren't comparable.
             | 
             | The issue is the insanely massive investment needed to
             | build and sustain a project with millions of lines of code
             | for something that isn't particularly sexy.
        
       | showerst wrote:
       | On a related note, does anyone have a good solution for
       | highlighting arbitrary spans of text in PDFs? Trying to make
       | viewing search results easier, but most of the solutions I've
       | found are pretty lousy.
        
       | noodlesUK wrote:
       | One thing I think is really lacking from the PDF ecosystem is
       | good open-source tools around signing. PDF signatures are
       | something that is legally important in a lot of the world with
       | regulations like eIDAS. Unfortunately it's extremely difficult to
       | cryptographically sign PDF documents with tools other than
       | Adobe's and some other (often more sketchy) proprietary tools.
       | Even if you figure out how to use stuff like LibreOffice or
       | poppler to sign, you'll struggle to obtain certs that will
       | validate without spending an arm and a leg.
       | 
       | I really hope that someone will decide to step in and become the
       | Let's Encrypt of PDF and S/MIME certs, because that will improve
       | public trust significantly.
        
         | JumpCrisscross wrote:
         | > _you 'll struggle to obtain certs that will validate_
         | 
         | You'll be surprised how far you can go pasting a picture of
         | your signature in Preview.
        
           | noodlesUK wrote:
           | Absolutely, and that's what I tend to do with my documents
           | IRL, but I think it would be really nice if we could move to
           | a world where signing documents digitally actually meant
           | something more than `signature.png`.
           | 
           | In the EU, in order to have a legal guarantee of being
           | treated as the same as a handwritten signature in all member
           | states, you have to meet "Qualified Electronic Signature"
           | level, which means cryptographic signatures and the
           | involvement of some kind of trust services provider who
           | validates the certificate used to sign. In practice this is
           | rare, and ordinary electronic signatures a la Preview work
           | for most things.
        
             | yencabulator wrote:
             | > involvement of some kind of trust services provider
             | 
             | Marketplace at least in the US has shown that once you have
             | this, the actual cryptography really doesn't matter. All
             | anyone seems to care about seems to be "We are company X
             | and have been doing this business for Y years and here's
             | our standard operating policy. We emailed address A at time
             | T1 and the person reading that email address used our
             | online services to electronically 'sign' the pdf P at time
             | T2."
             | 
             | Everyone trusts Adobe/Dropbox/et al to make that claim,
             | nobody cares about certificates and what not.
        
         | TheJoeMan wrote:
         | You're really right, I asked my IT guy who's a windows server
         | wizard about what it would take to implement basic PKI for
         | internal document signing and he looked at me like I had 2
         | heads.
        
       | tacocataco wrote:
       | One of firefox's more recent updates added a PDF editor.
       | 
       | I think people's perception of forefox is from several versons
       | ago. As a daily user throughout its history, Firefox has made
       | alot of progress over the years IMO.
       | 
       | Give it another shot if it's been a while.
        
       | 2Gkashmiri wrote:
       | Is there a PDF templating tool that lets you GUI modify elements
       | on a PDF to be used to generate reports and invoices for example
       | ?
       | 
       | Backend has Python and preferably agpl
        
       | bustedagain wrote:
       | Can someone convert this mumble jumble of docker api endpoint
       | locally environment into a working software that people can
       | actually install and use on their pc/mac/phone???
       | 
       | This seems too complicated to perform simple tasks of split merge
       | edit not to mention the GBs of space docker and dependencies will
       | take.
       | 
       | Thank you
        
       | Jackson_Fleck wrote:
       | I'm not sure if this uses unoconv with LibreOffice but my heart
       | goes out to anyone trying to develop Pdf/document manipulation
       | tools with the current Python libraries. A thankless task.
       | 
       | The more you work on this stuff the more you hate proprietary
       | formats as well as having to rely on open source repos operated
       | at the whim of a few good people.
        
       | junto wrote:
       | I'm looking at the list and trying to figure out if there is an
       | API to extract the text from a PDF? Or retrieve it as vectors /
       | embeddings?
        
       ___________________________________________________________________
       (page generated 2024-05-03 23:01 UTC)