github.com/signintech/pdft@v0.5.0/xref_data.go (about) 1 package pdft 2 3 import ( 4 "errors" 5 "strconv" 6 "strings" 7 ) 8 9 // XrefData nnnnnnnnnn ggggg x eol 10 type XrefData struct { 11 N10Digit int //nnnnnnnnnn 12 G5Digit int //ggggg 13 Keyword string //x 14 } 15 16 func (x *XrefData) parse(xrefline string) error { 17 xrefline = strings.TrimSpace(xrefline) 18 tokens := strings.Split(xrefline, " ") 19 if len(tokens) < 3 { 20 return errors.New("bad xref format") 21 } 22 var err error 23 x.N10Digit, err = strconv.Atoi(strings.TrimSpace(tokens[0])) 24 if err != nil { 25 return err 26 } 27 28 x.G5Digit, err = strconv.Atoi(strings.TrimSpace(tokens[1])) 29 if err != nil { 30 return err 31 } 32 33 x.Keyword = strings.TrimSpace(tokens[2]) 34 if x.Keyword != "n" && x.Keyword != "f" { 35 return errors.New("unkonw xref keyword") 36 } 37 38 return nil 39 }