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
- func (i ImageRef) Data() *[]byte
- func (i ImageRef) Format() string
- func (i ImageRef) Path() string
- func (i ImageRef) RelID() string
- func (i ImageRef) RelativeHeight(w measurement.Distance) measurement.Distance
- func (i ImageRef) RelativeWidth(h measurement.Distance) measurement.Distance
- func (i *ImageRef) SetRelID(id string)
- func (i ImageRef) Size() image.Point
- 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) Remove(rel Relationship) bool
- 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 github.com/chenji1990/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 github.com/chenji1990/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 ¶
func (a AppProperties) SetDocSecurity(v int32)
SetDocSecurity sets the document security flag.
func (AppProperties) SetLinksUpToDate ¶
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 ¶
func (c ContentTypes) EnsureDefault(ext, contentType string)
EnsureDefault esnures that an extension and default content type exist, adding it if necessary.
func (ContentTypes) EnsureOverride ¶
func (c ContentTypes) EnsureOverride(path, contentType string)
EnsureOverride ensures that an override for the given path exists, adding it if necessary
func (ContentTypes) RemoveOverride ¶
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" "github.com/chenji1990/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 ¶
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 ¶
type Hyperlink Relationship
Hyperlink is just an appropriately configured relationship.
type Image ¶
Image is a container for image information. It's used as we need format and and size information to use images. It contains either the filesystem path to the image, or the image itself.
func ImageFromBytes ¶
ImageFromBytes returns an Image struct for an in-memory image. You can also construct an Image directly if the file and size are known.
func ImageFromFile ¶
ImageFromFile reads an image from a file on disk. It doesn't keep the image in memory and only reads it to determine the format and size. You can also construct an Image directly if the file and size are known.
type ImageRef ¶
type ImageRef struct {
// contains filtered or unexported fields
}
ImageRef is a reference to an image within a document.
func MakeImageRef ¶
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) RelativeHeight ¶
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 ¶
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 ¶
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 ¶
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 ¶
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) Remove ¶
func (r Relationships) Remove(rel Relationship) bool
Remove removes an existing relationship.
func (Relationships) X ¶
func (r Relationships) X() *relationships.Relationships
X returns the underlying raw XML data.