commit f1b648247e29d0d09d310bb6eba69f53237989f3 Author: pro100ton Date: Mon Nov 4 22:04:12 2024 +0300 Initial commit diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..244c9b2 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module t0xa/pdf_to_txt + +go 1.22.5 + +require github.com/rudolfoborges/pdf2go v0.1.1 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b020dd3 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/rudolfoborges/pdf2go v0.1.1 h1:cAEi53YeticMNnuts30UD11W6AAcB+Xe3odLVrI9XIE= +github.com/rudolfoborges/pdf2go v0.1.1/go.mod h1:l+ur9AjixJEV8ZEapV1ggOLAkSiBj+jSSXcWKRJp3TY= diff --git a/main.go b/main.go new file mode 100644 index 0000000..d558db2 --- /dev/null +++ b/main.go @@ -0,0 +1,47 @@ +package main + +import ( + "fmt" + "strings" + + "github.com/rudolfoborges/pdf2go" +) + +type CheckEntry struct { + Product string + Price string +} + +func main() { + pdf, err := pdf2go.New("./test.pdf", pdf2go.Config{ + LogLevel: pdf2go.LogLevelError, + }) + if err != nil { + panic(err) + } + + text, err := pdf.Text() + if err != nil { + panic(err) + } + + split := strings.Split(text, "\n") + for index, element := range split{ + if element == "Цена*Кол" { + fmt.Println("----") + fmt.Println(split[index-4]) + fmt.Println(split[index-3]) + fmt.Println(split[index-2]) + fmt.Println(split[index-1]) + fmt.Println(split[index]) + fmt.Println(split[index+1]) + fmt.Println(split[index+2]) + fmt.Println(split[index+3]) + fmt.Println(split[index+4]) + + fmt.Println("Товар: ", split[index-2]) + fmt.Println("Цена: ", split[index+2]) + fmt.Println("------") + } + } +} diff --git a/test.pdf b/test.pdf new file mode 100644 index 0000000..3d2fb50 Binary files /dev/null and b/test.pdf differ