gpdf

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2026 License: MIT

README

gPDF

A library for reading, searching, and modifying PDF documents.

Features

  • Read Content: Extract text, images, and layout information from PDF files.
  • Search: Find keywords across pages.
  • Modify: Replace text content and save back to PDF.
  • Table Detection: Identify table-like structures in PDF layouts.
  • Image Extraction: Extract images from PDF pages with color space conversion support.

Usage

Reading a PDF
pdf, err := doc.Open("example.pdf")
if err != nil {
    log.Fatal(err)
}
defer pdf.Close()

text, err := pdf.ReadContent()
if err == nil {
    fmt.Println(text)
}
Searching and Replacing
err := pdf.Replace("Old Text", "New Text")
if err != nil {
    log.Fatal(err)
}

f, _ := os.Create("modified.pdf")
err = pdf.Save(f)
f.Close()
Table Detection
tables, err := pdf.ReadTables()
if err != nil {
    log.Fatal(err)
}

for _, pageTables := range tables {
    for _, table := range pageTables {
        fmt.Printf("Table at (%f, %f)\n", table.X, table.Y)
    }
}
Merging PDFs
doc1, _ := doc.Open("file1.pdf")
doc2, _ := doc.Open("file2.pdf")
defer doc1.Close()
defer doc2.Close()

merged, err := doc.Merge(doc1, doc2)
if err != nil {
    log.Fatal(err)
}
defer merged.Close()

f, _ := os.Create("merged.pdf")
merged.Save(f)
f.Close()
Merging from Remote Sources (URL/S3)

You can open PDFs from any io.ReaderAt (like a memory buffer, URL, or S3 object):

resp, _ := http.Get("https://example.com/file.pdf")
data, _ := io.ReadAll(resp.Body)
resp.Body.Close()

// Open from memory
reader := bytes.NewReader(data)
pdf, _ := doc.OpenReader(reader, int64(len(data)))
defer pdf.Close()

// Merge with other documents
merged, _ := doc.Merge(doc1, doc2, pdf)

Directories

Path Synopsis
cmd
cv command
cv demonstrates recreating "CV CONTOH.pdf" — a black-and-white modern CV produced with Canva — using gPDF.
cv demonstrates recreating "CV CONTOH.pdf" — a black-and-white modern CV produced with Canva — using gPDF.
example command
Example demonstrates gPDF: open, read, new, and save.
Example demonstrates gPDF: open, read, new, and save.
example_merge command
Example merge demonstrates how to merge multiple PDF files into one.
Example merge demonstrates how to merge multiple PDF files into one.
example_merge_remote command
Example merge remote demonstrates how to merge PDFs from URLs and simulated S3 sources.
Example merge remote demonstrates how to merge PDFs from URLs and simulated S3 sources.
mergepdf command
pdf20demo command
quotation command
readcontent command
readcontent demonstrates Open → ReadContent / ReadImages / ReadLayout / ReadTables → Close.
readcontent demonstrates Open → ReadContent / ReadImages / ReadLayout / ReadTables → Close.
readpdf command
readpdf demonstrates gPDF's reader capabilities:
readpdf demonstrates gPDF's reader capabilities:
doc
dct
jpx
lzw

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL