本文整理汇总了Golang中github.com/jelmersnoeck/dogen/renderer/documents.Document类的典型用法代码示例。如果您正苦于以下问题:Golang Document类的具体用法?Golang Document怎么用?Golang Document使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Document类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: setPosition
func (b *TextBox) setPosition(doc documents.Document) {
if b.Position.Y >= 0 {
doc.SetY(b.Position.Y)
}
if b.Position.X >= 0 {
doc.SetX(b.Position.X)
}
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:9,代码来源:text_box.go
示例2: Register
// Register will register a font to the document for later usage.
func (f FontType) Register(doc documents.Document) {
if f.Color != "" {
doc.SetTextColor(utils.HexToRGB(f.Color))
}
if f.Type != "" && f.Size != 0 {
doc.SetFont(f.Type, f.Weight, f.Size)
}
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:10,代码来源:font_type.go
示例3: Parse
// Parse will draw the rectangle on the document with the given attributes.
func (b *Rectangle) Parse(doc documents.Document) {
if b.Rotation != 0 {
doc.TransformBegin()
fmt.Println(b.Position.X + b.Width/2)
fmt.Println(b.Position.Y + b.Height/2)
doc.TransformRotate(b.Rotation, b.Position.X+b.Width/2, b.Position.Y+b.Height/2)
}
doc.SetFillColor(utils.HexToRGB(b.Color))
doc.Rect(b.Position.X, b.Position.Y, b.Width, b.Height, "F")
if b.Rotation != 0 {
doc.TransformEnd()
}
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:16,代码来源:rectangle.go
示例4: getRotation
func (b *TextBox) getRotation(doc documents.Document) (rotationX float64, rotationY float64) {
if b.Width == 0 {
pageWidth, _ := doc.GetPageSize()
leftMargin, _, rightMargin, _ := doc.GetMargins()
rotationX = (pageWidth - leftMargin - rightMargin - b.Position.X) / 2
} else {
rotationX = b.Position.X + b.Width/2
}
if b.Height == 0 {
rotationY = b.Position.Y + doc.PointConvert(b.Font.LineHeight)/2
} else {
rotationY = b.Position.Y + b.Height/2
}
return
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:18,代码来源:text_box.go
示例5: Parse
// Parse will draw the line on the document for the given position and color.
func (b *Line) Parse(doc documents.Document) {
doc.SetDrawColor(utils.HexToRGB(b.Color))
doc.Line(b.Position.X, b.Position.Y, b.Position.X+b.W, b.Position.Y+b.H)
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:5,代码来源:line.go
示例6: Parse
// Parse will add a new page to the document and set the appropiate page
// settings.
func (b *AddPage) Parse(doc documents.Document) {
doc.AddPage()
doc.SetMargins(b.Margin.Left, b.Margin.Top, b.Margin.Right)
doc.SetAutoPageBreak(true, b.Margin.Bottom)
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:7,代码来源:add_page.go
示例7: Parse
// Parse puts an image on the specified document for a specific position.
func (i *Image) Parse(doc documents.Document) {
tp := doc.ImageTypeFromMime(i.Mime)
doc.RegisterImageReader(i.Url, tp, i.Image)
doc.Image(i.Url, i.X, i.Y, i.W, i.H, false, tp, 0, "")
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:6,代码来源:image.go
示例8: Parse
// Parse puts the text on a specific position on the page.
func (b *TextBox) Parse(doc documents.Document) {
b.Font.Register(doc)
if b.Rotation != 0 {
doc.TransformBegin()
rotationX, rotationY := b.getRotation(doc)
doc.TransformRotate(b.Rotation, rotationX, rotationY)
}
if b.Text != "" {
b.setPosition(doc)
doc.MultiCell(b.Width, doc.PointConvert(b.Font.LineHeight), b.Text, "", b.Align, b.Fill)
}
if b.HTML != "" {
leftMargin, topMargin, rightMargin, _ := doc.GetMargins()
doc.SetLeftMargin(leftMargin + b.Position.X)
doc.SetY(b.Position.Y + topMargin)
if b.Width > 0 {
pageWidth, _ := doc.GetPageSize()
rm := pageWidth - rightMargin - (b.Position.X + b.Width)
doc.SetRightMargin(rm)
}
html := doc.HTMLBasicNew()
html.Write(doc.PointConvert(b.Font.LineHeight), b.HTML)
doc.SetLeftMargin(leftMargin)
doc.SetRightMargin(rightMargin)
}
if b.Rotation != 0 {
doc.TransformEnd()
}
}
开发者ID:jelmersnoeck,项目名称:dogen,代码行数:38,代码来源:text_box.go
注:本文中的github.com/jelmersnoeck/dogen/renderer/documents.Document类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论