Open Document Format (ODF) producer library for Go (golang).
Формирование документа в формате Open Document (ODF) для языка Go (golang).
Формирование документа заключается в последовательном вызове инструкций Форматтера, который выполняет модификацию одной или нескольких частей модели документа. Затем вызывается процедура генерации файла-архива .odf
Клиентский код изолируется от особенностей структуры документа ODF.
Необходимость форматтера обсуловлена тем, что стандарт ODF предполагает изменение видимого содержимого документа посредством изменений в нескольких местах модели документа (стили, встроенные файлы, и т.д.)
go get github.com/kpmy/odf
В пакете demo есть пример использования ODF для формирования отчета.
This library is for generation of ODF document with Go.
You can produce a document with content by calling the Formatter methods. Then you can save this document to zip-file .odf
No need for your code to handle with ODF XML content. More examples in demo/report.go
package main
import (
"odf/generators"
"odf/mappers"
"odf/model"
_ "odf/model/stub" //don't forget pimpl
"odf/xmlns"
"os"
)
func main() {
if output, err := os.Create("demo2.odf"); err == nil {
//we need an empty model
m := model.ModelFactory()
//standard formatter
fm := &mappers.Formatter{}
//couple them
fm.ConnectTo(m)
//we want text
fm.MimeType = xmlns.MimeText
//yes we can
fm.Init()
//pretty simple
fm.WriteString("Hello, World!")
//store file
generators.GeneratePackage(m, nil, output, fm.MimeType)
//cleanup
defer output.Close()
}
}
It works in browser now. Got Demo3, GopherJS + Dart.