-
Notifications
You must be signed in to change notification settings - Fork 30
Home
Welcome to the official wiki for gopdfsuit. This project is a Go-based toolkit designed to make PDF manipulation efficient and straightforward.
As of now, I am the sole developer working on this suite. While the project is growing, I am actively looking for contributors and feedback to make it even better.
Important
Using gopdfsuit in production? If you are using gopdfsuit in your organization or are planning to use it, please let me know via any of my socials! Knowing how the tool is being used helps me prioritize the right features.
Caution
DO NOT DEPLOY this application on a public network. As of now, gopdfsuit does not have built-in security features (authentication/authorization). To use it securely, you should deploy the app in a private network and use your own middleware (like an API Gateway or Reverse Proxy) to handle security before passing requests to the suite.
-
Official Docker Image: You can use the pre-built Docker image provided by the
gopdfsuitrepository. -
Local Build: You can build your own Docker image locally. Refer to the
Makefilein the root directory for build commands. -
Sidecar Deployment: For Kubernetes or OKD environments, you can deploy
gopdfsuitas a sidecar container alongside your main application. - Standalone Server: You can run the binary directly on your internal server.
If you are interested in contributing, your help is more than welcome! Whether it's fixing a bug or suggesting a new feature, here is how you can get involved:
- Find a Task: Head over to the [suspicious link removed] tab to see open bugs or feature requests.
- Claim it: If you see something you want to work on, simply comment on that issue. This helps avoid duplicate work.
- Submit a PR: Once you’ve finished your changes, submit a Pull Request for review.
I am highly active and generally respond quickly when I am not at my day job. I am typically available during the following window:
- Active Hours: 10:00 AM IST – 3:00 AM IST
- Response Time: Usually within a few hours during active windows.
If you want to discuss a feature, brainstorm an idea, or just say hello, feel free to reach out via my socials:
- Portfolio: [chinmay-sawant.github.io](https://chinmay-sawant.github.io/)
- LinkedIn: [in/chinmaysawant06](https://www.google.com/search?q=https://www.linkedin.com/in/chinmaysawant06)
- Twitter/X: [@chinmay_sawant_](https://www.google.com/search?q=https://twitter.com/chinmay_sawant_)
Back in 2022 and 2023, I was deep in the trenches of Java reporting. I was constantly working with tools like JasperReports, ReportLabs, and iText.
I remember being genuinely amazed by JasperReports at the time—the drag-and-drop functionality just worked. It felt like magic. I actually caught myself thinking, "Man, I want to build something like this." But back then? I was still a total newbie in the software world. I brushed the idea off immediately, thinking there was no way I had the skills to pull off something that complex.
Fast forward to my current role. We hit a wall with iText Java and I was tasked with finding an alternative. The main requirement was XFDF functionality to integrate with our existing systems, but the constraints were tight.
I went down the rabbit hole looking for options. I tested everything—Aspose, UniPDF, Gotenberg, GoFPDF, wkhtmltopdf. It was frustrating. Every single one had a dealbreaker: they were either non-compliant, had licensing issues that didn't work for us, or were just incredibly expensive.
Working in the healthcare domain makes this even harder. We have strict compliance rules; we can’t just buy a SaaS solution and send sensitive data to a third-party API. Everything has to be secure and in-house.
That’s when the old idea came back: Why not just build a PDF engine myself?
It happened to overlap with me experimenting with AI tools. I had just bought a GitHub Copilot subscription and was testing its limits by building "MotionSaver" (a project to bring the macOS lock screen to Windows). I realized that with Copilot acting as a pair programmer, I could punch way above my weight class.
So, I decided to stop looking for a vendor and started building. I took on the challenge to build the compliance-friendly, cost-effective engine we actually needed.
Made with ❤️ by Chinmay Sawant
⭐ Star this repo if you find it helpful!
Developed from scratch with assistance from GitHub Copilot.