Common filenames used in zip packages.
const ( ContentTypesFilename = "[Content_Types].xml" BaseRelsFilename = "_rels/.rels" )
Consts for content types used throughout the package
const ( // Common strict OfficeDocumentTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/officeDocument" StylesTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/styles" ThemeTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/theme" ControlTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/control" SettingsTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/settings" ImageTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/image" CommentsTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments" ThumbnailTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/metadata/thumbnail" DrawingTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/drawing" ChartTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/chart" ExtendedPropertiesTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/extendedProperties" CustomXMLTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/customXml" // SML strict WorksheetTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" = "http://purl.oclc.org/ooxml/officeDocument/relationships/sharedStrings" // Deprecated: Renamed to SharedStringsTypeStrict, will be removed in next major version. = SharedStringsTypeStrict TableTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/table" // WML strict HeaderTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/header" = "http://purl.oclc.org/ooxml/officeDocument/relationships/footer" NumberingTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/numbering" FontTableTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/fontTable" WebSettingsTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/webSettings" FootNotesTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/footnotes" EndNotesTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/endnotes" // PML strict SlideTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/slide" // VML strict VMLDrawingTypeStrict = "http://purl.oclc.org/ooxml/officeDocument/relationships/vmlDrawing" // Common OfficeDocumentType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" StylesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" ThemeType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" ThemeContentType = "application/vnd.openxmlformats-officedocument.theme+xml" SettingsType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" ImageType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" ControlType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/control" CommentsType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments" CommentsContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" ThumbnailType = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" DrawingType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" DrawingContentType = "application/vnd.openxmlformats-officedocument.drawing+xml" ChartType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" ChartContentType = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml" HyperLinkType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" ExtendedPropertiesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" CorePropertiesType = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" CorePropertiesAltType = "http://schemas.openxmlformats.org/officedocument/2006/relationships/metadata/core-properties" CustomPropertiesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" CustomXMLType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml" TableStylesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles" ViewPropertiesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps" FontEmbeddingType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font" // SML WorksheetType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" WorksheetContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" // Deprecated: Renamed to SharedStringsType, will be removed in next major version. = SharedStringsType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" SMLStyleSheetContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" TableType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table" TableContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml" // WML HeaderType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" NumberingType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" FontTableType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" WebSettingsType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" FootNotesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes" EndNotesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes" // PML SlideType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" SlideContentType = "application/vnd.openxmlformats-officedocument.presentationml.slide+xml" SlideMasterType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" SlideMasterContentType = "application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" SlideLayoutType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" SlideLayoutContentType = "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" PresentationPropertiesType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps" HandoutMasterType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/handoutMaster" NotesMasterType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" // VML VMLDrawingType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing" VMLDrawingContentType = "application/vnd.openxmlformats-officedocument.vmlDrawing" )
MinGoVersion is used to cause a compile time error if unioffice is compiled with an older version of go. Specifically it requires modules and compatibility with older versions is not guaranteed.
const MinGoVersion = requires_go_112
Log is used to log content from within the library. The intent is to use logging sparingly, preferring to return an error. At the very least this allows redirecting logs to somewhere more appropriate than stdout.
var Log = log.Printf
func AbsoluteFilename(dt DocType, typ string, index int) string
AbsoluteFilename returns the full path to a file from the root of the zip container. Index is used in some cases for files which there may be more than one of (e.g. worksheets/drawings/charts)
func AbsoluteImageFilename(dt DocType, index int, fileExtension string) string
AbsoluteImageFilename returns the full path to an image from the root of the zip container.
func AddPreserveSpaceAttr(se *xml.StartElement, s string)
AddPreserveSpaceAttr adds an xml:space="preserve" attribute to a start element if it is required for the string s.
func Bool(v bool) *bool
Bool returns a copy of v as a pointer.
func DisableLogging()
DisableLogging sets the Log function to a no-op so that any log messages are silently discarded.
func Float32(v float32) *float32
Float32 returns a copy of v as a pointer.
func Float64(v float64) *float64
Float64 returns a copy of v as a pointer.
func Int32(v int32) *int32
Int32 returns a copy of v as a pointer.
func Int64(v int64) *int64
Int64 returns a copy of v as a pointer.
func Int8(v int8) *int8
Int8 returns a copy of v as a pointer.
func NeedsSpacePreserve(s string) bool
NeedsSpacePreserve returns true if the string has leading or trailing space.
func RegisterConstructor(ns, name string, fn interface{})
RegisterConstructor registers a constructor function used for unmarshaling xsd:any elements.
func RelativeFilename(dt DocType, relToTyp, typ string, index int) string
RelativeFilename returns a filename relative to the source file referenced from a relationships file. Index is used in some cases for files which there may be more than one of (e.g. worksheets/drawings/charts)
func RelativeImageFilename(dt DocType, relToTyp, typ string, index int, fileExtension string) string
RelativeImageFilename returns an image filename relative to the source file referenced from a relationships file. It is identical to RelativeFilename but is used particularly for images in order to handle different image formats.
func String(v string) *string
String returns a copy of v as a pointer.
func Stringf(f string, args ...interface{}) *string
Stringf formats according to a format specifier and returns a pointer to the resulting string.
func Uint16(v uint16) *uint16
Uint16 returns a copy of v as a pointer.
func Uint32(v uint32) *uint32
Uint32 returns a copy of v as a pointer.
func Uint64(v uint64) *uint64
Uint64 returns a copy of v as a pointer.
func Uint8(v uint8) *uint8
Uint8 returns a copy of v as a pointer.
Any is the interface used for marshaling/unmarshaling xsd:any
type Any interface { MarshalXML(e *xml.Encoder, start xml.StartElement) error UnmarshalXML(d *xml.Decoder, start xml.StartElement) error }
func CreateElement(start xml.StartElement) (Any, error)
CreateElement creates an element with the given namespace and name. It is used to unmarshal some xsd:any elements to the appropriate concrete type.
DocType represents one of the three document types supported (docx/xlsx/pptx)
type DocType byte
Document Type constants
const ( Unknown DocType = iota DocTypeSpreadsheet DocTypeDocument DocTypePresentation )
XSDAny is used to marshal/unmarshal xsd:any types in the OOXML schema.
type XSDAny struct { XMLName xml.Name Attrs []xml.Attr Data []byte Nodes []*XSDAny }
func (x *XSDAny) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML implements the xml.Marshaler interface.
func (x *XSDAny) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
UnmarshalXML implements the xml.Unmarshaler interface.
Name | Synopsis |
---|---|
.. | |
algo | |
chart | |
cmd | |
catdoc | |
csv2xlsx | |
docx2md | |
test-open-write | |
unprotect-xlsx | |
xlsx2csv | |
color | Package color provides color handling structures and functions for use across all of the document types. |
common | Package common contains wrapper types and utilities common to all of the OOXML document formats. |
axcontrol | |
license | Package license helps manage commercial licenses and check if they are valid for the version of UniOffice used. |
logger | |
tempstorage | |
diskstore | Package diskstore implements tempStorage interface by using disk as a storage |
memstore | Package memstore implements tempStorage interface by using memory as a storage |
document | Package document provides creation, reading, and writing of ECMA 376 Open Office XML documents. |
convert | |
drawing | |
measurement | |
presentation | |
convert | |
schema | |
purl.org | |
dc | |
elements | |
terms | |
schemas.microsoft.com | |
office | |
activeX | |
word | |
2010 | |
wordml | |
2012 | |
wordml | |
2015 | |
wordml | |
symex | |
2016 | |
wordml | |
cid | |
2018 | |
wordml | |
cex | |
2020 | |
wordml | |
sdtdatahash | |
2023 | |
wordml | |
word16du | |
soo | |
dml | |
chart | |
chartDrawing | |
diagram | |
lockedCanvas | |
picture | |
spreadsheetDrawing | |
ofc | |
custom_properties | |
docPropsVTypes | |
extended_properties | |
math | |
relationships | |
sharedTypes | |
pkg | |
content_types | |
metadata | |
core_properties | |
relationships | |
pml | |
schemaLibrary | |
sml | |
wml | |
urn | |
schemas_microsoft_com | |
office | |
excel | |
powerpoint | |
word | |
vml | |
spreadsheet | |
convert | |
format | Package format provides support for parsing and evaluating spreadsheetml/Excel number formats. |
formula | Package formula provides formula parsing and evaluation. |
reference | |
update | Package update contains definitions needed for updating references after removing rows/columns. |
testhelper | |
utils | |
vmldrawing | |
zippkg |