11 ms·
Stirling PDF: Self-hosted, web-based PDF manipulation tool
- anotherhue 2y ago> 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 2y agoso do we trust it?
- wakawaka28 2y agoThe 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 2y agoWho 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 2y agoPDF 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 2y agoYeah 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 2y agoI 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 2y agoNot 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.
- atoav 2y agoWhat are you talking about? This was an example of how I gave a LLM clear instructions on a function that is known to the internet. If I told you get to use google you probably could solve this "leetcode" task in 10 minutes. So I picked a random known algorithm and asked ChatGPT to write a function with it, just to test it. I agree that leetcode is a useless metric, but nobody informed me that something simple like cubic interpolation belongs to this.category now. Maybe I should re-evaluate my career.
- franga2000 2y agoI'm just saying that writing a small function that has to be perfectly correct is a very different task from from writing a small web app where the space of possible solutions is incredibly large. LLMs don't have perfect recall, so it has to reconstructtthe answer from the information it retained from training. Your example is like asking it math problems: unless it had both seen and retained the specific one you've asked it, it can't answer correctly because doesn't have the capability to reason about the problem and solve it. But something like writing a web app is closer to writing a story, where each next block it spits out doesn't have to be exactly correct, it just has to get the job done. As for leetcode, I guess it depends on your field, but my logic is this: if I came to an interview and was told to write a microservice that receives a POSTed file, extracts some data and puts it in a DB, that's a solid work-relevant skill test. But if they asked to to write some interpolation functions, I'd consider that a leetcode interview - closer to math than programming, not a good indicator of job ability, not representative of the kind of work I'll be doing.
- jpnc 2y agoI 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 2y agoYou do see "sent from my iPhone"
- arthurcolle 2y agoThat's amazing. What a time to be alive.
- BonusPlay 2y agoFor 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 2y agoCreator 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 2y agoYes, 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 2y agoWhen 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 2y agoHow is this entirely developed by ChatGPT? Does the author claim that all the code in there was generated by ChatGPT?
- frooodle 2y agoCreator 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 2y agoI'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 2y agoI 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 2y agoManipulation 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 2y agoCould you please elaborate how do you sign 10k documents for $100/month?
- TechDebtDevin 2y agoDepends on the size of the documents but it's very straightforward. As someone mentioned it's reputation that is the expensive part.
- n3storm 2y agoI hope they will add digital signing with certificates capabilities.
- exe34 2y agoI guess you could reverse proxy with nginx?
- atoav 2y agoAs you probably should?
- nip 2y agoOut 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 2y agoFrom 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.
- arcastroe 2y agoIf 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.
- TheCapeGreek 2y agoThat'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 2y agoSure, 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 2y agoLittle 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 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.
- mstijak 2y agoWorking on a product that could be similarily described. CxReports: Self-hosted, web-based PDF reporting tool. https://www.cx-reports.com https://www.cx-reports.com
- sidcool 2y agoThe test coverage is pretty low. I'm raising a PR for this. Code quality not the best.
- exac 2y agoWell it was developed initially by ChatGPT. First file I open I see repeated comments. https://github.com/Stirling-Tools/Stirling-PDF/blob/7f577a6052b5b1106892efd4b17543fae8aec345/test2.sh#L46 https://github.com/Stirling-Tools/Stirling-PDF/blob/7f577a60...
- thrdbndndn 2y agoI see it uses pdfbox and pdf.js, so I assume it's mainly a frond end of these tools?
- Beijinger 2y agoAt 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 2y agoI 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 2y agoI'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 2y agome tooo
- moritzruth 2y agoThe last minor release of paperless-ngx added merging, splitting and rotating. Source: https://docs.paperless-ngx.com/changelog/#paperless-ngx-270 https://docs.paperless-ngx.com/changelog/#paperless-ngx-270
- petepete 2y agoAh thanks. I'd actually updated but didn't read the changelog and hadn't noticed the new functionality!
- Odenwaelder 2y agoThe latest version of paperless-ngx can rotate documents. Check it out!
- petepete 2y agoPerfect timing, thank you.
- nashashmi 2y agoOuch. Rotate the document in a pdf reader. And Print to pdf.
- petepete 2y agoMy Brother scanner SFTPs documents right to my server where they're ingested by Paperless-ngx. It's all really seamless other than occasionally when the document appears upside down for some reason.
- maweki 2y agoI 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 2y ago> … 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 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 2y agoI 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 2y agoYou should just get a perpetual license to a PDF tool for $70. Best money ever spent. And get a portable exe version too.
- GlacierFox 2y agoAnyone got an alternative that wasn't developed entirely in ChatGPT?
- shiftingleft 2y agoLooking 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 2y agoOn mac, the preview app. On Windows, okular. But honestly, pirating Acrobat is the best way if you have a tough economy.
- cjblomqvist 2y agoAnecdotally 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 2y agoThe 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 2y ago> 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 2y agoOn 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 2y agoProbably for the same reason there aren't any OpenSource comparables to Word, Excel, Outlook, Autocad, Quickbooks, or any other flagship productivity software
- snadal 2y agoNot 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 2y agoNot 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.
- trueismywork 2y agoWhat features are you looking for? Okular has served me well.
- showerst 2y agoOn 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.
- Jackson_Fleck 2y agoI think you can hack together something in pdf.js but you have to deal with the pain of digging through its code. I’m working on something of the sort in an application I’ve built but it’s v much “nice to have”. If you’re talking about raw pdfs then you are at the whim of the encoding surely? I’ve always found Adobe etc to have utterly crap searches
- noodlesUK 2y agoOne 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.
- deleted 2y ago[deleted]
- JumpCrisscross 2y ago> 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 2y agoAbsolutely, 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 2y ago> 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.
- tacocataco 2y agoOne 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 2y agoIs 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 2y agoCan 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
- deleted 2y ago[deleted]
- Jackson_Fleck 2y agoI’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 2y agoI’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?
- nikisweeting 2y agoI have some questions about the Github Star history, it's very unusual to see a ~1 year old repo with 20k+ stars. It went from 6k to 15k+ stars in a few days around 2023 Christmas when HN/Github/Reddit traffic is usually lowest, and I didn't see a corresponding social media post or announcement around that time with that kind of traffic. If I'm wrong and there is some big social media post / promo that I missed, I apologize, I'll eat my shorts! https://star-history.com/#Stirling-Tools/Stirling-PDF&Date https://star-history.com/#Stirling-Tools/Stirling-PDF&Date https://www.google.com/search?q=%22stirling%22+%22PDF%22&sca_esv=8d63fbbca7a20b91&sca_upv=1&sxsrf=ADLYWIJN5uy4bgrytgs8ZVtuYNBDuibYDQ%3A1714804488554&source=lnt&tbs=cdr%3A1%2Ccd_min%3A12%2F20%2F2023%2Ccd_max%3A12%2F26%2F2023&tbm= https://www.google.com/search?q=%22stirling%22+%22PDF%22&sca...
- deleted 2y ago[deleted]
- frooodle 2y agoCreator here, there was a big HN post that caused that big boom during Christmas
- nikisweeting 2y agoGot it! Strange that such a big post doesn't show up in that Google search! Really makes me lose trust in Google for basic research like that (sigh) Sorry for insinuating that you maybe bought stars and congrats on the great project growth! Hopefully if nothing else, my comment will answer this question for others that had the same "partially written by ChatGPT" == "willing to use bots for growth" suspicion.
- Froodle 2y agohttps://news.ycombinator.com/item?id=38765627 https://news.ycombinator.com/item?id=38765627
- brnt 2y agoNow do a wasm version.
- mathfailure 2y agoI once used it on a pdf file with a scanned text form trying to make it more contrast, as the scan was hardly seen. What I needed was basically just making dark stuff darker (up to the point of making it black) and maybe a bit thicker to make it more visible. The tool failed to help me with such a seemingly menial task, the improvement was very small. I even tried to repeat the step multiple times, but after like 2nd use there were no visual differences anymore (but the file's size kept actually changing).
- jacob019 2y agoThat's not really a PDF thing. In that case the PDF is a thin wrapper around raster images. Extract the images, increase the contrast with gimp or imagemagick, and make a new PDF. You could script this if you had a lot of them.
- ofrzeta 2y agoA subset of the manipulations such as split and merge can also be done with PDFSam https://pdfsam.org/de/ https://pdfsam.org/de/ https://github.com/torakiki/pdfsam https://github.com/torakiki/pdfsam