For developers

Open-source Go SDKfor everything PDF.

The same engine that powers convertpdfgo.com, packaged as a Go library and a Docker image. MIT licensed. No API key. No rate limits. Run it yourself.

Docker image· MIT License· Issues + PRs welcome
Quickstart

Install in one line

go.sum copy
go get github.com/infosec554/golang-pdf-skd

Three calls, three problems solved

main.goGo 1.21+
package main

import (
	"log"

	pdf "github.com/infosec554/golang-pdf-skd"
)

func main() {
	// Compress a PDF down to recommended quality.
	if err := pdf.Compress("input.pdf", "out.pdf", pdf.QualityRecommended); err != nil {
		log.Fatal(err)
	}

	// Merge several PDFs in order.
	if err := pdf.Merge([]string{"a.pdf", "b.pdf", "c.pdf"}, "merged.pdf"); err != nil {
		log.Fatal(err)
	}

	// Convert Word to PDF (uses LibreOffice under the hood).
	if err := pdf.WordToPDF("report.docx", "report.pdf"); err != nil {
		log.Fatal(err)
	}
}

Every function in the SDK has a synchronous variant for one-off jobs and a context-aware variant for cancellable workflows.

What's inside

Same coverage as the web app

The SDK exposes every operation that powers convertpdfgo.com. If a tool works in the browser, you can call it from Go.

Compress

tiered quality presets

Merge / Split

byte-stable output

Rotate / Crop

page-precise

Protect / Unlock

AES-256 + permissions

Watermark

text or image alpha

PDF ↔ Office

Word, Excel, PowerPoint, JPG

MIT licensed

Use it commercially. Modify it. Redistribute it. Just keep the license notice.

Docker image

Run the full toolbox in a single container — LibreOffice + poppler + Tesseract bundled.

Open contributions

Bug reports, PRs, and feature requests welcome on GitHub. We respond within a working day.

Hosted REST API

Prefer not to self-host?

A hosted REST API is launching soon — same endpoints as the SDK, but Bearer-token authenticated, with managed scaling and asynq-backed jobs for the heavy lifters. Drop us a line at api@convertpdfgo.com to join the waitlist.

More for developers