开发GPT知识库功能时,需要上传word文档让知识库向量化,Golang读取word文档功能。
找到一个开源库 baliance.com/gooxml/document,但是只支持docx后缀,下面是使用方法
- import (
- "baliance.com/gooxml/document"
- )
- func ReadDocxAll(fileName string) (string, error) {
- doc, err := document.Open(fileName)
- if err != nil {
- return "", err
- }
- text := ""
-
- for _, para := range doc.Paragraphs() {
- //run为每个段落相同格式的文字组成的片段
- for _, run := range para.Runs() {
- text += run.Text()
- }
- }
- return text, nil
- }
会把所有文本都读取到一块去。