Versions in this module Expand all Collapse all v0 v0.5.0 Feb 28, 2026 v0.4.0 Jan 13, 2026 Changes in this version + const CharBookmark + const CharDrawingObj + const CharExtChar + const CharFieldEnd + const CharFieldStart + const CharFixedWidthNBSP + const CharHyphen + const CharInlineStart + const CharLine + const CharNBSP + const CharPara + const CharTab + const CharTitleMark + const CtrlAutoNumber + const CtrlBookmark + const CtrlColumn + const CtrlEndnote + const CtrlEquation + const CtrlFieldBegin + const CtrlFieldEnd + const CtrlFooter + const CtrlFootnote + const CtrlGSO + const CtrlHeader + const CtrlHiddenComment + const CtrlIndexMark + const CtrlNewNumber + const CtrlOverlapping + const CtrlPageHide + const CtrlPageNumber + const CtrlPageOddEven + const CtrlSection + const CtrlTable + const FileHeaderSize + const FlagCCL + const FlagCertDRM + const FlagCertEncrypt + const FlagCompressed + const FlagDRM + const FlagDistributable + const FlagEncrypted + const FlagHistory + const FlagMobile + const FlagScript + const FlagSignature + const FlagSignatureReserv + const FlagXMLTemplate + const Signature + const StreamBinData + const StreamBodyText + const StreamDocHistory + const StreamDocInfo + const StreamDocOptions + const StreamFileHeader + const StreamPrvImage + const StreamPrvText + const StreamScripts + const StreamSummaryInfo + const StreamViewText + const StreamXMLTemplate + const TagBinData + const TagBorderFill + const TagBullet + const TagCellListHeader + const TagCharShape + const TagChartData + const TagCompatibleDocument + const TagCtrlData + const TagCtrlFormField + const TagCtrlHeader + const TagDistributeDocData + const TagDocData + const TagDocumentProperties + const TagEqEdit + const TagFaceName + const TagFootnoteShape + const TagForbiddenChar + const TagIDMappings + const TagLayoutCompatible + const TagListHeader + const TagMemoList + const TagMemoShape + const TagNumbering + const TagPageBorderFill + const TagPageDef + const TagParaCharShape + const TagParaHeader + const TagParaLineSeg + const TagParaRangeTag + const TagParaShape + const TagParaText + const TagShapeArc + const TagShapeComponent + const TagShapeContainer + const TagShapeCurve + const TagShapeEllipse + const TagShapeLine + const TagShapeOLE + const TagShapePicture + const TagShapePolygon + const TagShapeRectangle + const TagStyle + const TagTabDef + const TagTable + const TagTrackChange + const TagTrackChange2 + const TagTrackChangeAuthor + const TagVideoData + func DecodeUTF16LE(data []byte) string + func DecompressStream(data []byte) ([]byte, error) + func TagName(tagID uint16) string + type BinDataInfo struct + AbsPath string + BinDataID uint16 + Extension string + RelPath string + Type uint16 + func (info *BinDataInfo) GetBinDataPath() string + type CharShape struct + Attributes uint32 + BorderFillID uint16 + FaceID [7]uint16 + Height int32 + Offsets [7]int8 + Ratios [7]uint8 + RelSizes [7]uint8 + ShadeColor uint32 + ShadowColor uint32 + ShadowGap1 int8 + ShadowGap2 int8 + Spacings [7]int8 + StrikeColor uint32 + TextColor uint32 + UnderColor uint32 + func (cs *CharShape) GetFontSizePt() float64 + func (cs *CharShape) IsBold() bool + func (cs *CharShape) IsItalic() bool + func (cs *CharShape) IsStrikeout() bool + func (cs *CharShape) IsUnderline() bool + type ControlInfo struct + ID uint32 + Offset int + Type uint16 + type DocInfo struct + BinDataList []*BinDataInfo + CharShapes []*CharShape + FaceNames []string + IDMappings *IDMappings + ParaShapes []*ParaShape + Properties *DocumentProperties + Styles []*Style + func ParseDocInfo(data []byte) (*DocInfo, error) + type DocumentProperties struct + CharUnitLoc uint32 + EndnoteStart uint16 + EquationStart uint16 + FootnoteStart uint16 + ListIDCount uint32 + PageStartNum uint16 + ParaIDCount uint32 + PictureStart uint16 + SectionCount uint16 + TableStart uint16 + type FileHeader struct + Flags uint32 + LicenseInfo [216]byte + Signature [32]byte + Version Version + func ParseFileHeader(data []byte) (*FileHeader, error) + func (h *FileHeader) HasDRM() bool + func (h *FileHeader) HasHistory() bool + func (h *FileHeader) HasScript() bool + func (h *FileHeader) HasSignature() bool + func (h *FileHeader) HasXMLTemplate() bool + func (h *FileHeader) IsCCL() bool + func (h *FileHeader) IsCertEncrypted() bool + func (h *FileHeader) IsCompressed() bool + func (h *FileHeader) IsDistributable() bool + func (h *FileHeader) IsEncrypted() bool + func (h *FileHeader) IsMobileOptimized() bool + type IDMappings struct + BinDataCount int32 + BorderFillCount int32 + BulletCount int32 + CharShapeCount int32 + FaceNameEngCount int32 + FaceNameHanCount int32 + FaceNameJpnCount int32 + FaceNameKorCount int32 + FaceNameOtherCount int32 + FaceNameSymCount int32 + FaceNameUserCount int32 + MemoShapeCount int32 + NumberingCount int32 + ParaShapeCount int32 + StyleCount int32 + TabDefCount int32 + TrackChangeAuthorCount int32 + TrackChangeCount int32 + type Image struct + BinDataID uint16 + BorderColor uint32 + Height int32 + Width int32 + XOffset int32 + YOffset int32 + type ParaShape struct + Attributes1 uint32 + Attributes2 uint32 + Attributes3 uint32 + AutoSpacing uint32 + BorderFillID uint16 + BorderOffset1 int16 + BorderOffset2 int16 + BorderOffset3 int16 + BorderOffset4 int16 + Indent int32 + LeftMargin int32 + LineSpacing int32 + LineWrap uint32 + NumberingID uint16 + ParaSpaceAfter int32 + ParaSpaceBefore int32 + RightMargin int32 + TabDefID uint16 + type Paragraph struct + CharShapeCount uint16 + CharShapeID uint16 + Controls []ControlInfo + DivisionType uint8 + InstanceID uint32 + LineAlignCount uint16 + ParaShapeID uint16 + RangeTagCount uint16 + StyleID uint16 + Text string + type Parser struct + func New(path string, opts parser.Options) (*Parser, error) + func (p *Parser) Close() error + func (p *Parser) ExtractImages(dir string) ([]ir.ImageBlock, error) + func (p *Parser) GetDocInfo() *DocInfo + func (p *Parser) GetHeader() *FileHeader + func (p *Parser) GetVersion() string + func (p *Parser) IsCompressed() bool + func (p *Parser) Parse() (*ir.Document, error) + type Record struct + Data []byte + Level uint16 + Size uint32 + TagID uint16 + type RecordHeader uint32 + func ParseRecordHeader(data []byte) RecordHeader + func (h RecordHeader) Level() uint16 + func (h RecordHeader) Size() uint16 + func (h RecordHeader) TagID() uint16 + type RecordReader struct + func NewRecordReader(data []byte) *RecordReader + func (r *RecordReader) Read() (*Record, error) + func (r *RecordReader) ReadAll() ([]*Record, error) + type Section struct + Images []*Image + Paragraphs []*Paragraph + Tables []*Table + type SectionParser struct + func NewSectionParser(docInfo *DocInfo) *SectionParser + func (sp *SectionParser) Parse(data []byte) (*Section, error) + type Style struct + CharShapeID uint16 + EngName string + LangID int16 + LockForm bool + Name string + NextStyleID uint8 + ParaShapeID uint16 + Type uint8 + type Table struct + BorderFill uint16 + BottomMargin int16 + CellSpacing int16 + Cells [][]*TableCell + Cols int + LeftMargin int16 + RightMargin int16 + Rows int + TopMargin int16 + type TableCell struct + Col int + ColSpan int + Height int + Paragraphs []*Paragraph + Row int + RowSpan int + Width int + func (c *TableCell) GetCellText() string + type TextExtractor struct + func NewTextExtractor() *TextExtractor + func (te *TextExtractor) ExtractText(data []byte) string + func (te *TextExtractor) ExtractTextWithControls(data []byte) (string, []ControlInfo) + type Version struct + Build uint8 + Major uint8 + Minor uint8 + Revision uint8 + func (v Version) String() string