Categorygithub.com/Qingluan/pdf-go
repositorypackage
0.1.1
Repository: https://github.com/qingluan/pdf-go.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Desc

this repo based on dslipak's pdf

changed

[x] add image parse [x] /Im (png, jpeg, jpg) [x] DeviceGray [x] DeviceRGB [ ] DeviceCMYK

[x] add new line parse

usage

package main

import (
	"bytes"
	"fmt"
	"io"
	"log"
	"os"

	"github.com/Qingluan/pdf-go"
)

func main() {
	r, err := pdf.Open(os.Args[1])
	if err != nil {
		log.Fatal(err)
	}
	pages := r.NumPage()
	var buf bytes.Buffer

	for i := 1; i <= pages; i++ {
		p := r.Page(i)
		text, err := p.GetText()
		if err != nil {
			log.Fatal(err)
		}
		imgs, err := p.GetImgs()
		if err != nil {
			log.Fatal(err)
		}

		for i, img := range imgs {
			buf, err := io.ReadAll(img)
			if err != nil {
				log.Fatal(err)
			}
			os.WriteFile(fmt.Sprintf("page_%d.png", i), buf, 0644)
		}
		// fmt.Println("text:", text)
		if err != nil {
			return
		}
		buf.WriteString(text)
	}

}