Documentation ¶
Overview ¶
Package common contains wrapper types and utilities common to all of the OOXML document formats.
Index ¶
- type AppProperties
- func (a AppProperties) Application() string
- func (a AppProperties) ApplicationVersion() string
- func (a AppProperties) Company() string
- func (a AppProperties) SetApplication(s string)
- func (a AppProperties) SetApplicationVersion(s string)
- func (a AppProperties) SetCompany(s string)
- func (a AppProperties) SetDocSecurity(v int32)
- func (a AppProperties) SetLinksUpToDate(v bool)
- func (a AppProperties) X() *extended_properties.Properties
- type ContentTypes
- func (c ContentTypes) AddDefault(fileExtension string, contentType string)
- func (c ContentTypes) AddOverride(path, contentType string)
- func (c ContentTypes) EnsureDefault(ext, contentType string)
- func (c ContentTypes) EnsureOverride(path, contentType string)
- func (c ContentTypes) RemoveOverride(path string)
- func (c ContentTypes) X() *content_types.Types
- type CoreProperties
- func (c CoreProperties) Author() string
- func (c CoreProperties) Category() string
- func (c CoreProperties) ContentStatus() string
- func (c CoreProperties) Created() time.Time
- func (c CoreProperties) Description() string
- func (c CoreProperties) LastModifiedBy() string
- func (c CoreProperties) Modified() time.Time
- func (c CoreProperties) SetAuthor(s string)
- func (c CoreProperties) SetCategory(s string)
- func (c CoreProperties) SetContentStatus(s string)
- func (c CoreProperties) SetCreated(t time.Time)
- func (c CoreProperties) SetDescription(s string)
- func (c CoreProperties) SetLanguage(s string)
- func (c CoreProperties) SetLastModifiedBy(s string)
- func (c CoreProperties) SetModified(t time.Time)
- func (c CoreProperties) SetTitle(s string)
- func (c CoreProperties) Title() string
- func (c CoreProperties) X() *core_properties.CoreProperties
- type DocBase
- type ExtraFile
- type Hyperlink
- type Image
- type ImageRef
- type Relationship
- type Relationships
- func (r Relationships) AddAutoRelationship(dt gooxml.DocType, src string, idx int, ctype string) Relationship
- func (r Relationships) AddHyperlink(target string) Hyperlink
- func (r Relationships) AddRelationship(target, ctype string) Relationship
- func (r Relationships) Clear()
- func (r Relationships) FindRIDForN(i int, t string) string
- func (r Relationships) IsEmpty() bool
- func (r Relationships) Relationships() []Relationship
- func (r Relationships) X() *relationships.Relationships
- type Theme
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppProperties ¶
type AppProperties struct {
// contains filtered or unexported fields
}
AppProperties contains properties specific to the document and the application that created it.
func NewAppProperties ¶
func NewAppProperties() AppProperties
NewAppProperties constructs a new AppProperties.
func (AppProperties) Application ¶
func (a AppProperties) Application() string
Application returns the name of the application that created the document. For gooxml created documents, it defaults to baliance.com/gooxml
func (AppProperties) ApplicationVersion ¶
func (a AppProperties) ApplicationVersion() string
ApplicationVersion returns the version of the application that created the document.
func (AppProperties) Company ¶
func (a AppProperties) Company() string
Company returns the name of the company that created the document. For gooxml created documents, it defaults to baliance.com/gooxml
func (AppProperties) SetApplication ¶
func (a AppProperties) SetApplication(s string)
SetApplication sets the name of the application that created the document.
func (AppProperties) SetApplicationVersion ¶
func (a AppProperties) SetApplicationVersion(s string)
SetApplicationVersion sets the version of the application that created the document. Per MS, the verison string mut be in the form 'XX.YYYY'.
func (AppProperties) SetCompany ¶
func (a AppProperties) SetCompany(s string)
SetCompany sets the name of the company that created the document.
func (AppProperties) SetDocSecurity ¶ added in v0.6.0
func (a AppProperties) SetDocSecurity(v int32)
SetDocSecurity sets the document security flag.
func (AppProperties) SetLinksUpToDate ¶ added in v0.6.0
func (a AppProperties) SetLinksUpToDate(v bool)
SetLinksUpToDate sets the links up to date flag.
func (AppProperties) X ¶
func (a AppProperties) X() *extended_properties.Properties
X returns the inner wrapped XML type.
type ContentTypes ¶
type ContentTypes struct {
// contains filtered or unexported fields
}
ContentTypes is the top level "[Content_Types].xml" in a zip package.
func NewContentTypes ¶
func NewContentTypes() ContentTypes
NewContentTypes returns a wrapper around a newly constructed content-types.
func (ContentTypes) AddDefault ¶
func (c ContentTypes) AddDefault(fileExtension string, contentType string)
AddDefault registers a default content type for a given file extension.
func (ContentTypes) AddOverride ¶
func (c ContentTypes) AddOverride(path, contentType string)
AddOverride adds an override content type for a given path name.
func (ContentTypes) EnsureDefault ¶ added in v0.6.0
func (c ContentTypes) EnsureDefault(ext, contentType string)
EnsureDefault esnures that an extension and default content type exist, adding it if necessary.
func (ContentTypes) EnsureOverride ¶ added in v0.2.0
func (c ContentTypes) EnsureOverride(path, contentType string)
EnsureOverride ensures that an override for the given path exists, adding it if necessary
func (ContentTypes) RemoveOverride ¶ added in v0.6.0
func (c ContentTypes) RemoveOverride(path string)
RemoveOverride removes an override given a path.
func (ContentTypes) X ¶
func (c ContentTypes) X() *content_types.Types
X returns the inner raw content types.
type CoreProperties ¶
type CoreProperties struct {
// contains filtered or unexported fields
}
CoreProperties contains document specific properties.
Example ¶
package main import ( "fmt" "time" "baliance.com/gooxml/document" ) func main() { doc, _ := document.Open("document.docx") cp := doc.CoreProperties // Reading Properties fmt.Println("Title:", cp.Title()) fmt.Println("Author:", cp.Author()) fmt.Println("Description:", cp.Description()) fmt.Println("Last Modified By:", cp.LastModifiedBy()) fmt.Println("Category:", cp.Category()) fmt.Println("Content Status:", cp.ContentStatus()) fmt.Println("Created:", cp.Created()) fmt.Println("Modified:", cp.Modified()) // Setting Properties cp.SetTitle("CP Invoices") cp.SetAuthor("John Doe") cp.SetCategory("Invoices") cp.SetContentStatus("Draft") cp.SetLastModifiedBy("Jane Smith") cp.SetCreated(time.Now()) cp.SetModified(time.Now()) doc.SaveToFile("document.docx") }
Output:
func NewCoreProperties ¶
func NewCoreProperties() CoreProperties
NewCoreProperties constructs a new CoreProperties.
func (CoreProperties) Author ¶
func (c CoreProperties) Author() string
Author returns the author of the document
func (CoreProperties) Category ¶
func (c CoreProperties) Category() string
Category returns the category of the document
func (CoreProperties) ContentStatus ¶
func (c CoreProperties) ContentStatus() string
ContentStatus returns the content status of the document (e.g. "Final", "Draft")
func (CoreProperties) Created ¶
func (c CoreProperties) Created() time.Time
Created returns the time that the document was created.
func (CoreProperties) Description ¶
func (c CoreProperties) Description() string
Description returns the description of the document
func (CoreProperties) LastModifiedBy ¶
func (c CoreProperties) LastModifiedBy() string
LastModifiedBy returns the name of the last person to modify the document
func (CoreProperties) Modified ¶
func (c CoreProperties) Modified() time.Time
Modified returns the time that the document was modified.
func (CoreProperties) SetAuthor ¶
func (c CoreProperties) SetAuthor(s string)
SetAuthor records the author of the document.
func (CoreProperties) SetCategory ¶
func (c CoreProperties) SetCategory(s string)
SetCategory records the category of the document.
func (CoreProperties) SetContentStatus ¶
func (c CoreProperties) SetContentStatus(s string)
SetContentStatus records the content status of the document.
func (CoreProperties) SetCreated ¶
func (c CoreProperties) SetCreated(t time.Time)
SetCreated sets the time that the document was created.
func (CoreProperties) SetDescription ¶
func (c CoreProperties) SetDescription(s string)
SetDescription records the description of the document.
func (CoreProperties) SetLanguage ¶ added in v0.6.0
func (c CoreProperties) SetLanguage(s string)
SetLanguage records the language of the document.
func (CoreProperties) SetLastModifiedBy ¶
func (c CoreProperties) SetLastModifiedBy(s string)
SetLastModifiedBy records the last person to modify the document.
func (CoreProperties) SetModified ¶
func (c CoreProperties) SetModified(t time.Time)
SetModified sets the time that the document was modified.
func (CoreProperties) SetTitle ¶
func (c CoreProperties) SetTitle(s string)
SetTitle records the title of the document.
func (CoreProperties) Title ¶
func (c CoreProperties) Title() string
Title returns the Title of the document
func (CoreProperties) X ¶
func (c CoreProperties) X() *core_properties.CoreProperties
X returns the inner wrapped XML type.
type DocBase ¶
type DocBase struct { ContentTypes ContentTypes AppProperties AppProperties Rels Relationships CoreProperties CoreProperties Thumbnail image.Image // thumbnail preview of the document Images []ImageRef ExtraFiles []ExtraFile TmpPath string // path where temporary files are stored when opening documents }
DocBase is the type embedded in in the Document/Workbook/Presentation types that contains members common to all.
func (*DocBase) AddExtraFileFromZip ¶
AddExtraFileFromZip is used when reading an unsupported file from an OOXML file. This ensures that unsupported file content will at least round-trip correctly.
type ExtraFile ¶
ExtraFile is an unsupported file type extracted from, or to be written to a zip package
type Hyperlink ¶ added in v0.2.0
type Hyperlink Relationship
Hyperlink is just an appropriately configured relationship.
type Image ¶ added in v0.2.0
Image is a container for image information. It's used as we need format and and size information to use images.
type ImageRef ¶ added in v0.2.0
type ImageRef struct {
// contains filtered or unexported fields
}
ImageRef is a reference to an image within a document.
func MakeImageRef ¶ added in v0.2.0
func MakeImageRef(img Image, d *DocBase, rels Relationships) ImageRef
MakeImageRef constructs an image reference which is a reference to a particular image file inside a document. The same image can be used multiple times in a document by re-use the ImageRef.
func (ImageRef) Format ¶ added in v0.2.0
Format returns the format of the underlying image
func (ImageRef) Path ¶ added in v0.2.0
Path returns the path to an image file
func (ImageRef) RelID ¶ added in v0.2.0
RelID returns the relationship ID.
func (ImageRef) RelativeHeight ¶ added in v0.2.0
func (i ImageRef) RelativeHeight(w measurement.Distance) measurement.Distance
RelativeHeight returns the relative height of an image given a fixed width. This is used when setting image to a fixed width to calculate the height required to keep the same image aspect ratio.
func (ImageRef) RelativeWidth ¶ added in v0.2.0
func (i ImageRef) RelativeWidth(h measurement.Distance) measurement.Distance
RelativeWidth returns the relative width of an image given a fixed height. This is used when setting image to a fixed height to calculate the width required to keep the same image aspect ratio.
type Relationship ¶
type Relationship struct {
// contains filtered or unexported fields
}
Relationship is a relationship within a .rels file.
func NewRelationship ¶
func NewRelationship() Relationship
NewRelationship constructs a new relationship.
func (Relationship) SetTarget ¶
func (r Relationship) SetTarget(s string)
SetTarget set the target (path) of a relationship.
func (Relationship) String ¶
func (r Relationship) String() string
func (Relationship) Target ¶
func (r Relationship) Target() string
Target returns the target (path) of a relationship.
func (Relationship) Type ¶
func (r Relationship) Type() string
Type returns the type of a relationship.
func (Relationship) X ¶
func (r Relationship) X() *relationships.Relationship
X returns the inner wrapped XML type.
type Relationships ¶
type Relationships struct {
// contains filtered or unexported fields
}
Relationships represents a .rels file.
func NewRelationships ¶
func NewRelationships() Relationships
NewRelationships creates a new relationship wrapper.
func (Relationships) AddAutoRelationship ¶ added in v0.2.0
func (r Relationships) AddAutoRelationship(dt gooxml.DocType, src string, idx int, ctype string) Relationship
AddAutoRelationship adds a relationship with an automatically generated filename based off of the type. It should be preferred over AddRelationship to ensure consistent filenames are maintained.
func (Relationships) AddHyperlink ¶ added in v0.2.0
func (r Relationships) AddHyperlink(target string) Hyperlink
AddHyperlink adds an external hyperlink relationship.
func (Relationships) AddRelationship ¶
func (r Relationships) AddRelationship(target, ctype string) Relationship
AddRelationship adds a relationship.
func (Relationships) Clear ¶
func (r Relationships) Clear()
Clear removes any existing relationships.
func (Relationships) FindRIDForN ¶
func (r Relationships) FindRIDForN(i int, t string) string
FindRIDForN returns the relationship ID for the i'th relationship of type t.
func (Relationships) IsEmpty ¶ added in v0.2.0
func (r Relationships) IsEmpty() bool
IsEmpty returns true if there are no relationships.
func (Relationships) Relationships ¶
func (r Relationships) Relationships() []Relationship
Relationships returns a slice of all of the relationships.
func (Relationships) X ¶
func (r Relationships) X() *relationships.Relationships
X returns the underlying raw XML data.