Address golint comments

This commit is contained in:
Gunnsteinn Hall 2017-07-31 14:21:57 +00:00
parent 7ace3c96db
commit 3c340d1085
2 changed files with 33 additions and 32 deletions

View File

@ -14,10 +14,8 @@ import (
"github.com/unidoc/unidoc/pdf/model" "github.com/unidoc/unidoc/pdf/model"
) )
// // Creator is a wrapper around functionality for creating PDF reports and/or adding new
// The content creator is a wrapper around functionality for creating PDF reports and/or adding new // content onto imported PDF pages, etc.
// content onto imported PDF pages.
//
type Creator struct { type Creator struct {
pages []*model.PdfPage pages []*model.PdfPage
activePage *model.PdfPage activePage *model.PdfPage
@ -45,19 +43,22 @@ type Creator struct {
toc *TableOfContents toc *TableOfContents
} }
// Input arguments to a front page drawing function. // FrontpageFunctionArgs holds the input arguments to a front page drawing function.
// It is designed as a struct, so additional parameters can be added in the future with backwards compatibility.
type FrontpageFunctionArgs struct { type FrontpageFunctionArgs struct {
PageNum int PageNum int
TotalPages int TotalPages int
} }
// Input arguments to a header drawing function. // HeaderFunctionArgs holds the input arguments to a header drawing function.
// It is designed as a struct, so additional parameters can be added in the future with backwards compatibility.
type HeaderFunctionArgs struct { type HeaderFunctionArgs struct {
PageNum int PageNum int
TotalPages int TotalPages int
} }
// Input arguments to a footer drawing function. // FooterFunctionArgs holds the input arguments to a footer drawing function.
// It is designed as a struct, so additional parameters can be added in the future with backwards compatibility.
type FooterFunctionArgs struct { type FooterFunctionArgs struct {
PageNum int PageNum int
TotalPages int TotalPages int
@ -71,7 +72,7 @@ type margins struct {
bottom float64 bottom float64
} }
// Create a new instance of the PDF creator. // New creates a new instance of the PDF Creator.
func New() *Creator { func New() *Creator {
c := &Creator{} c := &Creator{}
c.pages = []*model.PdfPage{} c.pages = []*model.PdfPage{}
@ -88,7 +89,7 @@ func New() *Creator {
return c return c
} }
// Set the page margins: left, right, top, bottom. // SetPageMargins sets the page margins: left, right, top, bottom.
// The default page margins are 10% of document width. // The default page margins are 10% of document width.
func (c *Creator) SetPageMargins(left, right, top, bottom float64) { func (c *Creator) SetPageMargins(left, right, top, bottom float64) {
c.pageMargins.left = left c.pageMargins.left = left
@ -97,12 +98,12 @@ func (c *Creator) SetPageMargins(left, right, top, bottom float64) {
c.pageMargins.bottom = bottom c.pageMargins.bottom = bottom
} }
// Returns the current Page width. // Width returns the current page width.
func (c *Creator) Width() float64 { func (c *Creator) Width() float64 {
return c.pageWidth return c.pageWidth
} }
// Returns the current Page height. // Height returns the current page height.
func (c *Creator) Height() float64 { func (c *Creator) Height() float64 {
return c.pageHeight return c.pageHeight
} }
@ -117,12 +118,11 @@ func (c *Creator) getActivePage() *model.PdfPage {
return nil return nil
} }
return c.pages[len(c.pages)-1] return c.pages[len(c.pages)-1]
} else {
return c.activePage
} }
return c.activePage
} }
// Set a new Page size. Pages that are added after this will be created with this Page size. // SetPageSize sets the Creator's page size. Pages that are added after this will be created with this Page size.
// Does not affect pages already created. // Does not affect pages already created.
// //
// Common page sizes are defined as constants. // Common page sizes are defined as constants.
@ -153,22 +153,22 @@ func (c *Creator) SetPageSize(size PageSize) {
c.pageMargins.bottom = m c.pageMargins.bottom = m
} }
// Set a function to draw a header on created output pages. // DrawHeader sets a function to draw a header on created output pages.
func (c *Creator) DrawHeader(drawHeaderFunc func(header *Block, args HeaderFunctionArgs)) { func (c *Creator) DrawHeader(drawHeaderFunc func(header *Block, args HeaderFunctionArgs)) {
c.drawHeaderFunc = drawHeaderFunc c.drawHeaderFunc = drawHeaderFunc
} }
// Set a function to draw a footer on created output pages. // DrawFooter sets a function to draw a footer on created output pages.
func (c *Creator) DrawFooter(drawFooterFunc func(footer *Block, args FooterFunctionArgs)) { func (c *Creator) DrawFooter(drawFooterFunc func(footer *Block, args FooterFunctionArgs)) {
c.drawFooterFunc = drawFooterFunc c.drawFooterFunc = drawFooterFunc
} }
// Set a function to generate a front Page. // CreateFrontPage sets a function to generate a front Page.
func (c *Creator) CreateFrontPage(genFrontPageFunc func(args FrontpageFunctionArgs)) { func (c *Creator) CreateFrontPage(genFrontPageFunc func(args FrontpageFunctionArgs)) {
c.genFrontPageFunc = genFrontPageFunc c.genFrontPageFunc = genFrontPageFunc
} }
// Seta function to generate table of contents. // CreateTableOfContents sets a function to generate table of contents.
func (c *Creator) CreateTableOfContents(genTOCFunc func(toc *TableOfContents) (*Chapter, error)) { func (c *Creator) CreateTableOfContents(genTOCFunc func(toc *TableOfContents) (*Chapter, error)) {
c.genTableOfContentFunc = genTOCFunc c.genTableOfContentFunc = genTOCFunc
} }
@ -203,13 +203,14 @@ func (c *Creator) initContext() {
c.context.Margins = c.pageMargins c.context.Margins = c.pageMargins
} }
// Adds a new Page to the creator and sets as the active Page. // NewPage adds a new Page to the Creator and sets as the active Page.
func (c *Creator) NewPage() { func (c *Creator) NewPage() {
page := c.newPage() page := c.newPage()
c.pages = append(c.pages, page) c.pages = append(c.pages, page)
c.context.Page++ c.context.Page++
} }
// AddPage adds the specified page to the creator.
func (c *Creator) AddPage(page *model.PdfPage) error { func (c *Creator) AddPage(page *model.PdfPage) error {
mbox, err := page.GetMediaBox() mbox, err := page.GetMediaBox()
if err != nil { if err != nil {
@ -228,8 +229,8 @@ func (c *Creator) AddPage(page *model.PdfPage) error {
return nil return nil
} }
// Rotate the current active page by angle degrees. // RotateDeg rotates the current active page by angle degrees. An error is returned on failure, which can be
// NOTE: angleDeg must be a multiple of 90. // if there is no currently active page, or the angleDeg is not a multiple of 90 degrees.
func (c *Creator) RotateDeg(angleDeg int64) error { func (c *Creator) RotateDeg(angleDeg int64) error {
page := c.getActivePage() page := c.getActivePage()
if page == nil { if page == nil {
@ -252,7 +253,7 @@ func (c *Creator) RotateDeg(angleDeg int64) error {
return nil return nil
} }
// Get current context. // Context returns the current drawing context.
func (c *Creator) Context() DrawContext { func (c *Creator) Context() DrawContext {
return c.context return c.context
} }
@ -284,7 +285,7 @@ func (c *Creator) finalize() error {
genpages += len(blocks) genpages += len(blocks)
// Update the table of content Page numbers, accounting for front Page and TOC. // Update the table of content Page numbers, accounting for front Page and TOC.
for idx, _ := range c.toc.entries { for idx := range c.toc.entries {
c.toc.entries[idx].PageNumber += genpages c.toc.entries[idx].PageNumber += genpages
} }
@ -386,33 +387,33 @@ func (c *Creator) finalize() error {
return nil return nil
} }
// Move absolute position to x, y. // MoveTo moves the drawing context to absolute coordinates (x, y).
func (c *Creator) MoveTo(x, y float64) { func (c *Creator) MoveTo(x, y float64) {
c.context.X = x c.context.X = x
c.context.Y = y c.context.Y = y
} }
// Move draw context to absolute position x. // MoveX moves the drawing context to absolute position x.
func (c *Creator) MoveX(x float64) { func (c *Creator) MoveX(x float64) {
c.context.X = x c.context.X = x
} }
// Move draw context to absolute position y. // MoveY moves the drawing context to absolute position y.
func (c *Creator) MoveY(y float64) { func (c *Creator) MoveY(y float64) {
c.context.Y = y c.context.Y = y
} }
// Move draw context right by relative position dx (negative goes left). // MoveRight moves the drawing context right by relative displacement dx (negative goes left).
func (c *Creator) MoveRight(dx float64) { func (c *Creator) MoveRight(dx float64) {
c.context.X += dx c.context.X += dx
} }
// Move draw context down by relative position dy (negative goes up). // MoveDown moves the drawing context down by relative displacement dy (negative goes up).
func (c *Creator) MoveDown(dy float64) { func (c *Creator) MoveDown(dy float64) {
c.context.Y += dy c.context.Y += dy
} }
// Draw the drawable widget to the document. This can span over 1 or more pages. Additional pages are added if // Draw draws the Drawable widget to the document. This can span over 1 or more pages. Additional pages are added if
// the contents go over the current Page. // the contents go over the current Page.
func (c *Creator) Draw(d Drawable) error { func (c *Creator) Draw(d Drawable) error {
if c.getActivePage() == nil { if c.getActivePage() == nil {
@ -478,7 +479,7 @@ func (c *Creator) Write(ws io.WriteSeeker) error {
return nil return nil
} }
// Set Writer access hook. // SetPdfWriterAccessFunc sets a PdfWriter access function/hook.
// Exposes the PdfWriter just prior to writing the PDF. Can be used to encrypt the output PDF, etc. // Exposes the PdfWriter just prior to writing the PDF. Can be used to encrypt the output PDF, etc.
// //
// Example of encrypting with a user/owner password "password" // Example of encrypting with a user/owner password "password"
@ -495,7 +496,7 @@ func (c *Creator) SetPdfWriterAccessFunc(pdfWriterAccessFunc func(writer *model.
c.pdfWriterAccessFunc = pdfWriterAccessFunc c.pdfWriterAccessFunc = pdfWriterAccessFunc
} }
// Write output of creator to file. // WriteToFile writes the Creator output to file specified by path.
func (c *Creator) WriteToFile(outputPath string) error { func (c *Creator) WriteToFile(outputPath string) error {
fWrite, err := os.Create(outputPath) fWrite, err := os.Create(outputPath)
if err != nil { if err != nil {

View File

@ -4,7 +4,7 @@
*/ */
// //
// The creator is used for quickly generating pages and content with a simple interface. // Package creator is used for quickly generating pages and content with a simple interface.
// It is built on top of the model package to provide access to the most common // It is built on top of the model package to provide access to the most common
// operations such as creating text and image reports and manipulating existing pages. // operations such as creating text and image reports and manipulating existing pages.
// //