msoleps

package module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2022 License: Apache-2.0 Imports: 5 Imported by: 12

README

A reader for Microsoft's OLE Property Set Format.

Example usage:

file, _ := os.Open("test/test.doc")
defer file.Close()
doc, err := mscfb.NewReader(file)
if err != nil {
  log.Fatal(err)
}
props := msoleps.New()
for entry, err := doc.Next(); err == nil; entry, err = doc.Next() {
  if msoleps.IsMSOLEPS(entry.Initial) {
    if oerr := props.Reset(doc); oerr != nil {
      log.Fatal(oerr)
    }
    for _, prop := range props.Property {
      fmt.Printf("Name: %s; Type: %s; Value: %v", prop.Name, prop.Type(), prop)
    }
  }
}

Install with go get github.com/richardlehane/msoleps

Status: currently works for simple property sets like SummaryInformation. Not all types implemented yet (e.g. Array). Property set bags not implemented yet

Build Status

Documentation

Overview

Example:

file, _ := os.Open("test/test.doc")
defer file.Close()
doc, err := mscfb.NewReader(file)
if err != nil {
 log.Fatal(err)
}
props := msoleps.New()
for entry, err := doc.Next(); err == nil; entry, err = doc.Next() {
  if msoleps.IsMSOLEPS(entry.Initial) {
    if oerr := props.Reset(doc); oerr != nil {
      log.Fatal(oerr)
    }
    for _, prop := range props.Property {
      fmt.Printf("Name: %s; Type: %s; Value: %v", prop.Name, prop.Type(), prop)
    }
  }
}

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFormat = errors.New("msoleps: not a valid msoleps stream")
	ErrRead   = errors.New("msoleps: error reading msoleps stream")
	ErrSeek   = errors.New("msoleps: can't seek backwards")
)

Functions

func IsMSOLEPS

func IsMSOLEPS(i uint16) bool

IsMSOLEPS checks the first uint16 character of an mscfb name to test if it is a MSOLEPS stream

Types

type Property

type Property struct {
	Name string
	T    types.Type
}

func (*Property) String

func (p *Property) String() string

func (*Property) Type

func (p *Property) Type() string

type Reader

type Reader struct {
	Property []*Property
	// contains filtered or unexported fields
}

Reader is a reader for MS OLE Property Set Data structures

func New

func New() *Reader

func NewFrom

func NewFrom(rdr io.Reader) (*Reader, error)

func (*Reader) Reset

func (r *Reader) Reset(rdr io.Reader) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL