當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Reader.Seek方法代碼示例

本文整理匯總了Golang中github.com/yob/pdfreader/fancy.Reader.Seek方法的典型用法代碼示例。如果您正苦於以下問題:Golang Reader.Seek方法的具體用法?Golang Reader.Seek怎麽用?Golang Reader.Seek使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/yob/pdfreader/fancy.Reader的用法示例。


在下文中一共展示了Reader.Seek方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: refToken

func refToken(f fancy.Reader) ([]byte, int64) {
	tok, p := ps.Token(f)
	if len(tok) > 0 && tok[0] >= '0' && tok[0] <= '9' {
		ps.Token(f)
		r, q := ps.Token(f)
		if string(r) == "R" {
			f.Seek(p, 0)
			tok = f.Slice(int(1 + q - p))
		} else {
			f.Seek(p+int64(len(tok)), 0)
		}
	}
	return tok, p
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:14,代碼來源:pdfread.go

示例2: xrefRead

// xrefRead() reads the xref table(s) of a PDF file. This is not recursive
// in favour of not to have to keep track of already used starting points
// for xrefs.
func xrefRead(f fancy.Reader, p int) map[int]int {
	var back [MAX_PDF_UPDATES]int
	b := 0
	s := _Bytes
	for ok := true; ok; {
		back[b] = p
		b++
		p = xrefSkip(f, p)
		f.Seek(int64(p), 0)
		s, _ = ps.Token(f)
		if string(s) != "trailer" {
			return nil
		}
		s, _ = ps.Token(f)
		s, ok = Dictionary(s)["/Prev"]
		p = num(s)
	}
	r := make(map[int]int)
	for b != 0 {
		b--
		f.Seek(int64(back[b]), 0)
		ps.Token(f) // skip "xref"
		for {
			m := tupel(f, 2)
			if string(m[0]) == "trailer" {
				break
			}
			ps.SkipLE(f)
			o := num(m[0])
			dat := f.Slice(num(m[1]) * 20)
			for i := 0; i < len(dat); i += 20 {
				if dat[i+17] != 'n' {
					delete(r, o)
				} else {
					r[o] = num(dat[i : i+10])
				}
				o++
			}
		}
	}
	return r
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:45,代碼來源:pdfread.go

示例3: eexec

func eexec(rdr fancy.Reader) []byte {
	fpos, _ := rdr.Seek(0, 1)
	b := fancy.ReadAll(rdr)
	cnt := 0
	pos := 0
	k := 0
	for ; cnt < 256 && k < len(b); k++ {
		switch b[k] {
		case 32, 10, 13, 9:
		case '0':
			cnt++
		default:
			cnt = 0
			pos = k + 1
		}
	}
	b = b[0:pos]
	rdr.Seek(fpos+int64(k), 0)
	if hex.IsHex(b[0]) {
		b = hex.Decode(string(b))
	}
	return T1Decrypt(EEXEC_KEY, b)[4:]
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:23,代碼來源:type1.go

示例4: Token

func Token(f fancy.Reader) ([]byte, int64) {
again:
	c := skipSpaces(f)
	if c == 0 {
		return []byte{}, -1
	}
	p := fpos(f) - 1
	switch c {
	case '%':
		skipComment(f)
		goto again
	case '<', '[', '{':
		skipComposite(f)
	case '(':
		skipString(f)
	default:
		if skipToDelim(f) != 255 {
			f.UnreadByte()
		}
	}
	n := int(fpos(f) - p)
	f.Seek(p, 0)
	return f.Slice(n), p
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:24,代碼來源:ps.go

示例5: xrefSkip

// xrefSkip() queries the start of the trailer for a (partial) xref-table.
func xrefSkip(f fancy.Reader, xref int) int {
	f.Seek(int64(xref), 0)
	t, p := ps.Token(f)
	if string(t) != "xref" {
		return -1
	}
	for {
		t, p = ps.Token(f)
		if t[0] < '0' || t[0] > '9' {
			f.Seek(p, 0)
			break
		}
		t, _ = ps.Token(f)
		ps.SkipLE(f)
		f.Seek(int64(num(t)*20), 1)
	}
	r, _ := f.Seek(0, 1)
	return int(r)
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:20,代碼來源:pdfread.go

示例6: fpos

func fpos(f fancy.Reader) int64 {
	r, _ := f.Seek(0, 1)
	return r
}
開發者ID:noypi,項目名稱:pdfreader,代碼行數:4,代碼來源:ps.go


注:本文中的github.com/yob/pdfreader/fancy.Reader.Seek方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。