type DocxComponents = class(TSComponentsBase) uses DocxML, DrawingML, SharedML; public function Create(); function Init();override; property Rels read ReadRels; property App read ReadApp; property Core read ReadCore; property DocumentRels read ReadDocumentRels; property Themes read ReadThemes; property Document read ReadDocument; property Endnotes read ReadEndnotes; property FontTable read ReadFontTable; property Footnotes read ReadFootnotes; property Settings read ReadSettings; property Styles read ReadStyles; property WebSettings read ReadWebSettings; property ContentTypes read ReadContentTypes; property ChartRels read ReadChartRels; property Charts read ReadCharts; property Comments read ReadComments; property Footers read ReadFooters; property Headers read ReadHeaders; property Numbering read ReadNumbering; property FooterRels read ReadFooterRels; property HeaderRels read ReadHeaderReals; function ReadRels(); function ReadApp(); function ReadCore(); function ReadDocumentRels(); function ReadThemes(_index); function ReadDocument(); function ReadEndnotes(); function ReadFontTable(); function ReadFootnotes(); function ReadSettings(); function ReadStyles(); function ReadWebSettings(); function ReadContentTypes(); function ReadChartRels(_index: integer); function ReadCharts(_index: integer); function ReadComments(); function ReadFooters(_index: integer); function ReadHeaders(_index: integer); function ReadNumbering(); function ReadFooterRels(_index: integer); function ReadHeaderReals(_index: integer); protected function DefaultBinaryData(): binary;override; function NewObject(_name: string): tslobj;override; private // xml rels_: Relationships; app_: Properties; core_: CoreProperties; document_rels_: Relationships; theme_array_: array of Theme; document_: Document; endnotes_: Endnotes; font_table_: FontTable; footnotes_: Footnotes; settings_: Settings; styles_: Styles; web_settings_: WebSettings; content_types_: Types; chart_rels_array_: array of Relationships; chart_array_: array of ChartSpace; comments_: Comments; footer_array_: array of Ftr; header_array_: array of Hdr; numbering_: Numbering; header_rels_array_: array of Relationships; footer_rels_array_: array of Relationships; end; function DocxComponents.Create(); begin inherited; end; function DocxComponents.Init();override; begin conf_ := array ( "rels": array("_rels/.rels", "Relationships"), "app": array("docProps/app.xml", "Properties"), "core": array("docProps/core.xml", "cp:coreProperties"), "document_rels": array("word/_rels/document.xml.rels", "Relationships"), "theme": array("word/theme/theme%d.xml", "a:theme"), "document": array("word/document.xml", "w:document"), "endnotes": array("word/endnotes.xml", "w:endnotes"), "font_table": array("word/fontTable.xml", "w:fonts"), "footnotes": array("word/footnotes.xml", "w:footnotes"), "settings": array("word/settings.xml", "w:settings"), "styles": array("word/styles.xml", "w:styles"), "web_settings": array("word/webSettings.xml", "w:webSettings"), "content_types": array("[Content_Types].xml", "Types"), "chart_rels": array("word/charts/_rels/chart%d.xml.rels", "Relationships"), "chart": array("word/charts/chart%d.xml", "a:chartSpace"), "comments": array("word/comments.xml", "w:comments"), "footer": array("word/footer%d.xml", "w:ftr"), "header": array("word/header%d.xml", "w:hdr"), "numbering": array("word/numbering.xml", "w:numbering"), "header_rels": array("word/_rels/header%d.xml.rels", "Relationships"), "footer_rels": array("word/_rels/footer%d.xml.rels", "Relationships"), ); rels_ := nil; app_ := nil; core_ := nil; document_rels_ := nil; theme_array_ := array(); document_ := nil; endnotes_ := nil; font_table_ := nil; footnotes_ := nil; settings_ := nil; styles_ := nil; web_settings_ := nil; content_types_ := nil; chart_rels_array_ := array(); comments_ := nil; footer_array_ := array(); header_array_ := array(); numbering_ := nil; header_rels_array_ := array(); footer_rels_array_ := array(); end; function DocxComponents.NewObject(_name: string): tslobj;override; begin case _name of "rels", "document_rels", "chart_rels", "footer_rels", "header_rels": return new Relationships(); "app": return new Properties(); "core": return new CoreProperties(); "document": return new Document(); "endnotes": return new Endnotes(); "font_table": return new FontTable(); "footnotes": return new Footnotes(); "settings": return new Settings(); "styles": return new Styles(); "web_settings": return new WebSettings(); "content_types": return new Types(); "chart": return new ChartSpace(); "comments": return new Comments(); "footer": return new Ftr(); "header": return new Hdr(); "numbering": return new Numbering(); "theme": return new Theme(); end; end; function DocxComponents.ReadRels(); begin return {self.}GetProp(rels_, "rels"); end; function DocxComponents.ReadApp(); begin return {self.}GetProp(app_, "app"); end; function DocxComponents.ReadCore(); begin return {self.}GetProp(core_, "core"); end; function DocxComponents.ReadDocumentRels(); begin return {self.}GetProp(document_rels_, "document_rels"); end; function DocxComponents.ReadDocument(); begin return {self.}GetProp(document_, "document"); end; function DocxComponents.ReadEndnotes(); begin return {self.}GetProp(endnotes_, "endnotes"); end; function DocxComponents.ReadFontTable(); begin return {self.}GetProp(font_table_, "font_table"); end; function DocxComponents.ReadFootnotes(); begin return {self.}GetProp(footnotes_, "footnotes"); end; function DocxComponents.ReadSettings(); begin return {self.}GetProp(settings_, "settings"); end; function DocxComponents.ReadStyles(); begin return {self.}GetProp(styles_, "styles"); end; function DocxComponents.ReadWebSettings(); begin return {self.}GetProp(web_settings_, "web_settings"); end; function DocxComponents.ReadThemes(_index); begin return {self.}GetPropArr(theme_array_, "theme", _index); end; function DocxComponents.ReadContentTypes(); begin return {self.}GetProp(content_types_, "content_types"); end; function DocxComponents.ReadChartRels(_index: integer); begin return {self.}GetPropArr(chart_rels_array_, "chart_rels", _index); end; function DocxComponents.ReadCharts(_index: integer); begin return {self.}GetPropArr(chart_array_, "chart", _index); end; function DocxComponents.ReadComments(); begin return {self.}GetProp(comments_, "comments"); end; function DocxComponents.ReadHeaders(_index: integer); begin return {self.}GetPropArr(header_array_, "header", _index); end; function DocxComponents.ReadFooters(_index: integer); begin return {self.}GetPropArr(footer_array_, "footer", _index); end; function DocxComponents.ReadNumbering(); begin return {self.}GetProp(numbering_, "numbering"); end; function DocxComponents.ReadHeaderReals(_index: integer); begin return {self.}GetPropArr(header_rels_array_, "header_rels", _index); end; function DocxComponents.ReadFooterRels(_index: integer); begin return {self.}GetPropArr(footer_rels_array_, "footer_rels", _index); end; function DocxComponents.DefaultBinaryData(): binary;override; begin return binary(base64ToStr("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")); end;