docx

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

README

simple-go-docx

介绍

golang 生成简单docx文档,纯文本样式


包结构
graph LR
    A(simple-go-docx)--package-->B((docx))
    A--dir-->C{{document}}--package-->D((document))
    A--dir-->E{{paragraph}}--package-->F((paragraph))
    A--dir-->G{{run}}--package-->H((run))
    A--dir-->I{{styles}}--package-->J((styles))
    A--dir-->K[(templates)]
安装
go get -u gitee.com/jn-qq/simple-go-docx

使用说明

simple-go-docx/docx_test.go

    // 创建docx文档对象
	document := NewDocx()

	// 修改默认样式
	defaultStyle := document.GetStyle("Normal")
	defaultStyle.TextStyle.SetFont("楷体")

	//添加段落
	p1 := document.AddParagraph()
	//设置段落格式
	p1.Style.IndFirst()
	// 添加文本
	r1 := p1.AddText("测试所有字体格式")
	// 设置文本格式
	r1.Style.SetSize(shared.Pt(10)).SetColor("FF0000").SetFont("楷体").
		SetBold().SetItalic().SetUnderLine("wave").
		HighlightColor(shared.ColorLib.Yellow)

	// 添加文本
	p1.AddText("段落新增文本1")
	p1.AddText("段落新增文本2")

	// 简单连写添加
	p2 := document.AddParagraph()
	p2.Style.SetHead(2).XLineSpace(2)
	p2.AddText("段落2文本").Style.SetColor("FF0000").SetFont("楷体")

	// 自定义样式
	style := styles.NewCustomStyle("自定义样式1", "paragraph")
	// 设置具体样式
	style.ParagraphStyle.IndFirst().XLineSpace(2)
	style.TextStyle.SetFont("楷体").SetSize(shared.Pt(20)).SetColor(shared.ColorLib.Blue)
	// 添加声明样式 获取id
	sid := document.AddCustomStyle(&style)

	// 添加段落指定段落样式
	p3 := document.AddParagraph()
	p3.Style.SetHead(sid)
	p3.AddText("自定义段落样式")

	// 添加字符样式
	//cs := docx.NewCustomStyle("自定义段落样式", "character")
	//添加属性。。。

	_, path, _, _ := runtime.Caller(0)
	path, _ = filepath.Split(path)

	err := document.Save(filepath.Join(path, "test.docx"))
	if err != nil {
		panic(err)
	}


参考
  1. go-docx

  2. ooxml

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Docx

type Docx struct {
	Document document.Document // word/document.xml 文档内容
	// contains filtered or unexported fields
}

func NewDocx

func NewDocx() *Docx

NewDocx 生成一个新的空 A4 docx 文件,我们可以对其进行操作和保存

func (*Docx) AddCustomStyle

func (d *Docx) AddCustomStyle(style *styles.CustomStyle) int64

AddCustomStyle 添加自定义样式

styleType 样式类型,可选:character|paragraph|tab|...

example:
	// 创建自定义样式对象
	style := styles.NewCustomStyle("自定义样式1", "paragraph")
	style.ParagraphStyle.IndFirst().XLineSpace(2)
	style.TextStyle.SetFont("楷体").SetSize(shared.Pt(20)).SetColor(shared.ColorLib.Blue)
	// 添加声明样式 获取id
	sid := document.AddCustomStyle(style)

	//添加段落指定段落样式 Head 中的参数要-1
	p := document.AddParagraph()
	p.Style.SetHead(sid - 1)
	p.AddText("自定义段落样式")

func (*Docx) AddParagraph

func (d *Docx) AddParagraph() *paragraph.Paragraph

AddParagraph 添加段落,可对该段落设置样式

func (*Docx) GetStyle

func (d *Docx) GetStyle(styleName string) *styles.CustomStyle

GetStyle 获取已存在的样式

func (*Docx) Save

func (d *Docx) Save(savePath string) error

Save 保存docx文档

savePath:文档保存路径,仅支持.docx文档

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL