diff --git a/internal/ingestion/parser/doc_parser.go b/internal/ingestion/parser/doc_parser.go index 75b7c3fc4c..5a8d561b9a 100644 --- a/internal/ingestion/parser/doc_parser.go +++ b/internal/ingestion/parser/doc_parser.go @@ -16,7 +16,11 @@ package parser -import "fmt" +import ( + "fmt" + + officeOxide "github.com/yfedoseev/office_oxide/go" +) type DOCParser struct { } @@ -27,6 +31,30 @@ func NewDOCParser() *DOCParser { func (p *DOCParser) Parse(filename string, data []byte) error { fmt.Printf("Parsing DOC file: %s\n", filename) + doc, err := officeOxide.OpenFromBytes(data, "doc") + if err != nil { + return err + } + defer doc.Close() + + docFormat, err := doc.Format() + if err != nil { + return err + } + + fmt.Println("Document format:", docFormat) + + docContext, err := doc.PlainText() + if err != nil { + return err + } + fmt.Println("Document context:", docContext) + + md, err := doc.ToMarkdown() + if err != nil { + return err + } + fmt.Println("Document Markdown:", md) return nil } diff --git a/internal/ingestion/parser/ppt_parser.go b/internal/ingestion/parser/ppt_parser.go index bb6398c77d..6bed34862a 100644 --- a/internal/ingestion/parser/ppt_parser.go +++ b/internal/ingestion/parser/ppt_parser.go @@ -16,7 +16,11 @@ package parser -import "fmt" +import ( + "fmt" + + officeOxide "github.com/yfedoseev/office_oxide/go" +) type PPTParser struct { } @@ -27,6 +31,30 @@ func NewPPTParser() *PPTParser { func (p *PPTParser) Parse(filename string, data []byte) error { fmt.Printf("Parsing PPT file: %s\n", filename) + doc, err := officeOxide.OpenFromBytes(data, "ppt") + if err != nil { + return err + } + defer doc.Close() + + docFormat, err := doc.Format() + if err != nil { + return err + } + + fmt.Println("Document format:", docFormat) + + docContext, err := doc.PlainText() + if err != nil { + return err + } + fmt.Println("Document context:", docContext) + + md, err := doc.ToMarkdown() + if err != nil { + return err + } + fmt.Println("Document Markdown:", md) return nil } diff --git a/internal/ingestion/parser/pptx_parser.go b/internal/ingestion/parser/pptx_parser.go index eb657d2422..2ae3aa6ede 100644 --- a/internal/ingestion/parser/pptx_parser.go +++ b/internal/ingestion/parser/pptx_parser.go @@ -16,7 +16,11 @@ package parser -import "fmt" +import ( + "fmt" + + officeOxide "github.com/yfedoseev/office_oxide/go" +) type PPTXParser struct { } @@ -27,6 +31,30 @@ func NewPPTXParser() *PPTXParser { func (p *PPTXParser) Parse(filename string, data []byte) error { fmt.Printf("Parsing PPTX file: %s\n", filename) + doc, err := officeOxide.OpenFromBytes(data, "pptx") + if err != nil { + return err + } + defer doc.Close() + + docFormat, err := doc.Format() + if err != nil { + return err + } + + fmt.Println("Document format:", docFormat) + + docContext, err := doc.PlainText() + if err != nil { + return err + } + fmt.Println("Document context:", docContext) + + md, err := doc.ToMarkdown() + if err != nil { + return err + } + fmt.Println("Document Markdown:", md) return nil } diff --git a/internal/ingestion/parser/xls_parser.go b/internal/ingestion/parser/xls_parser.go index 5aa0f402a2..7cf46b9447 100644 --- a/internal/ingestion/parser/xls_parser.go +++ b/internal/ingestion/parser/xls_parser.go @@ -16,7 +16,11 @@ package parser -import "fmt" +import ( + "fmt" + + officeOxide "github.com/yfedoseev/office_oxide/go" +) type XLSParser struct { } @@ -27,6 +31,30 @@ func NewXLSParser() *XLSParser { func (p *XLSParser) Parse(filename string, data []byte) error { fmt.Printf("Parsing XLS file: %s\n", filename) + doc, err := officeOxide.OpenFromBytes(data, "xls") + if err != nil { + return err + } + defer doc.Close() + + docFormat, err := doc.Format() + if err != nil { + return err + } + + fmt.Println("Document format:", docFormat) + + docContext, err := doc.PlainText() + if err != nil { + return err + } + fmt.Println("Document context:", docContext) + + md, err := doc.ToMarkdown() + if err != nil { + return err + } + fmt.Println("Document Markdown:", md) return nil } diff --git a/internal/ingestion/parser/xlsx_parser.go b/internal/ingestion/parser/xlsx_parser.go index 4a8548346e..7d822d42c3 100644 --- a/internal/ingestion/parser/xlsx_parser.go +++ b/internal/ingestion/parser/xlsx_parser.go @@ -16,7 +16,11 @@ package parser -import "fmt" +import ( + "fmt" + + officeOxide "github.com/yfedoseev/office_oxide/go" +) type XLSXParser struct { } @@ -27,6 +31,30 @@ func NewXLSXParser() *XLSXParser { func (p *XLSXParser) Parse(filename string, data []byte) error { fmt.Printf("Parsing XLSX file: %s\n", filename) + doc, err := officeOxide.OpenFromBytes(data, "xlsx") + if err != nil { + return err + } + defer doc.Close() + + docFormat, err := doc.Format() + if err != nil { + return err + } + + fmt.Println("Document format:", docFormat) + + docContext, err := doc.PlainText() + if err != nil { + return err + } + fmt.Println("Document context:", docContext) + + md, err := doc.ToMarkdown() + if err != nil { + return err + } + fmt.Println("Document Markdown:", md) return nil }