Files
rag-local/common/pdf_parser.go
T
2026-08-05 10:28:44 +08:00

36 lines
610 B
Go

package common
import (
"io"
"os"
"strings"
"github.com/pdfcpu/pdfcpu/pkg/api"
)
type pdfParser struct{}
// Parse PDF:抽取全部文本,按页分隔(分页符供分块器识别)
func (p *pdfParser) Parse(path string) (string, error) {
f, err := os.Open(path)
if err != nil {
return "", err
}
defer f.Close()
var sb strings.Builder
err = api.ExtractContent(f, nil, func(r io.Reader, _ int) error {
b, err := io.ReadAll(r)
if err != nil {
return err
}
sb.Write(b)
sb.WriteString("\n\n")
return nil
}, nil)
if err != nil {
return "", err
}
return sb.String(), nil
}