2019-07-25 19:43:46 +03:00
// Copyright 2017 FoxyUtils ehf. All rights reserved.
2017-08-28 20:56:18 -05:00
package main
import (
2019-05-04 11:18:06 +03:00
"github.com/unidoc/unioffice/document"
"github.com/unidoc/unioffice/measurement"
"github.com/unidoc/unioffice/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" )
}