diff options
| author | Kurt <kurt.w.jung@gmail.com> | 2019-04-09 10:10:03 -0400 | 
|---|---|---|
| committer | Kurt <kurt.w.jung@gmail.com> | 2019-04-09 10:10:03 -0400 | 
| commit | 83024250a9829a15db59ff414a36984300c98771 (patch) | |
| tree | c19ea55a3a02ef3efc8a832f9dd2307a2bc096ea | |
| parent | 24315acbbda57c4f6b80c8441fd108087dd7e305 (diff) | |
Add PageCount() method
| -rw-r--r-- | def.go | 33 | ||||
| -rw-r--r-- | fpdf.go | 9 | 
2 files changed, 25 insertions, 17 deletions
| @@ -321,14 +321,14 @@ type Pdf interface {  	AddPageFormat(orientationStr string, size SizeType)  	AddSpotColor(nameStr string, c, m, y, k byte)  	AliasNbPages(aliasStr string) -	Arc(x, y, rx, ry, degRotate, degStart, degEnd float64, styleStr string)  	ArcTo(x, y, rx, ry, degRotate, degStart, degEnd float64) +	Arc(x, y, rx, ry, degRotate, degStart, degEnd float64, styleStr string)  	BeginLayer(id int)  	Beziergon(points []PointType, styleStr string)  	Bookmark(txtStr string, level int, y float64) -	Cell(w, h float64, txtStr string)  	CellFormat(w, h float64, txtStr, borderStr string, ln int, alignStr string, fill bool, link int, linkStr string)  	Cellf(w, h float64, fmtStr string, args ...interface{}) +	Cell(w, h float64, txtStr string)  	Circle(x, y, r float64, styleStr string)  	ClearError()  	ClipCircle(x, y, r float64, outline bool) @@ -340,13 +340,13 @@ type Pdf interface {  	ClipText(x, y float64, txtStr string, outline bool)  	Close()  	ClosePath() -	CreateTemplate(fn func(*Tpl)) Template  	CreateTemplateCustom(corner PointType, size SizeType, fn func(*Tpl)) Template -	Curve(x0, y0, cx, cy, x1, y1 float64, styleStr string) -	CurveBezierCubic(x0, y0, cx0, cy0, cx1, cy1, x1, y1 float64, styleStr string) +	CreateTemplate(fn func(*Tpl)) Template  	CurveBezierCubicTo(cx0, cy0, cx1, cy1, x, y float64) +	CurveBezierCubic(x0, y0, cx0, cy0, cx1, cy1, x1, y1 float64, styleStr string)  	CurveCubic(x0, y0, cx0, cy0, x1, y1, cx1, cy1 float64, styleStr string)  	CurveTo(cx, cy, x, y float64) +	Curve(x0, y0, cx, cy, x1, y1 float64, styleStr string)  	DrawPath(styleStr string)  	Ellipse(x, y, rx, ry, degRotate float64, styleStr string)  	EndLayer() @@ -365,8 +365,8 @@ type Pdf interface {  	GetImageInfo(imageStr string) (info *ImageInfoType)  	GetLineWidth() float64  	GetMargins() (left, top, right, bottom float64) -	GetPageSize() (width, height float64)  	GetPageSizeStr(sizeStr string) (size SizeType) +	GetPageSize() (width, height float64)  	GetStringWidth(s string) float64  	GetTextColor() (int, int, int)  	GetTextSpotColor() (name string, c, m, y, k byte) @@ -377,19 +377,20 @@ type Pdf interface {  	Image(imageNameStr string, x, y, w, h float64, flow bool, tp string, link int, linkStr string)  	ImageOptions(imageNameStr string, x, y, w, h float64, flow bool, options ImageOptions, link int, linkStr string)  	ImageTypeFromMime(mimeStr string) (tp string) -	Line(x1, y1, x2, y2 float64) -	LineTo(x, y float64)  	LinearGradient(x, y, w, h float64, r1, g1, b1, r2, g2, b2 int, x1, y1, x2, y2 float64) -	Link(x, y, w, h float64, link int) +	LineTo(x, y float64) +	Line(x1, y1, x2, y2 float64)  	LinkString(x, y, w, h float64, linkStr string) +	Link(x, y, w, h float64, link int)  	Ln(h float64)  	MoveTo(x, y float64)  	MultiCell(w, h float64, txtStr, borderStr, alignStr string, fill bool)  	Ok() bool  	OpenLayerPane() -	Output(w io.Writer) error  	OutputAndClose(w io.WriteCloser) error  	OutputFileAndClose(fileStr string) error +	Output(w io.Writer) error +	PageCount() int  	PageNo() int  	PageSize(pageNum int) (wd, ht float64, unitStr string)  	PointConvert(pt float64) (u float64) @@ -404,7 +405,6 @@ type Pdf interface {  	RegisterImageOptions(fileStr string, options ImageOptions) (info *ImageInfoType)  	RegisterImageOptionsReader(imgName string, options ImageOptions, r io.Reader) (info *ImageInfoType)  	RegisterImageReader(imgName, tp string, r io.Reader) (info *ImageInfoType) -	SVGBasicWrite(sb *SVGBasicType, scale float64)  	SetAcceptPageBreakFunc(fnc func() bool)  	SetAlpha(alpha float64, blendModeStr string)  	SetAuthor(authorStr string, isUTF8 bool) @@ -450,14 +450,14 @@ type Pdf interface {  	SetTextSpotColor(nameStr string, tint byte)  	SetTitle(titleStr string, isUTF8 bool)  	SetTopMargin(margin float64) +	SetXmpMetadata(xmpStream []byte)  	SetX(x float64)  	SetXY(x, y float64) -	SetXmpMetadata(xmpStream []byte)  	SetY(y float64)  	SplitLines(txt []byte, w float64) [][]byte  	String() string +	SVGBasicWrite(sb *SVGBasicType, scale float64)  	Text(x, y float64, txtStr string) -	Transform(tm TransformMatrix)  	TransformBegin()  	TransformEnd()  	TransformMirrorHorizontal(x float64) @@ -472,18 +472,19 @@ type Pdf interface {  	TransformSkew(angleX, angleY, x, y float64)  	TransformSkewX(angleX, x, y float64)  	TransformSkewY(angleY, x, y float64) +	Transform(tm TransformMatrix)  	TransformTranslate(tx, ty float64)  	TransformTranslateX(tx float64)  	TransformTranslateY(ty float64)  	UnicodeTranslatorFromDescriptor(cpStr string) (rep func(string) string)  	UnitToPointConvert(u float64) (pt float64) -	UseTemplate(t Template)  	UseTemplateScaled(t Template, corner PointType, size SizeType) -	Write(h float64, txtStr string) +	UseTemplate(t Template)  	WriteAligned(width, lineHeight float64, textStr, alignStr string) +	Writef(h float64, fmtStr string, args ...interface{}) +	Write(h float64, txtStr string)  	WriteLinkID(h float64, displayStr string, linkID int)  	WriteLinkString(h float64, displayStr, targetStr string) -	Writef(h float64, fmtStr string, args ...interface{})  }  // PageBox defines the coordinates and extent of the various page box types @@ -385,13 +385,20 @@ func (f *Fpdf) SetPageBox(t string, x, y, wd, ht float64) {  }  // SetPage sets the current page to that of a valid page in the PDF document. -// The SetPage() example demonstrates this method. +// pageNum is one-based. The SetPage() example demonstrates this method.  func (f *Fpdf) SetPage(pageNum int) {  	if (pageNum > 0) && (pageNum < len(f.pages)) {  		f.page = pageNum  	}  } +// PageCount returns the number of pages currently in the document. Since page +// numbers in gofpdf are one-based, the page count is the same as the page +// number of the current last page. +func (f *Fpdf) PageCount() int { +	return len(f.pages) - 1 +} +  // SetFontLocation sets the location in the file system of the font and font  // definition files.  func (f *Fpdf) SetFontLocation(fontDirStr string) { | 
