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 }