diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/pdf/pdf.go | 55 | ||||
| -rw-r--r-- | cmd/xlsx/main.go | 47 |
2 files changed, 79 insertions, 23 deletions
diff --git a/cmd/pdf/pdf.go b/cmd/pdf/pdf.go new file mode 100644 index 0000000..cb6aeb7 --- /dev/null +++ b/cmd/pdf/pdf.go @@ -0,0 +1,55 @@ +package main + +import ( + "fmt" + "log" + "os" + + "github.com/unidoc/unipdf/v4/extractor" + "github.com/unidoc/unipdf/v4/model" +) + +func main() { + f, err := os.Open("../../test.pdf") + if err != nil { + log.Fatalf("Failed to open PDF: %v\n", err) + } + defer f.Close() + pdfReader, err := model.NewPdfReader(f) + if err != nil { + log.Fatalf("Failed to read PDF: %v\n", err) + } + numPages, err := pdfReader.GetNumPages() + if err != nil { + log.Fatalf("Failed to retrieve the number of pages: %v\n", err) + } + fmt.Printf("Total number of pages: %d\n", numPages) + + fmt.Printf("--------------------\n") + fmt.Printf("PDF to text extraction:\n") + fmt.Printf("--------------------\n") + for i := 0; i < numPages; i++ { + pageNum := i + 1 + + page, err := pdfReader.GetPage(pageNum) + if err != nil { + panic(err) + } + + ex, err := extractor.New(page) + if err != nil { + panic(err) + } + + text, err := ex.ExtractText() + if err != nil { + panic(err) + } + + fmt.Println("------------------------------") + fmt.Printf("Page %d:\n", pageNum) + fmt.Printf("\"%s\"\n", text) + fmt.Println("------------------------------") + } + +} diff --git a/cmd/xlsx/main.go b/cmd/xlsx/main.go index 053cf66..4ccb01e 100644 --- a/cmd/xlsx/main.go +++ b/cmd/xlsx/main.go @@ -3,35 +3,21 @@ package main import ( "airlines/pkg/adapters/xlsx" "fmt" - "io/ioutil" + "os" ) -func readXLSX(path string) { - tickets, err := xlsx.UnmarshallXlsxFile("/home/alex/ds-data/YourBoardingPassDotAero/YourBoardingPassDotAero-2017-11-30.xlsx") - if err != nil { - panic(err) - } - for _, ticket := range tickets { - u, err := ticket.ToUser() - if err != nil { - panic(err) - } - f, err := ticket.ToFlight() - if err != nil { - panic(err) - } - c, err := ticket.ToCard() - if err != nil { - panic(err) - } - fmt.Printf("%+v %+v %+v\n", u, f, c) - } -} +// func readXLSX(path string) { +// tickets, err := xlsx.UnmarshallXlsxFile("/home/alex/ds-data/YourBoardingPassDotAero/YourBoardingPassDotAero-2017-11-30.xlsx") +// if err != nil { +// panic(err) +// } + +// } func main() { tickets := make([]xlsx.Ticket, 0) baseDir := "/home/alex/ds-data/YourBoardingPassDotAero/" - items, _ := ioutil.ReadDir(baseDir) + items, _ := os.ReadDir(baseDir) for _, item := range items { if !item.IsDir() { fmt.Println("Processing file:", item.Name()) @@ -43,4 +29,19 @@ func main() { } } + // for _, ticket := range tickets { + // u, err := ticket.ToUser() + // if err != nil { + // panic(err) + // } + // f, err := ticket.ToFlight() + // if err != nil { + // panic(err) + // } + // c, err := ticket.ToCard() + // if err != nil { + // panic(err) + // } + // fmt.Printf("%+v %+v %+v\n", u, f, c) + // } } |
