2017-08-28 20:56:18 -05:00
// Copyright 2017 Baliance. All rights reserved.
package main
import (
"baliance.com/gooxml/document"
"baliance.com/gooxml/measurement"
2017-09-23 08:28:52 -05:00
"baliance.com/gooxml/schema/soo/wml"
2017-08-28 20:56:18 -05:00
)
var lorem = ` Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lobortis, lectus dictum feugiat tempus, sem neque finibus enim, sed eleifend sem nunc ac diam. Vestibulum tempus sagittis elementum `
func main ( ) {
doc := document . New ( )
2017-09-08 09:59:23 +08:00
// Headers/footers apply to the preceding paragraphs in the document. There
2017-08-28 20:56:18 -05:00
// is a section properties on the document body itself acessible via
// BodySection(). To have multiple different headers (aside from the
// supported even/odd/first), we need to add multiple sections.
// First add some content
for i := 0 ; i < 5 ; i ++ {
para := doc . AddParagraph ( )
run := para . AddRun ( )
run . AddText ( lorem )
}
// Construct our header
hdr := doc . AddHeader ( )
para := hdr . AddParagraph ( )
2017-08-31 19:28:39 -05:00
para . Properties ( ) . AddTabStop ( 2.5 * measurement . Inch , wml . ST_TabJcCenter , wml . ST_TabTlcNone )
2017-08-28 20:56:18 -05:00
run := para . AddRun ( )
run . AddTab ( )
run . AddText ( "My Document Title" )
// Create a new section and apply the header
para = doc . AddParagraph ( )
2017-08-31 19:28:39 -05:00
section := para . Properties ( ) . AddSection ( wml . ST_SectionMarkNextPage )
2017-08-28 20:56:18 -05:00
section . SetHeader ( hdr , wml . ST_HdrFtrDefault )
// Add some more content
for i := 0 ; i < 5 ; i ++ {
para := doc . AddParagraph ( )
run := para . AddRun ( )
run . AddText ( lorem )
}
hdr = doc . AddHeader ( )
para = hdr . AddParagraph ( )
2017-08-31 19:28:39 -05:00
para . Properties ( ) . AddTabStop ( 2.5 * measurement . Inch , wml . ST_TabJcCenter , wml . ST_TabTlcNone )
2017-08-28 20:56:18 -05:00
run = para . AddRun ( )
run . AddTab ( )
run . AddText ( "Different Title" )
doc . BodySection ( ) . SetHeader ( hdr , wml . ST_HdrFtrDefault )
doc . SaveToFile ( "header-footer-multiple.docx" )
}