2022-01-15 21:17:38 +00:00

35 lines
77 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
package convert ;import (_cc "bytes";_cg "errors";_c "github.com/unidoc/unioffice/common/logger";_fe "github.com/unidoc/unioffice/common/tempstorage";_cb "github.com/unidoc/unioffice/document";_e "github.com/unidoc/unioffice/internal/convertutils";_ca "github.com/unidoc/unioffice/internal/formatutils";_fef "github.com/unidoc/unioffice/measurement";_bb "github.com/unidoc/unioffice/schema/soo/dml";_fd "github.com/unidoc/unioffice/schema/soo/dml/chart";_df "github.com/unidoc/unioffice/schema/soo/dml/picture";_gb "github.com/unidoc/unioffice/schema/soo/ofc/sharedTypes";_ag "github.com/unidoc/unioffice/schema/soo/wml";_g "github.com/unidoc/unipdf/v3/creator";_b "github.com/unidoc/unipdf/v3/model";_a "io/ioutil";_da "regexp";_d "strconv";_fb "strings";);func (_bfbc *convertContext )addSeparator (){_bfbc .newParagraph ();_bfbc ._abaa ._cgc =true ;_bfbc ._abaa ._agd =_cf ;if _bfbc .currentParagraphOverflowsCurrentPage (){_bfbc .moveCurrentParagraphToNewPage ();};_bfbc .addCurrentParagraphToCurrentPage ();};func (_bcbe *convertContext )makeRunStyle (_ecbf *_ag .CT_RPr ,_fefcd ,_afef ,_bdag ,_gecb ,_gebbd bool )(_g .TextStyle ,bool ,bool ,*_g .Color ){var _gaba *_g .Color ;_cbdf :=_bcbe ._faad .NewTextStyle ();if _ecbf !=nil {_ggeb :=_e .FontStyle_Regular ;_ebab :=_bagfe (_ecbf .B );_caabe :=_bagfe (_ecbf .I );if _ebab &&_caabe {_ggeb =_e .FontStyle_BoldItalic ;}else if _ebab {_ggeb =_e .FontStyle_Bold ;}else if _caabe {_ggeb =_e .FontStyle_Italic ;};if _gecb {_cbdf .Font =_e .AssignStdFontByName (_cbdf ,"\u0053\u0079\u006d\u0062\u006f\u006c");}else {_addf :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _dfdfg :=_ecbf .RFonts ;_dfdfg !=nil {if _eaaab :=_dfdfg .AsciiAttr ;_eaaab !=nil {_addf =*_eaaab ;}else if _efca :=_dfdfg .HAnsiAttr ;_efca !=nil {_addf =*_efca ;}else {_ffee :=_bcbe ._ebgc ;if _ffee !=nil {if _eabe :=_ffee .RFonts ;_eabe !=nil {if _gedd :=_dfdfg .HintAttr ;_gedd ==_ag .ST_HintEastAsia {if _eabe .EastAsiaAttr !=nil {_addf =*_ffee .RFonts .EastAsiaAttr ;};}else {if _geeaf :=_eabe .AsciiAttr ;_geeaf !=nil {_addf =*_geeaf ;}else if _adfab :=_eabe .HAnsiAttr ;_adfab !=nil {_addf =*_adfab ;};};};};};};if _aeadf ,_bacb :=_e .StdFontsMap [_addf ];_bacb {_cbdf .Font =_e .AssignStdFontByName (_cbdf ,_aeadf [_ggeb ]);}else if _bgdf :=_e .GetRegisteredFont (_addf ,_ggeb );_bgdf !=nil {_cbdf .Font =_bgdf ;}else {_c .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0025\u0073\u0020\u0077\u0069\u0074h\u0020\u0073\u0074\u0079\u006c\u0065\u0020\u0025s\u0020i\u0073\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0072\u0065\u0073\u0065\u0074 \u0074\u006f\u0020\u0064\u0065\u0066\u0061\u0075\u006c\u0074\u002e",_addf ,_ggeb );_cbdf .Font =_e .AssignStdFontByName (_cbdf ,_e .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_ggeb ]);};};_ebga :=_fcdd (_ecbf .Sz ,_ecbf .SzCs );if _beda :=_ecbf .VertAlign ;_beda !=nil {_bcfc :=_beda .ValAttr ;_fefcd =_bcfc ==_gb .ST_VerticalAlignRunSuperscript ;_afef =_bcfc ==_gb .ST_VerticalAlignRunSubscript ;};if _ebga > _bcbe ._cfag {_bcbe ._cfag =_ebga ;};if _fefcd ||_afef {_ebga *=0.64;};if _bdag {if _fefcd {_cbdf .TextRise =1.5;};if _afef {_cbdf .TextRise =-1.5;};};_cbdf .FontSize =_ebga ;_affga :=0.0;if _acec :=_ecbf .Spacing ;_acec !=nil {_affga =_e .PointsFromTwips (*_acec .ValAttr .Int64 );};_cbdf .CharSpacing =_affga ;_gbgd :=_g .ColorBlack ;if _ecbf .Color !=nil {_bgcg :=_ecbf .Color .ValAttr .ST_HexColorRGB ;if _bgcg !=nil {_gbgd =_g .ColorRGBFromHex ("\u0023"+*_bgcg );};};if _bdag {_bdda ,_ffdea ,_ffgb :=_gbgd .ToRGB ();_bdda ,_ffdea ,_ffgb =_e .Lighten (_bdda ),_e .Lighten (_ffdea ),_e .Lighten (_ffgb );_gbgd =_g .ColorRGBFromArithmetic (_bdda ,_ffdea ,_ffgb );};_cbdf .Color =_gbgd ;if _gebbd {_gaba =&_gbgd ;};if _ecbf .U !=nil &&_ecbf .U .ValAttr !=_ag .ST_UnderlineNone &&!_gecb {_gaba =&_gbgd ;if _ecdd :=_ecbf .U .ColorAttr ;_ecdd !=nil {if _ecef :=_ecdd .ST_HexColorRGB ;_ecef !=nil {_efbe :=_g .ColorRGBFromHex ("\u0023"+*_ecef );_gaba =&_efbe ;};};};};return _cbdf ,_fefcd ,_afef ,_gaba ;};
// ConvertToPdfWithOptions convert the document to PDF with file given options.
func ConvertToPdfWithOptions (d *_cb .Document ,opts *Options )*_g .Creator {var _cfgf map[string ]string ;if opts !=nil &&opts .ProcessFields {_cfgf =_fbee (d );};var _dbde *_ag .CT_PPrGeneral ;var _dggg *_ag .CT_RPr ;if _fdce :=d .Styles .X ().DocDefaults ;_fdce !=nil {if _cfeb :=_fdce .PPrDefault ;_cfeb !=nil {_dbde =_cfeb .PPr ;};if _bfd :=_fdce .RPrDefault ;_bfd !=nil {_dggg =_bfd .RPr ;};};_fed ,_bccde :=_fgca (210),_fgca (297);_dcbf :=float64 (_fef .Inch *1);_eaaa ,_cfb ,_bcg ,_facf :=_dcbf ,_dcbf ,_dcbf ,_dcbf ;var _gbab ,_gfce float64 ;if _fddb :=d .BodySection ().X ();_fddb !=nil {if _gbgb :=_fddb .PgMar ;_gbgb !=nil {if _gbgb .LeftAttr .ST_UnsignedDecimalNumber !=nil {_eaaa =_e .PointsFromTwips (int64 (*_gbgb .LeftAttr .ST_UnsignedDecimalNumber ));};if _gbgb .LeftAttr .ST_UnsignedDecimalNumber !=nil {_cfb =_e .PointsFromTwips (int64 (*_gbgb .RightAttr .ST_UnsignedDecimalNumber ));};if _gbgb .TopAttr .Int64 !=nil {_bcg =_e .PointsFromTwips (*_gbgb .TopAttr .Int64 );};if _gbgb .BottomAttr .Int64 !=nil {_facf =_e .PointsFromTwips (*_gbgb .BottomAttr .Int64 );};if _gbgb .HeaderAttr .ST_UnsignedDecimalNumber !=nil {_gbab =_e .PointsFromTwips (int64 (*_gbgb .HeaderAttr .ST_UnsignedDecimalNumber ));};if _gbgb .FooterAttr .ST_UnsignedDecimalNumber !=nil {_gfce =_facf -_e .PointsFromTwips (int64 (*_gbgb .FooterAttr .ST_UnsignedDecimalNumber ));};};if _bba :=_fddb .PgSz ;_bba !=nil {if _bba .WAttr !=nil {_fed =_e .PointsFromTwips (int64 (*_bba .WAttr .ST_UnsignedDecimalNumber ));};if _bba .HAttr !=nil {_bccde =_e .PointsFromTwips (int64 (*_bba .HAttr .ST_UnsignedDecimalNumber ));};};};if d .Settings .X ().DefaultTabStop ==nil {_ggecd =_fgca (12.7);}else {_ggecd =_e .PointsFromTwips (int64 (*d .Settings .X ().DefaultTabStop .ValAttr .ST_UnsignedDecimalNumber ));};_deaa :=_g .New ();_deaa .SetPageSize (_g .PageSize {_fed ,_bccde });_deaa .SetPageMargins (_eaaa ,_cfb ,_bcg ,_facf );for _ ,_bac :=range d .Headers (){_ggg :=&convertContext {_faad :_deaa ,_gbdb :d ,_ceg :_dbde ,_ebgc :_dggg ,_gefa :true ,_gfaf :_eaaa ,_ffae :_gbab };_ggg .addRelativeCBCs (_bac .X ().EG_ContentBlockContent );};for _ ,_cffde :=range d .Footers (){_dafd :=&convertContext {_faad :_deaa ,_gbdb :d ,_ceg :_dbde ,_ebgc :_dggg ,_gda :true ,_gfaf :_eaaa ,_dedgb :_gfce };_dafd .addRelativeCBCs (_cffde .X ().EG_ContentBlockContent );};_ddd :=&convertContext {_faad :_deaa ,_gbdb :d ,_ceg :_dbde ,_ebgc :_dggg ,_cedd :&_e .Rectangle {Top :_bcg ,Bottom :_bccde -_facf ,Left :_eaaa ,Right :_fed -_cfb },_cbega :[]note {},_cacf :map[int64 ]map[int64 ]int64 {},_gcbd :_cfgf };for _ ,_dbe :=range d .X ().Body .EG_BlockLevelElts {_ddd .addAbsoluteCBCs (_dbe .EG_ContentBlockContent );};_ddd .addEndnotes ();_ddd .alignSymbolsVertically ();_ddd .drawPages ();return _deaa ;};func (_dbg *convertContext )newParagraph (){if _dbg ._ddcb ==nil {_dbg .newPage ();};_bee :=&paragraph {};_bee ._ded =&_e .Rectangle {};_bee ._ga =_dbg ._ddcb ._db ;_dbg ._abaa =_bee ;};func (_faea *convertContext )adjustHeights (_dfea float64 ){if _faea ._effe ._gf < _dfea {_faea ._abaa ._agd +=(_dfea -_faea ._effe ._gf );_faea ._effe ._gf =_dfea ;};};type zoneToSkip struct{_af *_e .Rectangle ;_cac *_ag .WdEG_WrapTypeChoice ;};type page struct{_dc *_e .Rectangle ;_fbb []*paragraph ;_db float64 ;_ad []*zoneToSkip ;_fbg []*image ;_cgg []*image ;_gbg []*block ;_gea []*block ;_cgd []*note ;_eb bool ;};type symbol struct{_ce string ;_dec float64 ;_eeg float64 ;_cgca float64 ;_dbf float64 ;_afc float64 ;_agdg *_g .TextStyle ;_bda *_g .Image ;_gbga *block ;_cfe string ;_cge bool ;_geeg bool ;_ed *_g .Color ;};type romanMatch struct{_dccd int ;_aggg string ;};type span struct{_ecc float64 ;_eec float64 ;_bd []*word ;};func (_cggb *convertContext )currentParagraphOverflowsCurrentPage ()bool {_aagbb :=_cggb ._abaa ._ga +_cggb ._abaa ._ded .Top +_cggb ._abaa ._ded .Bottom ;_deaf :=_cggb ._ddcb ._dc .Bottom -_cggb ._abaa ._gab ;if len (_cggb ._ddcb ._cgd )==0&&len (_cggb ._abaa ._gbgg )> 0{_deaf -=_cf ;};return _aagbb +_cggb ._abaa ._agd > _deaf ||_aagbb +_cggb ._abaa ._gee > _deaf ;};func (_ebec *convertContext )newWord (){_ebec ._abad =&word {_dedg :true ,_dg :_ebec ._effe ._ea }};var _cf =_fgca (6);func (_bcbg *convertContext )addRelativeCRC (_bgg []*_ag .EG_ContentRunContent ,_fgbg *_ag .CT_PPr ){for _ ,_ebfc :=range _bgg {if _ffde :=_ebfc .R ;_ffde !=nil {_baff :=_gebb (_bcbg ._gbdb ,_ffde .RPr ,_fgbg );if _bcbg ._dfaa !=nil {_bcbg .addRelativeRIC (nil ,_baff );_bcbg ._dfaa =nil ;};for _ ,_bbcab :=range _ffde .EG_RunInnerContent {_bcbg .addRelativeRIC (_bbcab ,_baff );};};};};type tableWrapper struct{_gg *_g .Table ;_ffd float64 ;};func _dede (_eef string )string {_fgbfb :=_egde .FindStringSubmatch (_eef );if len (_fgbfb )< 2{return "";};return _fgbfb [1];};func (_gec *convertContext )addEmptyLine (){_gec .addTextSymbol (&symbol {_ce :"\u000d",_cgca :0,_dbf :_gec ._abaa ._bbf });};func (_cgfb *convertContext )addCurrentParagraphToCurrentPage (){_cgfb ._ddcb ._db =_cgfb ._abaa ._ga +_cgfb ._abaa ._ded .Top +_cgfb ._abaa ._agd +_cgfb ._abaa ._ded .Bottom ;_cgfb ._ddcb ._fbg =append (_cgfb ._ddcb ._fbg ,_cgfb ._abaa ._fc ...);_cgfb ._ddcb ._cgg =append (_cgfb ._ddcb ._cgg ,_cgfb ._abaa ._fea ...);_cgfb ._ddcb ._gbg =append (_cgfb ._ddcb ._gbg ,_cgfb ._abaa ._ec ...);_cgfb ._ddcb ._gea =append (_cgfb ._ddcb ._gea ,_cgfb ._abaa ._acg ...);_cgfb ._ddcb ._ad =append (_cgfb ._ddcb ._ad ,_cgfb ._abaa ._fg ...);_cgfb ._ddcb ._fbb =append (_cgfb ._ddcb ._fbb ,_cgfb ._abaa );_cgfb .adjustRightBoundOfLastSpan ();_cgfb .alignParagraph ();if len (_cgfb ._ddcb ._cgd )==0&&len (_cgfb ._abaa ._gbgg )> 0{_cgfb ._ddcb ._dc .Bottom -=_cf ;};_cgfb ._ddcb ._cgd =append (_cgfb ._ddcb ._cgd ,_cgfb ._abaa ._gbgg ...);_cgfb ._ddcb ._dc .Bottom -=_cgfb ._abaa ._gab ;};const _be =0.67;func (_cdcb *convertContext )makePdfBlockFromCBCs (_adbf [][]*_ag .EG_ContentBlockContent ,_eeec ,_gbbe float64 ,_adbd *_e .Rectangle ,_cfffg bool ,_cgdg *prefix )(*_g .Block ,error ){if _adbd ==nil {_adbd =&_e .Rectangle {};};_gcga :=&_e .Rectangle {Top :_adbd .Top ,Bottom :_gbbe -_adbd .Bottom ,Left :_adbd .Left ,Right :_eeec -_adbd .Right };_fgedf :=_e .MakeTempCreator (_eeec ,_gbbe );_ecee :=&convertContext {_faad :_fgedf ,_gbdb :_cdcb ._gbdb ,_cedd :_gcga ,_dfaa :_cgdg };for _ ,_aaac :=range _adbf {_ecee .addAbsoluteCBCs (_aaac );};if _cfffg {_aaea :=0.0;for _ ,_dceaf :=range _ecee ._dggc {for _ ,_fggec :=range _dceaf ._fbb {_aaea +=(_fggec ._agd +_fggec ._ded .Top +_fggec ._ded .Bottom );};};_gcga .Bottom =_aaea -_adbd .Bottom ;_fgedf =_e .MakeTempCreator (_eeec ,_aaea );_ecee =&convertContext {_faad :_fgedf ,_gbdb :_cdcb ._gbdb ,_cedd :_gcga ,_dfaa :_cgdg };for _ ,_fgdb :=range _adbf {_ecee .addAbsoluteCBCs (_fgdb );};};_ecee .alignSymbolsVertically ();_ecee ._faad .NewPage ();_ecee .drawPage (_ecee ._dggc [len (_ecee ._dggc )-1]);return _e .MakeBlockFromCreator (_fgedf );};
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
type FontStyle =_e .FontStyle ;func (_cfc *convertContext )addAbsoluteCRC (_cef []*_ag .EG_ContentRunContent ,_dbd *_ag .CT_PPr )bool {for _ ,_fgb :=range _cef {if _caf :=_fgb .R ;_caf !=nil {_bagf :=_gebb (_cfc ._gbdb ,_caf .RPr ,_dbd );if _cfc ._dfaa !=nil {_cfc .addAbsoluteRIC (nil ,_bagf );_cfc ._dfaa =nil ;};for _ ,_bgca :=range _caf .EG_RunInnerContent {if _cfc .addAbsoluteRIC (_bgca ,_bagf ){return true ;};};for _ ,_cec :=range _caf .Extra {if _ceecc ,_ecf :=_cec .(*_ag .AlternateContentRun );_ecf {if _cbb :=_ceecc .Choice ;_cbb !=nil {if _abcb :=_cbb .Drawing ;_abcb !=nil {if len (_abcb .Inline )> 0{for _ ,_gdca :=range _abcb .Inline {_eccg :=_gdca .Extent ;if _eccg ==nil {return false ;};_caa :=_fef .FromEMU (_eccg .CxAttr );_dce :=_fef .FromEMU (_eccg .CyAttr );if _ddg :=_gdca .Graphic ;_ddg !=nil {if _fff :=_ddg .GraphicData ;_fff !=nil {for _ ,_dfcf :=range _fff .Any {if _eba ,_gefd :=_dfcf .(*_ag .WdWsp );_gefd {_bbfd ,_bagg :=_cfc .makeBlockFromWdWsp (_eba );if _bagg !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_bagg );};if _bbfd ==nil {continue ;};_bbfd ._ede .Scale (_caa /_bbfd ._ede .Width (),_dce /_bbfd ._ede .Height ());_cfc .addInlineSymbol (&symbol {_dbf :_dce ,_cgca :_caa ,_gbga :_bbfd });};};};};};};};};};};};};return false ;};func (_cdfb *convertContext )addRelativeEGPC (_fabcc []*_ag .EG_PContent ,_fcgc *_ag .CT_PPr ,_ggeg *prefix ){if len (_fabcc )==0{_cdfb ._gcgb .Append ("\u000d");return ;};if _ggeg !=nil {_cdfb ._dfaa =_ggeg ;};for _ ,_gagc :=range _fabcc {for _ ,_dfag :=range _gagc .FldSimple {if _dfag !=nil {_cdfb .addRelativeEGPC (_dfag .EG_PContent ,_fcgc ,_ggeg );};};if _cefd :=_gagc .Hyperlink ;_cefd !=nil {_cdfb ._agfc =_cefd ;_cdfb .addRelativeCRC (_cefd .EG_ContentRunContent ,_fcgc );};_cdfb ._agfc =nil ;_cdfb .addRelativeCRC (_gagc .EG_ContentRunContent ,_fcgc );};};func (_deda *convertContext )moveCurrentParagraphToNewPage (){_deda .newPage ();_fefd :=_deda ._abaa ._ga -_deda ._ddcb ._db ;_deda ._abaa ._ga -=_fefd ;for _ ,_eaf :=range _deda ._abaa ._fg {_eaf ._af .Translate (0,-_fefd );};for _ ,_fce :=range _deda ._abaa ._ec {_fce ._cfg -=_fefd ;};for _ ,_defd :=range _deda ._abaa ._acg {_defd ._cfg -=_fefd ;};for _ ,_dgbd :=range _deda ._abaa ._fc {_dgbd ._cff -=_fefd ;};for _ ,_age :=range _deda ._abaa ._fea {_age ._cff -=_fefd ;};};func (_agdb *convertContext )addAbsoluteCBCs (_bgc []*_ag .EG_ContentBlockContent ){for _ ,_becb :=range _bgc {for _ ,_gae :=range _becb .P {_agdb .newParagraph ();_bfb ,_dcf :=_agdb .combinePPrWithStyles (_gae .PPr );if _dcf !=nil {_agdb ._dfaa =_dcf ;};_agdb .assignPropsToAbsoluteParagraph (_bfb ,_agdb ._abaa );_agdb .determineParagraphBounds ();_agdb .newLine ();_agdb .newWord ();_cfea :=_gae .EG_PContent ;if len (_cfea )==0{_agdb .addEmptyLine ();}else {_agdb .addAnchorBlocks (_cfea );_agdb .addAnchorExtra (_cfea );if _agdb .addAbsoluteEGPC (_cfea ,_bfb ){_agdb .newPage ();continue ;};if _agdb .currentParagraphOverflowsCurrentPage (){_agdb .moveCurrentParagraphToNewPage ();_agdb .addAbsoluteEGPC (_cfea ,_bfb );};_agdb .addCurrentWordToParagraph ();};_agdb .addCurrentParagraphToCurrentPage ();};for _ ,_gfcd :=range _becb .Tbl {_agdb .addAbsoluteTable (_gfcd );};};};func (_dea *convertContext )addAnchorExtra (_bgbf []*_ag .EG_PContent ){for _ ,_bfc :=range _bgbf {for _ ,_gbge :=range _bfc .EG_ContentRunContent {if _bbbg :=_gbge .R ;_bbbg !=nil {for _ ,_fgf :=range _bbbg .Extra {if _fcdc ,_fcfdb :=_fgf .(*_ag .AlternateContentRun );_fcfdb {if _gcd :=_fcdc .Choice ;_gcd !=nil {if _eceb :=_gcd .Drawing ;_eceb !=nil {for _ ,_bfa :=range _eceb .Anchor {var _bcf ,_gabfd ,_ebb ,_ffda float64 ;_cbee ,_gag :=_bfa .PositionH ,_bfa .PositionV ;if _ecg :=_cbee .Choice ;_ecg !=nil {if _ecg .PosOffset !=nil {_bcf =_fef .FromEMU (int64 (*_ecg .PosOffset ));};};if _dgfb :=_gag .Choice ;_dgfb !=nil {if _dgfb .PosOffset !=nil {_gabfd =_fef .FromEMU (int64 (*_dgfb .PosOffset ));};};if _cfff :=_bfa .Extent ;_cfff !=nil {_ffda =_fef .FromEMU (_cfff .CxAttr );_ebb =_fef .FromEMU (_cfff .CyAttr );};_aeg :=_dea ._abaa ._ga +_gabfd ;_cbgg :=_aeg +_ebb ;_fab :=_dea ._abaa ._aa +_bcf ;_bdbe :=_fab +_ffda ;_ebg :=_gabfd +_ebb ;if _ebg > _dea ._abaa ._gee {_dea ._abaa ._gee =_ebg ;};if _bfa .Choice !=nil &&_bfa .Choice .WrapNone ==nil {_dea ._abaa ._fg =append (_dea ._abaa ._fg ,&zoneToSkip {_af :&_e .Rectangle {Top :_aeg ,Bottom :_cbgg ,Left :_fab ,Right :_bdbe },_cac :_bfa .Choice });};if _ddfa :=_bfa .Graphic ;_ddfa !=nil {if _daaf :=_ddfa .GraphicData ;_daaf !=nil {for _ ,_egb :=range _daaf .Any {if _aed ,_agbg :=_egb .(*_ag .WdWsp );_agbg {_egcf ,_gbgec :=_dea .makeBlockFromWdWsp (_aed );if _gbgec !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_gbgec );};if _egcf !=nil {_egcf ._ede .Scale (_ffda /_egcf ._ede .Width (),_ebb /_egcf ._ede .Height ());_egcf ._aae =_fab ;_egcf ._cfg =_aeg ;if _bfa .BehindDocAttr {_dea ._abaa ._acg =append (_dea ._abaa ._acg ,_egcf );}else {_dea ._abaa ._ec =append (_dea ._abaa ._ec ,_egcf );};};};};};};};};};};};};};};};func (_dabb *convertContext )addHdrFtr (_abac []*_ag .CT_P ){for _ ,_fgee :=range _abac {_ffab :=_dabb ._faad .NewStyledParagraph ();_dabb ._gcgb =_ffab ;_baab ,_efae :=_dabb .combinePPrWithStyles (_fgee .PPr );_dfbf ,_gefad :=_dabb .assignPropsToRelativeParagraph (_baab ,_ffab );_dabb .addRelativeEGPC (_fgee .EG_PContent ,_baab ,_efae );if _dabb ._gefa {_dabb ._faad .DrawHeader (func (_gcgc *_g .Block ,_ddef _g .HeaderFunctionArgs ){_ffab .SetPos (_dabb ._gfaf +_gefad ,_dfbf +_dabb ._ffae );_gcgc .Draw (_ffab );});}else if _dabb ._gda {_dabb ._faad .DrawFooter (func (_dffc *_g .Block ,_fbdf _g .FooterFunctionArgs ){_ffab .SetPos (_dabb ._gfaf +_gefad ,_dfbf +_dabb ._dedgb -_dabb ._cfag );_dffc .Draw (_ffab );});};};};type prefix struct{_faec string ;_eadg []float64 ;_dab bool ;_eafe bool ;};var _ba =_fgca (0.25);func _eaaf (_dafe int64 ,_eccf _ag .ST_NumberFormat )string {_ecca :=int (_dafe );switch _eccf {case _ag .ST_NumberFormatDecimal :return _d .Itoa (_ecca );case _ag .ST_NumberFormatUpperRoman :return _cbga (_ecca ,true );case _ag .ST_NumberFormatLowerRoman :return _cbga (_ecca ,false );case _ag .ST_NumberFormatUpperLetter :return _ebfb (_ecca ,true );case _ag .ST_NumberFormatLowerLetter :return _ebfb (_ecca ,false );default:return _d .Itoa (_ecca );};};type convertContext struct{_faad *_g .Creator ;_gbdb *_cb .Document ;_ceg *_ag .CT_PPrGeneral ;_ebgc *_ag .CT_RPr ;_gcgb *_g .StyledParagraph ;_dggc []*page ;_ddcb *page ;_cedd *_e .Rectangle ;_abaa *paragraph ;_effe *line ;_cab *span ;_abad *word ;_agfc *_ag .CT_Hyperlink ;_addc *_ag .CT_ParaRPr ;_cbega []note ;_dfaa *prefix ;_gafe bool ;_gefa bool ;_gda bool ;_gfaf float64 ;_ffae float64 ;_dedgb float64 ;_cfag float64 ;_cebe bool ;_cacf map[int64 ]map[int64 ]int64 ;_gcbd map[string ]string ;};func (_fggf *convertContext )assignPropsToRelativeParagraph (_gbgaa *_ag .CT_PPr ,_fbce *_g .StyledParagraph )(float64 ,float64 ){_gbgaa =_ccgb (_gbgaa ,_fggf ._ceg ,_fggf ._ebgc );_aac :=1.1;if _gbgaa ==nil {_fbce .SetLineHeight (_aac );return 0,0;};if _gbgaa .Jc !=nil {var _cafc _g .TextAlignment ;switch _gbgaa .Jc .ValAttr {case _ag .ST_JcRight :_cafc =_g .TextAlignmentRight ;case _ag .ST_JcCenter :_cafc =_g .TextAlignmentCenter ;case _ag .ST_JcBoth :_cafc =_g .TextAlignmentJustify ;default:_cafc =_g .TextAlignmentLeft ;};_fbce .SetTextAlignment (_cafc );};var _dfeb ,_aeac ,_cagb ,_fbgee float64 ;if _fdfa :=_gbgaa .Spacing ;_fdfa !=nil {if _bccdc :=_fdfa .BeforeAttr ;_bccdc !=nil {if _bccdc .ST_UnsignedDecimalNumber !=nil {_dfeb =_e .PointsFromTwips (int64 (*_bccdc .ST_UnsignedDecimalNumber ));};};if _ebc :=_fdfa .AfterAttr ;_ebc !=nil {if _ebc .ST_UnsignedDecimalNumber !=nil {_aeac =_e .PointsFromTwips (int64 (*_ebc .ST_UnsignedDecimalNumber ));};};if _cfffe :=_fdfa .LineAttr ;_cfffe !=nil {if _cfffe .Int64 !=nil {_aac =float64 (*_cfffe .Int64 /240);};};};_fbce .SetLineHeight (_aac );if _gaggc :=_gbgaa .Ind ;_gaggc !=nil {if _ddb :=_gaggc .LeftAttr ;_ddb !=nil {if _ddb .Int64 !=nil {_cagb =_e .PointsFromTwips (*_ddb .Int64 );};};if _ggae :=_gaggc .RightAttr ;_ggae !=nil {if _ggae .Int64 !=nil {_fbgee =_e .PointsFromTwips (*_ggae .Int64 );};};};_fbce .SetMargins (_cagb ,_fbgee ,_dfeb -_aac /2,_aeac +_aac /2);return _dfeb ,_cagb ;};func (_dbbb *convertContext )addRelativeRIC (_aead *_ag .EG_RunInnerContent ,_egea *_ag .CT_RPr ){var _ddcc *_g .TextChunk ;var _afgb ,_dggga bool ;_adg :=false ;if _aead ==nil {if _dbbb ._dfaa !=nil {_afgb =true ;_ddcc =_dbbb ._gcgb .Append (_dbbb ._dfaa ._faec );};}else {if _aead .T !=nil &&_aead .T .Content !=""{_bbcad :=_aead .T .Content ;if _deeb :=_dbbb ._agfc ;_deeb !=nil &&_deeb .IdAttr !=nil {_adg =true ;_ddcc =_dbbb ._gcgb .AddExternalLink (_bbcad ,_dbbb ._gbdb .GetTargetByRelId (*_deeb .IdAttr ));}else {_ddcc =_dbbb ._gcgb .Append (_bbcad );};}else if _cccg :=_aead .EndnoteReference ;_cccg !=nil {_gfbde :=_dbbb ._gbdb .BodySection ().X ();_afgb =true ;_eab :=_cccg .IdAttr ;_eafb :=_eab ;_ecec :=_ag .ST_NumberFormatLowerRoman ;if _baca :=_gfbde .EndnotePr ;_baca !=nil {if _adge :=_baca .NumFmt ;_adge !=nil {_ecec =_adge .ValAttr ;};if _accf :=_baca .NumStart ;_accf !=nil {_eafb +=_accf .ValAttr -1;};};_gdd :=_eaaf (_eafb ,_ecec );_eefd :=_dbbb ._gbdb .Endnote (_eab ).X ();if _eefd !=nil {_dbbb ._cbega =append (_dbbb ._cbega ,note {_beg :_gdd ,_fbd :_eefd .EG_BlockLevelElts });_ddcc =_dbbb ._gcgb .Append (_gdd );};}else if _bfcfa :=_aead .FootnoteReference ;_bfcfa !=nil {_eecef :=_dbbb ._gbdb .BodySection ().X ();_afgb =true ;_cbfb :=_bfcfa .IdAttr ;_cbaea :=_cbfb ;_adfg :=_ag .ST_NumberFormatDecimal ;if _gcac :=_eecef .FootnotePr ;_gcac !=nil {if _bffe :=_gcac .NumFmt ;_bffe !=nil {_adfg =_bffe .ValAttr ;};if _bgdg :=_gcac .NumStart ;_bgdg !=nil {_cbaea +=_bgdg .ValAttr -1;};};_cbfbf :=_eaaf (_cbaea ,_adfg );_ddcc =_dbbb ._gcgb .Append (_cbfbf );};};if _ddcc !=nil {_ddcc .Style ,_ ,_ ,_ =_dbbb .makeRunStyle (_egea ,_afgb ,_dggga ,true ,false ,_adg );};};func _fbee (_ebgd *_cb .Document )map[string ]string {_ade :=map[string ]string {};for _ ,_dge :=range _ebgd .Paragraphs (){for _ ,_bdeg :=range _dge .Runs (){for _ ,_ddfb :=range _bdeg .X ().EG_RunInnerContent {if _ddgd :=_ddfb .InstrText ;_ddgd !=nil {_acce ,_cacge :=_eadc (_ddgd .Content );if _acce !=""&&_cacge !=""{_ade [_acce ]=_cacge ;};};};};};return _ade ;};func (_gccd *convertContext )getStyleProps (_accd string )(*_ag .CT_PPrGeneral ,*_ag .CT_RPr ){var _gggb *_ag .CT_PPrGeneral ;var _ccdb *_ag .CT_RPr ;_afdc :=_gccd ._gbdb .GetStyleByID (_accd );if _dggb :=_afdc .X ();_dggb !=nil {_gggb =_dggb .PPr ;_ccdb =_dggb .RPr ;if _dggd :=_dggb .BasedOn ;_dggd !=nil {_gbfc ,_deaaa :=_gccd .getStyleProps (_dggd .ValAttr );_gggb =_efaf (_gggb ,_gbfc );_ccdb =_gacc (_ccdb ,_deaaa );};};return _gggb ,_ccdb ;};func (_dfd *convertContext )addInlineSymbol (_gbca *symbol ){if len (_dfd ._abad ._fba )> 0{_bde :=_dfd ._abad ._fba [len (_dfd ._abad ._fba )-1]._ce ;if _bde =="\u0020"{_dfd .addCurrentWordToParagraph ();_dfd .newWord ();};};_dfd ._abad ._fba =append (_dfd ._abad ._fba ,_gbca );_gbca ._dec =_dfd ._abad ._eg ;_dfd ._abad ._eg +=_gbca ._cgca ;_dfd ._abad ._dedg =false ;_dfd .adjustHeights (_gbca ._dbf );};var _gdbc ,_fcgdc ,_egde *_da .Regexp ;func (_ae *convertContext )drawPages (){for _ ,_aba :=range _ae ._dggc {_ae ._faad .NewPage ();_ae .drawPage (_aba );};};func (_ggbd *convertContext )newSpan (){_bdadg :=&span {_ecc :_ggbd ._effe ._ea ,_eec :_ggbd ._effe ._dd };_ggbd ._cab =_bdadg ;_ggbd ._effe ._geea =append (_ggbd ._effe ._geea ,_bdadg );};func (_dcac *convertContext )makeBlockFromWdWsp (_fdad *_ag .WdWsp )(*block ,error ){if _gfba :=_fdad .WChoice ;_gfba !=nil {if _cbacd :=_gfba .Txbx ;_cbacd !=nil {if _gffa :=_cbacd .TxbxContent ;_gffa !=nil {if _cdfbf :=_gffa .EG_ContentBlockContent ;len (_cdfbf )> 0{if _aecg :=_fdad .SpPr ;_aecg !=nil {if _dbcf :=_aecg .Xfrm ;_dbcf !=nil {if _bbfg :=_dbcf .Ext ;_bbfg !=nil {_ecbef :=_fef .FromEMU (_bbfg .CxAttr );_fgcc :=_fef .FromEMU (_bbfg .CyAttr );_beag :=&_e .Rectangle {Top :_cbace ,Bottom :_cbace ,Left :_cbace ,Right :_cbace };_geeaa ,_efe :=_dcac .makePdfBlockFromCBCs ([][]*_ag .EG_ContentBlockContent {_cdfbf },_ecbef ,_fgcc ,_beag ,false ,nil );if _efe !=nil {return nil ,_efe ;};var _gcgac bool ;var _ebed float64 ;var _agee _g .Color ;if _gfe :=_aecg .PrstGeom ;_gfe !=nil {if _gfe .PrstAttr ==_bb .ST_ShapeTypeRect {if _ccgc :=_aecg .Ln ;_ccgc !=nil {if _fdbeg :=_ccgc .WAttr ;_fdbeg !=nil {_gcgac =true ;_ebed =_fef .FromEMU (int64 (*_fdbeg ));_agee =_g .ColorBlack ;if _dbgd :=_ccgc .SolidFill ;_dbgd !=nil {if _fdbg :=_dbgd .SrgbClr ;_fdbg !=nil {_agee =_g .ColorRGBFromHex ("\u0023"+_fdbg .ValAttr );};};};};};};_bbaa :=&block {_ede :_geeaa ,_ebf :_gcgac ,_bc :_ebed ,_gfc :_agee };return _bbaa ,nil ;};};};};};};};return nil ,nil ;};func _fdbc (_cdg ,_ddec *_ag .CT_Border ,_dgfgg bool )*_ag .CT_Border {if _dgfgg {return _cdg ;};return _ddec ;};func (_dad *convertContext )addAbsoluteRIC (_fcfg *_ag .EG_RunInnerContent ,_efc *_ag .CT_RPr )bool {var _egbd ,_fgedb bool ;_dadc :=[]*symbol {};_fbbe :=false ;if _fcfg ==nil {if _dad ._dfaa !=nil {for _ ,_bebc :=range _dad ._dfaa ._faec {if _gga ,_dcc :=_daf [_bebc ];_dcc {_fgedb =_dad ._dfaa ._eafe ;_dad ._dfaa ._faec =string (rune (_gga ));};};_dadc =_aagb (_dad ._dfaa ._faec ,"",true ,false );};}else {if _cdaf (_fcfg ){return true ;}else if _fcfg .T !=nil &&_fcfg .T .Content !=""{_fdbee :=_fcfg .T .Content ;if _fabc :=_dad ._agfc ;_fabc !=nil &&_fabc .IdAttr !=nil {_fbbe =true ;_dadc =_aagb (_fdbee ,_dad ._gbdb .GetTargetByRelId (*_fabc .IdAttr ),false ,false );}else {_dadc =_aagb (_fdbee ,"",false ,false );};}else if _ada :=_fcfg .EndnoteReference ;_ada !=nil {_cefe :=_dad ._gbdb .BodySection ().X ();_cag :=_ada .IdAttr ;_dfe :=_cag ;_ffg :=_ag .ST_NumberFormatLowerRoman ;if _abe :=_cefe .EndnotePr ;_abe !=nil {if _fbab :=_abe .NumFmt ;_fbab !=nil {_ffg =_fbab .ValAttr ;};if _dgb :=_abe .NumStart ;_dgb !=nil {_dfe +=_dgb .ValAttr -1;};};_gcg :=_eaaf (_dfe ,_ffg );_bafb :=_dad ._gbdb .Endnote (_cag ).X ();if _bafb !=nil {_dad ._cbega =append (_dad ._cbega ,note {_beg :_gcg ,_fbd :_bafb .EG_BlockLevelElts });_dadc =_aagb (_gcg ,"",true ,false );};}else if _gbcg :=_fcfg .FootnoteReference ;_gbcg !=nil {_cggd :=_dad ._gbdb .BodySection ().X ();_bfg :=_gbcg .IdAttr ;_aaae :=_bfg ;_gcf :=_ag .ST_NumberFormatDecimal ;if _fdaf :=_cggd .FootnotePr ;_fdaf !=nil {if _fgc :=_fdaf .NumFmt ;_fgc !=nil {_gcf =_fgc .ValAttr ;};if _cdfd :=_fdaf .NumStart ;_cdfd !=nil {_aaae +=_cdfd .ValAttr -1;};};_adfe :=_eaaf (_aaae ,_gcf );_cbae :=_dad ._gbdb .Footnote (_bfg ).X ();if _cbae !=nil {_cbd :=&note {_beg :_adfe ,_fbd :_cbae .EG_BlockLevelElts };_cgb :=[][]*_ag .EG_ContentBlockContent {};for _ ,_abae :=range _cbae .EG_BlockLevelElts {_cgb =append (_cgb ,_abae .EG_ContentBlockContent );};_aea :=&prefix {_faec :_adfe };_abb ,_gfd :=_dad .makePdfBlockFromCBCs (_cgb ,_dad ._ddcb ._dc .Right -_dad ._ddcb ._dc .Left ,_fgca (1000),nil ,true ,_aea );if _gfd !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006f\u0074\u0020c\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0066\u006fo\u0074\u006e\u006ft\u0065:\u0020\u0025\u0073",_gfd );return false ;};_cbd ._de =_abb ;_dad ._abaa ._gbgg =append (_dad ._abaa ._gbgg ,_cbd );_dad ._abaa ._gab +=_cbd ._de .Height ();_dadc =_aagb (_adfe ,"",true ,false );};}else if _bebca :=_fcfg .InstrText ;_bebca !=nil {_gaa :=_dede (_bebca .Content );if _gaa !=""{_dadc =_aagb (_dad ._gcbd [_gaa ],"",false ,false );};}else if _bdbd :=_fcfg .Drawing ;_bdbd !=nil {for _ ,_cefb :=range _bdbd .Inline {if _gfdf :=_cefb .Graphic ;_gfdf !=nil {if _fffb :=_gfdf .GraphicData ;_fffb !=nil {_bbca :=_cefb .Extent ;if _bbca ==nil {return false ;};_abd :=_fef .FromEMU (_bbca .CxAttr );_ccd :=_fef .FromEMU (_bbca .CyAttr );for _ ,_cffe :=range _fffb .Any {if _abba ,_efa :=_cffe .(*_df .Pic );_efa {_cgbd :=&symbol {_dbf :_ccd ,_cgca :_abd };_afe ,_fde :=_dad .makePdfImageFromGraphics (_abba );if _fde !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0069\u006da\u0067\u0065\u003a\u0020\u0025\u0073",_fde );};if _afe ==nil {_cgbd ._ce ="\u0020";}else {_afe .Scale (_abd /_afe .Width (),_ccd /_afe .Height ());_cgbd ._bda =_afe ;_egbd =true ;};_dadc =[]*symbol {_cgbd };}else if _cgf ,_bdd :=_cffe .(*_fd .Chart );_bdd {_fbcg :=&symbol {_dbf :_ccd ,_cgca :_abd };_gcc ,_ffe :=_dad .makePdfBlockFromChart (_cgf ,_abd ,_ccd );if _ffe !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_ffe );};if _gcc ==nil {_fbcg ._ce ="\u0020";}else {_fbcg ._gbga =&block {_ede :_gcc };_egbd =true ;};_dadc =[]*symbol {_fbcg };};};};};};};};var _eceg _g .TextStyle ;var _bae ,_bdad bool ;var _cacg *_g .Color ;if !_egbd {_eceg ,_bae ,_bdad ,_cacg =_dad .makeRunStyle (_efc ,false ,false ,false ,_fgedb ,_fbbe );};for _ ,_fcg :=range _dadc {if _fcg ._bda !=nil ||_fcg ._gbga !=nil {_dad .addInlineSymbol (_fcg );}else {_fcg ._agdg =&_eceg ;_fcg ._cge =_bae ;_fcg ._geeg =_bdad ;_fcg ._ed =_cacg ;_dad .addTextSymbol (_fcg );};};if _dad ._dfaa !=nil &&_dad ._dfaa ._dab {var _afgg ,_acff float64 ;for _ ,_gagg :=range _dadc {_afgg +=_gagg ._cgca ;};_fdc :=0;_gdgd :=_dad ._ddcb ._dc .Left ;_fcc :=len (_dad ._dfaa ._eadg );_badc :=_dad ._abaa ._ac < _afgg ;_eece :=_dad ._effe ._fbe +_afgg ;for {var _eggc float64 ;if _badc ||_fdc >=_fcc {_eggc =_ggecd ;}else {_eggc =_dad ._dfaa ._eadg [_fdc ];_fdc ++;};_gdgd +=_eggc ;if _gdgd > _eece {_acff =_gdgd -_eece ;break ;};};_dad .addTextSymbol (&symbol {_ce :"\u0020",_cgca :_acff });};return false ;};func (_bccb *convertContext )combinePPrWithStyles (_gcce *_ag .CT_PPr )(*_ag .CT_PPr ,*prefix ){if _gcce ==nil {return nil ,nil ;};var _bacg *prefix ;if _gcce !=nil &&_gcce .NumPr !=nil {if _agbe ,_dcefe :=_gcce .NumPr .Ilvl ,_gcce .NumPr .NumId ;_agbe !=nil &&_dcefe !=nil {if _deddb :=_bccb ._gbdb .GetNumberingLevelByIds (_dcefe .ValAttr ,_agbe .ValAttr ).X ();_deddb !=nil {_gcce =_ccgb (_gcce ,_deddb .PPr ,_deddb .RPr );if _cgaa :=_deddb .NumFmt ;_cgaa !=nil {if _aedd :=_cgaa .ValAttr ;_aedd ==_ag .ST_NumberFormatBullet ||_aedd ==_ag .ST_NumberFormatDecimal {var _ecfb []float64 ;if _fceg :=_gcce .Tabs ;_fceg !=nil &&len (_fceg .Tab )!=0{for _ ,_aebgc :=range _fceg .Tab {_ecfb =append (_ecfb ,_e .PointsFromTwips (*_aebgc .PosAttr .Int64 ));};};_bacg =&prefix {_eadg :_ecfb ,_dab :true };if _aedd ==_ag .ST_NumberFormatBullet {if _fafc :=_deddb .LvlText ;_fafc !=nil {if _gdaa :=_fafc .ValAttr ;_gdaa !=nil &&*_gdaa !=""{_bacg ._faec =*_gdaa ;_bacg ._eafe =true ;};};}else {_bfbcf ,_cbda :=_dcefe .ValAttr ,_agbe .ValAttr ;if _ ,_fafa :=_bccb ._cacf [_bfbcf ];!_fafa {_bccb ._cacf [_bfbcf ]=map[int64 ]int64 {};};if _ ,_dcag :=_bccb ._cacf [_bfbcf ][_cbda ];!_dcag {_bccb ._cacf [_bfbcf ][_cbda ]=1;};_acceg :=_bccb ._cacf [_bfbcf ][_cbda ];_cfab :=_ca .FormatNumberingText (int64 (_acceg ),_deddb .IlvlAttr ,*_deddb .LvlText .ValAttr ,_deddb .NumFmt ,_bccb ._cacf [_bfbcf ]);_bccb ._cacf [_bfbcf ][_cbda ]++;_bacg ._faec =_cfab ;};};};};};};if _gcce !=nil &&_gcce .PStyle !=nil {_ceed ,_bgf :=_bccb .getStyleProps (_gcce .PStyle .ValAttr );_gcce =_ccgb (_gcce ,_ceed ,_bgf );};return _gcce ,_bacg ;};func _aagb (_ecdg ,_fgef string ,_deec ,_aaff bool )[]*symbol {_efg :=[]*symbol {};for _ ,_ece :=range _ecdg {_gcaa :=&symbol {_ce :string (_ece ),_cge :_deec ,_geeg :_aaff ,_cfe :_fgef };_efg =append (_efg ,_gcaa );};return _efg ;};var _daf =map[int32 ]int32 {61623:8226,61607:8226,61558:9830,61656:8594,61692:8730};func (_dff *convertContext )addAbsoluteEGPC (_ceee []*_ag .EG_PContent ,_cdf *_ag .CT_PPr )bool {for _ ,_ggd :=range _ceee {for _ ,_decf :=range _ggd .FldSimple {if _decf !=nil {_dff .addAbsoluteEGPC (_decf .EG_PContent ,_cdf );};};if _fcd :=_ggd .Hyperlink ;_fcd !=nil {_dff ._agfc =_fcd ;_dff .addAbsoluteCRC (_fcd .EG_ContentRunContent ,_cdf );};_dff ._agfc =nil ;if _dff .addAbsoluteCRC (_ggd .EG_ContentRunContent ,_cdf ){return true ;};};return false ;};func _ebfb (_beac int ,_dggcc bool )string {_efd :=(_beac -1)/26+1;_ebdca :=byte ((_beac -1)%26);if _dggcc {_ebdca +=byte (65);}else {_ebdca +=byte (97);};_cbbbe :=_cc .NewBuffer ([]byte {});for _dbb :=0;_dbb < _efd ;_dbb ++{_cbbbe .Write ([]byte {_ebdca });};return _cbbbe .String ();};func (_fbcc *convertContext )addRelativeCBCs (_aafe []*_ag .EG_ContentBlockContent ){for _ ,_aec :=range _aafe {_fbcc .addHdrFtr (_aec .P );};};func _eadc (_eeda string )(string ,string ){_fgaf :=_fcgdc .FindStringSubmatch (_eeda );if len (_fgaf )< 3{return "","";};return _fgaf [1],_fgaf [2];};func (_bcb *span )moveRight (_fdb float64 ){for _ ,_gdff :=range _bcb ._bd {_gdff ._dg +=_fdb ;};};
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
func RegisterFont (name string ,style FontStyle ,font *_b .PdfFont ){_e .RegisterFont (name ,style ,font )};func _acceb (_egab ,_aafa *_ag .CT_RPr )*_ag .CT_RPr {if _egab ==nil {return _aafa ;};if _aafa ==nil {if _egab .B !=nil {_egab .B =nil ;};if _egab .BCs !=nil {_egab .BCs =nil ;};if _egab .I !=nil {_egab .I =nil ;};if _egab .ICs !=nil {_egab .ICs =nil ;};return _egab ;};if _egab .RStyle ==nil {_egab .RStyle =_aafa .RStyle ;};if _egab .RFonts ==nil {_egab .RFonts =_aafa .RFonts ;};if _egab .B ==nil {_egab .B =_aafa .B ;};if _egab .BCs ==nil {_egab .BCs =_aafa .BCs ;};if _egab .I ==nil {_egab .I =_aafa .I ;};if _egab .ICs ==nil {_egab .ICs =_aafa .ICs ;};if _egab .Caps ==nil {_egab .Caps =_aafa .Caps ;};if _egab .SmallCaps ==nil {_egab .SmallCaps =_aafa .SmallCaps ;};if _egab .Strike ==nil {_egab .Strike =_aafa .Strike ;};if _egab .Dstrike ==nil {_egab .Dstrike =_aafa .Dstrike ;};if _egab .Outline ==nil {_egab .Outline =_aafa .Outline ;};if _egab .Shadow ==nil {_egab .Shadow =_aafa .Shadow ;};if _egab .Emboss ==nil {_egab .Emboss =_aafa .Emboss ;};if _egab .Imprint ==nil {_egab .Imprint =_aafa .Imprint ;};if _egab .NoProof ==nil {_egab .NoProof =_aafa .NoProof ;};if _egab .SnapToGrid ==nil {_egab .SnapToGrid =_aafa .SnapToGrid ;};if _egab .Vanish ==nil {_egab .Vanish =_aafa .Vanish ;};if _egab .WebHidden ==nil {_egab .WebHidden =_aafa .WebHidden ;};if _egab .Color ==nil {_egab .Color =_aafa .Color ;};if _egab .Spacing ==nil {_egab .Spacing =_aafa .Spacing ;};if _egab .W ==nil {_egab .W =_aafa .W ;};if _egab .Kern ==nil {_egab .Kern =_aafa .Kern ;};if _egab .Position ==nil {_egab .Position =_aafa .Position ;};if _egab .Sz ==nil {_egab .Sz =_aafa .Sz ;};if _egab .SzCs ==nil {_egab .SzCs =_aafa .SzCs ;};if _egab .Highlight ==nil {_egab .Highlight =_aafa .Highlight ;};if _egab .U ==nil {_egab .U =_aafa .U ;};if _egab .Effect ==nil {_egab .Effect =_aafa .Effect ;};if _egab .Bdr ==nil {_egab .Bdr =_aafa .Bdr ;};if _egab .Shd ==nil {_egab .Shd =_aafa .Shd ;};if _egab .FitText ==nil {_egab .FitText =_aafa .FitText ;};if _egab .VertAlign ==nil {_egab .VertAlign =_aafa .VertAlign ;};if _egab .Rtl ==nil {_egab .Rtl =_aafa .Rtl ;};if _egab .Cs ==nil {_egab .Cs =_aafa .Cs ;};if _egab .Em ==nil {_egab .Em =_aafa .Em ;};if _egab .Lang ==nil {_egab .Lang =_aafa .Lang ;};if _egab .EastAsianLayout ==nil {_egab .EastAsianLayout =_aafa .EastAsianLayout ;};if _egab .SpecVanish ==nil {_egab .SpecVanish =_aafa .SpecVanish ;};if _egab .OMath ==nil {_egab .OMath =_aafa .OMath ;};if _egab .RPrChange ==nil {_egab .RPrChange =_aafa .RPrChange ;};return _egab ;};func (_abef *convertContext )makePdfBlockFromChart (_caada *_fd .Chart ,_aab ,_afec float64 )(*_g .Block ,error ){_ebdg :=_caada .CT_RelId .IdAttr ;_abde :=_abef ._gbdb .GetChartSpaceByRelId (_ebdg );if _abde ==nil {return nil ,_cg .New ("\u004e\u006f\u0020\u0063\u0068\u0061\u0072\u0074\u0073\u0070\u0061\u0063\u0065");};var _bbcdg *_bb .Theme ;_ggc :=_abef ._gbdb .Themes ();if len (_ggc )> 0{_bbcdg =_ggc [0];};return _e .MakeBlockFromChartSpace (_abde ,_aab ,_afec ,_bbcdg );};func _gebb (_gdbce *_cb .Document ,_fdde *_ag .CT_RPr ,_aad *_ag .CT_PPr )*_ag .CT_RPr {var _bcfa ,_acfd *_ag .CT_RPr ;if _fdde ==nil {_fdde =_ag .NewCT_RPr ();};var _gbggd *_ag .CT_ParaRPr ;if _aad !=nil &&_aad .RPr !=nil {_gbggd =_aad .RPr ;};if _gbggd ==nil {_gbggd =_ag .NewCT_ParaRPr ();};if _fdde .RStyle !=nil {_agc :=_gdbce .GetStyleByID (_fdde .RStyle .ValAttr );if _ffcb :=_agc .X ();_ffcb !=nil {_bcfa =_ffcb .RPr ;};};if _bcfa ==nil {_bcfa =_ag .NewCT_RPr ();};if _gbggd .RStyle !=nil {_fagf :=_gdbce .GetStyleByID (_gbggd .RStyle .ValAttr );if _ggafb :=_fagf .X ();_ggafb !=nil {_acfd =_ggafb .RPr ;};};if _acfd ==nil {_acfd =_ag .NewCT_RPr ();};if _fdde .Color ==nil {if _bcfa .Color !=nil {_fdde .Color =_bcfa .Color ;}else if _gbggd .Color !=nil {_fdde .Color =_gbggd .Color ;}else if _acfd .Color !=nil {_fdde .Color =_acfd .Color ;};};if _fdde .Spacing ==nil {if _bcfa .Spacing !=nil {_fdde .Spacing =_bcfa .Spacing ;}else if _gbggd .Spacing !=nil {_fdde .Spacing =_gbggd .Spacing ;}else if _acfd .Spacing !=nil {_fdde .Spacing =_acfd .Spacing ;};};if _fdde .Sz ==nil {if _bcfa .Sz !=nil {_fdde .Sz =_bcfa .Sz ;}else if _gbggd .Sz !=nil {_fdde .Sz =_gbggd .Sz ;}else if _acfd .Sz !=nil {_fdde .Sz =_acfd .Sz ;};};if _fdde .SzCs ==nil {if _bcfa .SzCs !=nil {_fdde .SzCs =_bcfa .SzCs ;}else if _gbggd .SzCs !=nil {_fdde .SzCs =_gbggd .SzCs ;}else if _acfd .SzCs !=nil {_fdde .SzCs =_acfd .SzCs ;};};if _fdde .B ==nil {if _bcfa .B !=nil {_fdde .B =_bcfa .B ;}else if _gbggd .B !=nil {_fdde .B =_gbggd .B ;}else if _acfd .B !=nil {_fdde .B =_acfd .B ;};};if _fdde .I ==nil {if _bcfa .I !=nil {_fdde .I =_bcfa .I ;}else if _gbggd .I !=nil {_fdde .I =_gbggd .I ;}else if _acfd .I !=nil {_fdde .I =_acfd .I ;};};if _fdde .RFonts ==nil {if _bcfa .RFonts !=nil {_fdde .RFonts =_bcfa .RFonts ;}else if _gbggd .RFonts !=nil {_fdde .RFonts =_gbggd .RFonts ;}else if _acfd .RFonts !=nil {_fdde .RFonts =_acfd .RFonts ;};};if _fdde .VertAlign ==nil {if _bcfa .VertAlign !=nil {_fdde .VertAlign =_bcfa .VertAlign ;}else if _gbggd .VertAlign !=nil {_fdde .VertAlign =_gbggd .VertAlign ;}else if _acfd .VertAlign !=nil {_fdde .VertAlign =_acfd .VertAlign ;};};return _fdde ;};func (_deeg *convertContext )makePdfImageFromGraphics (_aegf *_df .Pic )(*_g .Image ,error ){if _fgge :=_aegf .BlipFill ;_fgge !=nil {if _bdfb :=_fgge .Blip ;_bdfb !=nil {if _aegcc :=_bdfb .EmbedAttr ;_aegcc !=nil {_bafd ,_dgd :=_deeg ._gbdb .GetImageObjByRelId (*_aegcc );if _dgd !=nil {return nil ,_dgd ;};_fdcb ,_dgd :=_fe .Open (_bafd .Path );if _dgd !=nil {return nil ,_dgd ;};_cgec ,_dgd :=_a .ReadAll (_fdcb );if _dgd !=nil {return nil ,_dgd ;};_egbc ,_dgd :=_deeg ._faad .NewImageFromData (_cgec );if _dgd !=nil {return nil ,_dgd ;};return _egbc ,nil ;};};};return nil ,nil ;};func (_agfg *convertContext )adjustRightBoundOfLastSpan (){_gdcee :=_agfg ._cab ._eec ;_gbff :=_agfg ._effe ._fbga +_agfg ._abaa ._ga ;_bea :=_gbff +_agfg ._effe ._gf ;for _ ,_dffb :=range _agfg ._ddcb ._ad {if ((_gbff > _dffb ._af .Top &&_gbff < _dffb ._af .Bottom )||(_bea > _dffb ._af .Top &&_gbff < _dffb ._af .Bottom ))&&(_gdcee > _dffb ._af .Left ){_gdcee =_dffb ._af .Left ;};};_agfg ._cab ._eec =_gdcee ;};type paragraph struct{_ac float64 ;_ded *_e .Rectangle ;_baa float64 ;_aa float64 ;_ee float64 ;_ga float64 ;_agd float64 ;_adb _g .TextAlignment ;_bbf float64 ;_ff []*line ;_bag *tableWrapper ;_fc []*image ;_fea []*image ;_ec []*block ;_acg []*block ;_gbgg []*note ;_gab float64 ;_fg []*zoneToSkip ;_gee float64 ;_cgc bool ;_fge []*borderLine ;};var _bffd =[]romanMatch {romanMatch {1000,"\u006d"},romanMatch {900,"\u0063\u006d"},romanMatch {500,"\u0064"},romanMatch {400,"\u0063\u0064"},romanMatch {100,"\u0063"},romanMatch {90,"\u0078\u0063"},romanMatch {50,"\u006c"},romanMatch {40,"\u0078\u006c"},romanMatch {10,"\u0078"},romanMatch {9,"\u0069\u0078"},romanMatch {5,"\u0076"},romanMatch {4,"\u0069\u0076"},romanMatch {1,"\u0069"}};func (_cggee *convertContext )addCurrentWordToParagraph (){for {_edd :=_cggee ._effe ._ea ;_eff :=_edd +_cggee ._abad ._eg ;if _eff > _cggee ._effe ._dd {_cggee .newLine ();};_cffd :=_cggee ._abaa ._ga +_cggee ._effe ._fbga ;_efb :=_cffd +_cggee ._effe ._gf ;_egca :=false ;_fdf :=append (_cggee ._ddcb ._ad ,_cggee ._abaa ._fg ...);for _ ,_gbac :=range _fdf {_cafb :=_gbac ._af ;if ((_cffd > _cafb .Top &&_cffd < _cafb .Bottom )||(_efb > _cafb .Top &&_efb < _cafb .Bottom ))&&((_edd > _cafb .Left &&_edd < _cafb .Right )||(_eff > _cafb .Left &&_eff < _cafb .Right )){_egca =true ;if _cggee ._effe ._ea < _cafb .Right {_cggee ._cab ._eec =_cafb .Left ;_cggee ._effe ._ea =_cafb .Right ;_cggee .newSpan ();};};};if !_egca {break ;};};if !_cggee ._abad ._dedg ||len (_cggee ._cab ._bd )> 0{_cggee ._abad ._dg =_cggee ._effe ._ea ;_cggee ._cab ._bd =append (_cggee ._cab ._bd ,_cggee ._abad );_cggee ._effe ._ea +=_cggee ._abad ._eg ;for _ ,_fgda :=range _cggee ._abad ._fba {_cggee .adjustHeights (_fgda ._dbf );};};};func (_cecd *convertContext )newPage (){_ffa :=&page {};_ffa ._dc =_cecd ._cedd ;_ffa ._db =_ffa ._dc .Top ;if _cecd ._cebe {_ffa ._eb =true ;_ffa ._db +=_cf ;};_cecd ._dggc =append (_cecd ._dggc ,_ffa );_cecd ._ddcb =_ffa ;};func init (){_fcgdc =_da .MustCompile ("\u0053E\u0054 \u0028\u002e\u002b\u0029\u0020\u0022\u0028\u002e\u002b\u0029\u0022");_egde =_da .MustCompile ("\u0052\u0045\u0046\u0020\u0028\u002e\u002b\u003f\u0029\u0020");};func (_gfbd *convertContext )addAbsoluteTable (_bbgf *_ag .CT_Tbl ){_adaf :=_bbgf .TblGrid ;if _adaf ==nil {return ;};_ggeff :=len (_adaf .GridCol );if _ggeff ==0{return ;};_gfda :=[]float64 {};_agda :=[]float64 {};_fagg :=0.0;for _ ,_bage :=range _adaf .GridCol {_dcff :=0.0;if _bage .WAttr .ST_UnsignedDecimalNumber !=nil {_dcff =_e .PointsFromTwips (int64 (*_bage .WAttr .ST_UnsignedDecimalNumber ));};_gfda =append (_gfda ,_dcff );_fagg +=_dcff ;};for _bgea :=0;_bgea < _ggeff ;_bgea ++{_agda =append (_agda ,_gfda [_bgea ]/_fagg );};_ccad :=_gfbd ._faad .NewTable (_ggeff );_ccad .SetColumnWidths (_agda ...);_dcea :=_gfbd ._faad .NewTable (_ggeff );_dcea .SetColumnWidths (_agda ...);_fead ,_dcb ,_aegc :=_eda (_gfbd ._gbdb ,_bbgf .TblPr );var _deb []*_ag .CT_TblStylePr ;if _fead .TblStyle !=nil {_deb =_bedaf (_gfbd ._gbdb ,_fead .TblStyle .ValAttr );};_gfdff :=_fefc (_fead .TblW ,_gfbd ._ddcb ._dc .Right -_gfbd ._ddcb ._dc .Left ,0);_gaef :=_fefc (_fead .TblInd ,_gfbd ._ddcb ._dc .Right -_gfbd ._ddcb ._dc .Left ,0);_gad :=_gfbd ._ddcb ._dc .Bottom -_gfbd ._abaa ._ga ;_ebgb :=len (_bbgf .EG_ContentRowContent );for _edda ,_aeba :=range _bbgf .EG_ContentRowContent {if _aeba ==nil {continue ;};_fdbd :=_gfbd ._faad .NewTable (_ggeff );_fdbd .SetColumnWidths (_agda ...);if _abdf :=_aeba .Tr ;len (_abdf )> 0{_fdeb :=_abdf [0];_gcfd :=_fdeb .TblPrEx ;for _ebdc ,_dde :=range _fdeb .EG_ContentCellContent {if _bagd :=_dde .Tc ;len (_bagd )> 0{if _bfcf :=_bagd [0];_bfcf !=nil {_gfbd .addCellToTable (_dcea ,_bfcf ,_fead ,_gcfd ,_edda ,_ebdc ,_ebgb ,_ggeff ,_deb ,_dcb ,_aegc );_gfbd .addCellToTable (_fdbd ,_bfcf ,_fead ,_gcfd ,_edda ,_ebdc ,_ebgb ,_ggeff ,_deb ,_dcb ,_aegc );};};};var _gaee float64 ;if _cbac :=_fdeb .TrPr ;_cbac !=nil {if len (_cbac .TrHeight )!=0{_cbca :=_cbac .TrHeight [0];if _eacg :=_cbca .ValAttr ;_eacg !=nil {if _eacg .ST_UnsignedDecimalNumber !=nil {_gaee =_e .PointsFromTwips (int64 (*_eacg .ST_UnsignedDecimalNumber ));};};};};if _gaee < _fdbd .Height (){_gaee =_fdbd .Height ();};if _gaee < _fgca (4){_gaee =_fgca (4);};_dcea .SetRowHeight (_dcea .CurRow (),_gaee );_fdbd .SetRowHeight (_fdbd .CurRow (),_gaee );if _gfdff ==0||_gfdff > _gfbd ._ddcb ._dc .Right -_gfbd ._ddcb ._dc .Left {_gfdff =_gfbd ._ddcb ._dc .Right -_gfbd ._ddcb ._dc .Left ;};_gcdg :=_e .MakeTempCreator (_gfdff ,_fgca (1000));_gcdg .Draw (_dcea );if _dcea .Height ()>=_gad {_gfbd .addParagraphWithTable (*_ccad ,_gfdff ,_gaef );_gfbd .newPage ();*_dcea =*_fdbd ;_dcea .SetRowHeight (_dcea .CurRow (),_gaee );_gad =_gfbd ._ddcb ._dc .Bottom -_gfbd ._ddcb ._dc .Top ;_ccad =nil ;}else {if _ccad ==nil {_ccad =_gfbd ._faad .NewTable (_ggeff );_ccad .SetColumnWidths (_agda ...);};*_ccad =*_dcea ;};};};if _ccad !=nil {_gfbd .addParagraphWithTable (*_ccad ,_gfdff ,_gaef );};};type borderLine struct{_bec _g .Color ;_def _e .BorderPosition ;_fec float64 ;_gbe float64 ;_bg float64 ;};func _eecb (_fbgb ,_fafab *_ag .CT_TcPr )*_ag .CT_TcPr {if _fbgb ==nil {return _fafab ;};if _fafab ==nil {return _fbgb ;};if _fbgb .CnfStyle ==nil {_fbgb .CnfStyle =_fafab .CnfStyle ;};if _fbgb .TcW ==nil {_fbgb .TcW =_fafab .TcW ;};if _fbgb .GridSpan ==nil {_fbgb .GridSpan =_fafab .GridSpan ;};if _fbgb .HMerge ==nil {_fbgb .HMerge =_fafab .HMerge ;};if _fbgb .VMerge ==nil {_fbgb .VMerge =_fafab .VMerge ;};if _fbgb .TcBorders ==nil {_fbgb .TcBorders =_fafab .TcBorders ;};if _fbgb .Shd ==nil {_fbgb .Shd =_fafab .Shd ;};if _fbgb .NoWrap ==nil {_fbgb .NoWrap =_fafab .NoWrap ;};if _fbgb .TcMar ==nil {_fbgb .TcMar =_fafab .TcMar ;};if _fbgb .TextDirection ==nil {_fbgb .TextDirection =_fafab .TextDirection ;};if _fbgb .TcFitText ==nil {_fbgb .TcFitText =_fafab .TcFitText ;};if _fbgb .VAlign ==nil {_fbgb .VAlign =_fafab .VAlign ;};if _fbgb .HideMark ==nil {_fbgb .HideMark =_fafab .HideMark ;};if _fbgb .Headers ==nil {_fbgb .Headers =_fafab .Headers ;};if _fbgb .CellIns ==nil {_fbgb .CellIns =_fafab .CellIns ;};if _fbgb .CellDel ==nil {_fbgb .CellDel =_fafab .CellDel ;};if _fbgb .CellMerge ==nil {_fbgb .CellMerge =_fafab .CellMerge ;};if _fbgb .TcPrChange ==nil {_fbgb .TcPrChange =_fafab .TcPrChange ;};return _fbgb ;};func _ccgb (_fcfb *_ag .CT_PPr ,_fca *_ag .CT_PPrGeneral ,_eae *_ag .CT_RPr )*_ag .CT_PPr {if _fcfb ==nil {_fcfb =_ag .NewCT_PPr ();};if _fca !=nil {if _fcfb .Jc ==nil &&_fca .Jc !=nil {_fcfb .Jc =_fca .Jc ;};if _fcfb .Spacing ==nil {_fcfb .Spacing =_fca .Spacing ;}else if _bbcb :=_fca .Spacing ;_bbcb !=nil {if _fcfb .Spacing .BeforeAttr ==nil {_fcfb .Spacing .BeforeAttr =_bbcb .BeforeAttr ;};if _fcfb .Spacing .AfterAttr ==nil {_fcfb .Spacing .AfterAttr =_bbcb .AfterAttr ;};if _fcfb .Spacing .LineAttr ==nil {_fcfb .Spacing .LineAttr =_bbcb .LineAttr ;};};if _fca .Ind !=nil {if _fcfb .Ind ==nil {_fcfb .Ind =_fca .Ind ;}else {_afa ,_gabe :=_fcfb .Ind .FirstLineAttr ==nil ,_fcfb .Ind .HangingAttr ==nil ;if _afa &&_gabe &&_fca .Ind .FirstLineAttr !=nil {_fcfb .Ind .FirstLineAttr =_fca .Ind .FirstLineAttr ;_afa =false ;};if _afa &&_gabe &&_fca .Ind .HangingAttr !=nil {_fcfb .Ind .HangingAttr =_fca .Ind .HangingAttr ;};if _fcfb .Ind .LeftAttr ==nil {_fcfb .Ind .LeftAttr =_fca .Ind .LeftAttr ;};if _fcfb .Ind .RightAttr ==nil {_fcfb .Ind .RightAttr =_fca .Ind .RightAttr ;};};};if _fcfb .Tabs ==nil &&_fca .Tabs !=nil {_fcfb .Tabs =_fca .Tabs ;};if _fca .PBdr !=nil {_fcfb .PBdr =_fca .PBdr ;};};if _eae !=nil {var _cedg _ag .CT_ParaRPr ;if _fcfb .RPr ==nil {_cedg =*_ag .NewCT_ParaRPr ();}else {_cedg =*_fcfb .RPr ;};if _cedg .Color ==nil &&_eae .Color !=nil {_cedg .Color =_eae .Color ;};if _cedg .Spacing ==nil &&_eae .Spacing !=nil {_cedg .Spacing =_eae .Spacing ;};if _cedg .Sz ==nil &&_eae .Sz !=nil {_cedg .Sz =_eae .Sz ;};if _cedg .SzCs ==nil &&_eae .SzCs !=nil {_cedg .SzCs =_eae .SzCs ;};if _cedg .B ==nil &&_eae .B !=nil {_cedg .B =_eae .B ;};if _cedg .I ==nil &&_eae .I !=nil {_cedg .I =_eae .I ;};if _cedg .RFonts ==nil &&_eae .RFonts !=nil {_cedg .RFonts =_eae .RFonts ;};if _cedg .VertAlign ==nil &&_eae .VertAlign !=nil {_cedg .VertAlign =_eae .VertAlign ;};if _cedg .Bdr ==nil &&_eae .Bdr !=nil {_cedg .Bdr =_eae .Bdr ;};_fcfb .RPr =&_cedg ;};return _fcfb ;};func _bcea (_befc *_cb .Document ,_gdebf string ,_gdfff *_ag .CT_TblPr ,_abgf *_ag .CT_PPrGeneral ,_fdda *_ag .CT_RPr )(*_ag .CT_TblPr ,*_ag .CT_PPrGeneral ,*_ag .CT_RPr ){if _gdfff .TblStyle !=nil {_efbd :=_befc .GetStyleByID (_gdebf );if _ageed :=_efbd .X ();_ageed !=nil {if _ddcf :=_ageed .TblPr ;_ddcf !=nil {_dagbf :=_gdfff .TblBorders ;_debf :=_ddcf .TblBorders ;if _dagbf ==nil {_dagbf =_debf ;}else {if _dagbf .Top ==nil {_dagbf .Top =_debf .Top ;};if _dagbf .Bottom ==nil {_dagbf .Bottom =_debf .Bottom ;};if _dagbf .Left ==nil {_dagbf .Left =_debf .Left ;};if _dagbf .Right ==nil {_dagbf .Right =_debf .Right ;};if _dagbf .InsideH ==nil {_dagbf .InsideH =_debf .InsideH ;};if _dagbf .InsideV ==nil {_dagbf .InsideV =_debf .InsideV ;};};_gdfff .TblBorders =_dagbf ;_gbag :=_gdfff .Shd ;_aceb :=_ddcf .Shd ;if _gbag ==nil {_gbag =_aceb ;}else {if _aceb !=nil &&_gbag .FillAttr ==nil {_gbag .FillAttr =_aceb .FillAttr ;};};_gdfff .Shd =_gbag ;_acfg :=_gdfff .TblCellMar ;_cdac :=_ddcf .TblCellMar ;if _acfg ==nil {_acfg =_cdac ;}else {if _cdac !=nil &&_acfg .Left ==nil {_acfg .Left =_cdac .Left ;};};_gdfff .TblCellMar =_acfg ;if _gdfff .TblInd ==nil {_gdfff .TblInd =_ddcf .TblInd ;};if _gdfff .Jc ==nil {_gdfff .Jc =_ddcf .Jc ;};};if _ageed .PPr !=nil {_abgf =_efaf (_ageed .PPr ,_abgf );};if _ageed .RPr !=nil {_fdda =_gacc (_ageed .RPr ,_fdda );};if _eedb :=_ageed .BasedOn ;_eedb !=nil {return _bcea (_befc ,_eedb .ValAttr ,_gdfff ,_abgf ,_fdda );};};};return _gdfff ,_abgf ,_fdda ;};func (_fac *convertContext )newLine (){if _fac ._abaa ==nil {_fac .newParagraph ();};_acd :=_fac ._abaa ._agd +_fac ._abaa ._ded .Top ;_gde :=&line {};if len (_fac ._abaa ._ff )==0{_gde ._fbe =_fac ._abaa ._baa ;}else {_gde ._fbe =_fac ._abaa ._aa ;};_gde ._dd =_fac ._abaa ._ee ;_gde ._ea =_gde ._fbe ;_gde ._fbga =_acd ;_fac ._abaa ._ff =append (_fac ._abaa ._ff ,_gde );_fac ._effe =_gde ;_fac .newSpan ();};var _ggecd float64 ;func _gge (_gba *_g .Creator ,_gd *image ){_gd ._cd .SetPos (_gd ._aga ,_gd ._cff );_gba .Draw (_gd ._cd )};type block struct{_ede *_g .Block ;_aae float64 ;_cfg float64 ;_ebf bool ;_bc float64 ;_gfc _g .Color ;};func _gacc (_affc ,_egec *_ag .CT_RPr )*_ag .CT_RPr {if _affc ==nil {return _egec ;};if _egec ==nil {return _affc ;};if _affc .RStyle ==nil {_affc .RStyle =_egec .RStyle ;};if _affc .RFonts ==nil {_affc .RFonts =_egec .RFonts ;};if _affc .B ==nil {_affc .B =_egec .B ;};if _affc .BCs ==nil {_affc .BCs =_egec .BCs ;};if _affc .I ==nil {_affc .I =_egec .I ;};if _affc .ICs ==nil {_affc .ICs =_egec .ICs ;};if _affc .Caps ==nil {_affc .Caps =_egec .Caps ;};if _affc .SmallCaps ==nil {_affc .SmallCaps =_egec .SmallCaps ;};if _affc .Strike ==nil {_affc .Strike =_egec .Strike ;};if _affc .Dstrike ==nil {_affc .Dstrike =_egec .Dstrike ;};if _affc .Outline ==nil {_affc .Outline =_egec .Outline ;};if _affc .Shadow ==nil {_affc .Shadow =_egec .Shadow ;};if _affc .Emboss ==nil {_affc .Emboss =_egec .Emboss ;};if _affc .Imprint ==nil {_affc .Imprint =_egec .Imprint ;};if _affc .NoProof ==nil {_affc .NoProof =_egec .NoProof ;};if _affc .SnapToGrid ==nil {_affc .SnapToGrid =_egec .SnapToGrid ;};if _affc .Vanish ==nil {_affc .Vanish =_egec .Vanish ;};if _affc .WebHidden ==nil {_affc .WebHidden =_egec .WebHidden ;};if _affc .Color ==nil {_affc .Color =_egec .Color ;};if _affc .Spacing ==nil {_affc .Spacing =_egec .Spacing ;};if _affc .W ==nil {_affc .W =_egec .W ;};if _affc .Kern ==nil {_affc .Kern =_egec .Kern ;};if _affc .Position ==nil {_affc .Position =_egec .Position ;};if _affc .Sz ==nil {_affc .Sz =_egec .Sz ;};if _affc .SzCs ==nil {_affc .SzCs =_egec .SzCs ;};if _affc .Highlight ==nil {_affc .Highlight =_egec .Highlight ;};if _affc .U ==nil {_affc .U =_egec .U ;};if _affc .Effect ==nil {_affc .Effect =_egec .Effect ;};if _affc .Bdr ==nil {_affc .Bdr =_egec .Bdr ;};if _affc .Shd ==nil {_affc .Shd =_egec .Shd ;};if _affc .FitText ==nil {_affc .FitText =_egec .FitText ;};if _affc .VertAlign ==nil {_affc .VertAlign =_egec .VertAlign ;};if _affc .Rtl ==nil {_affc .Rtl =_egec .Rtl ;};if _affc .Cs ==nil {_affc .Cs =_egec .Cs ;};if _affc .Em ==nil {_affc .Em =_egec .Em ;};if _affc .Lang ==nil {_affc .Lang =_egec .Lang ;};if _affc .EastAsianLayout ==nil {_affc .EastAsianLayout =_egec .EastAsianLayout ;};if _affc .SpecVanish ==nil {_affc .SpecVanish =_egec .SpecVanish ;};if _affc .OMath ==nil {_affc .OMath =_egec .OMath ;};if _affc .RPrChange ==nil {_affc .RPrChange =_egec .RPrChange ;};return _affc ;};func (_fagce *convertContext )addEndnotes (){for _ccce ,_cdb :=range _fagce ._cbega {if _ccce ==0{_fagce .addSeparator ();};_fagce ._dfaa =&prefix {_faec :_cdb ._beg };for _eada ,_gdec :=range _cdb ._fbd {if _ccce !=0||_eada !=0{_fagce ._cebe =true ;};_fagce .addAbsoluteCBCs (_gdec .EG_ContentBlockContent );};};_fagce ._cebe =false ;};func (_acb *convertContext )alignSymbolsVertically (){for _ ,_ggef :=range _acb ._dggc {for _ ,_dgg :=range _ggef ._fbb {for _ ,_bcc :=range _dgg ._ff {_cdag :=0.0;for _ ,_cad :=range _bcc ._geea {for _ ,_cebf :=range _cad ._bd {for _ ,_gca :=range _cebf ._fba {if _gca ._dbf > _cdag {_cdag =_gca ._dbf ;};};};};for _ ,_agb :=range _bcc ._geea {for _ ,_feb :=range _agb ._bd {for _ ,_acge :=range _feb ._fba {if _acge ._afc < _cdag {_acge ._eeg =_cdag -_acge ._afc ;};};};};};};};};func _gaae (_eedg *_ag .CT_Border )(_g .CellBorderStyle ,*_g .Color ,float64 ){if _eedg ==nil {return _g .CellBorderStyleNone ,nil ,0;};var _gccf _g .CellBorderStyle ;switch _eedg .ValAttr {case _ag .ST_BorderSingle :_gccf =_g .CellBorderStyleSingle ;case _ag .ST_BorderDouble :_gccf =_g .CellBorderStyleDouble ;default:_gccf =_g .CellBorderStyleNone ;};var _gbee _g .Color ;if _eafba :=_eedg .ColorAttr ;_eafba !=nil {if _ebbc :=_eafba .ST_HexColorRGB ;_ebbc !=nil {_gbee =_g .ColorRGBFromHex ("\u0023"+*_ebbc );};};_gbdea :=0.0;if _ceba :=_eedg .SzAttr ;_ceba !=nil {_gbdea =float64 (*_ceba )/8;};return _gccf ,&_gbee ,_gbdea ;};func (_fecd *convertContext )determineParagraphBounds (){_fecd ._abaa ._aa =_fecd ._ddcb ._dc .Left +_fecd ._abaa ._ded .Left ;_fecd ._abaa ._baa =_fecd ._abaa ._aa +_fecd ._abaa ._ac ;_fecd ._abaa ._ee =_fecd ._ddcb ._dc .Right -_fecd ._abaa ._ded .Right ;};type word struct{_fba []*symbol ;_dg float64 ;_eg float64 ;_dedg bool ;};func _cbcd (_cgbf *_ag .CT_TblPr ,_cbdb *_ag .CT_TblPrEx ,_ebacg *_ag .CT_TcPr ,_fece ,_agcg ,_baef ,_bbd int )*_ag .CT_TcPr {if _ebacg ==nil {_ebacg =_ag .NewCT_TcPr ();};if _ebacg ==nil {_ebacg =_ag .NewCT_TcPr ();};if _cbdb ==nil {_cbdb =_ag .NewCT_TblPrEx ();};if _cgbf ==nil {_cgbf =_ag .NewCT_TblPr ();};if _ebacg .TcBorders ==nil {_ebacg .TcBorders =_ag .NewCT_TcBorders ();};if _cbdb .TblBorders ==nil {_cbdb .TblBorders =_ag .NewCT_TblBorders ();};if _cgbf .TblBorders ==nil {_cgbf .TblBorders =_ag .NewCT_TblBorders ();};if _ebacg .TcBorders .Top ==nil {if _cbdb .TblBorders .Top ==nil {_ebacg .TcBorders .Top =_fdbc (_cgbf .TblBorders .Top ,_cgbf .TblBorders .InsideH ,_fece ==0);}else {_ebacg .TcBorders .Top =_fdbc (_cbdb .TblBorders .Top ,_cbdb .TblBorders .InsideH ,_fece ==0);};};if _ebacg .TcBorders .Bottom ==nil {if _cbdb .TblBorders .Bottom ==nil {_ebacg .TcBorders .Bottom =_fdbc (_cgbf .TblBorders .Bottom ,_cgbf .TblBorders .InsideH ,_fece ==_baef -1);}else {_ebacg .TcBorders .Bottom =_fdbc (_cbdb .TblBorders .Bottom ,_cbdb .TblBorders .InsideH ,_fece ==_baef -1);};};if _ebacg .TcBorders .Left ==nil {if _cbdb .TblBorders .Left ==nil {_ebacg .TcBorders .Left =_fdbc (_cgbf .TblBorders .Left ,_cgbf .TblBorders .InsideV ,_agcg ==0);}else {_ebacg .TcBorders .Left =_fdbc (_cbdb .TblBorders .Left ,_cbdb .TblBorders .InsideV ,_agcg ==0);};};if _ebacg .TcBorders .Right ==nil {if _cbdb .TblBorders .Right ==nil {_ebacg .TcBorders .Right =_fdbc (_cgbf .TblBorders .Right ,_cgbf .TblBorders .InsideV ,_agcg ==_bbd -1);}else {_ebacg .TcBorders .Right =_fdbc (_cbdb .TblBorders .Right ,_cbdb .TblBorders .InsideV ,_agcg ==_bbd -1);};};if _ebacg .Shd ==nil {if _cbde :=_cgbf .Shd ;_cbde !=nil {_ebacg .Shd =_cbde ;};}else {if _cgbf .Shd !=nil &&_ebacg .Shd .FillAttr ==nil {_ebacg .Shd .FillAttr =_cgbf .Shd .FillAttr ;};};if _ebacg .TcMar ==nil {if _ffec :=_cgbf .TblCellMar ;_ffec !=nil {_ebacg .TcMar =_ag .NewCT_TcMar ();_ebacg .TcMar .Left =_ffec .Left ;};}else {if _cgbf .TblCellMar !=nil &&_ebacg .TcMar .Left ==nil {_ebacg .TcMar .Left =_cgbf .TblCellMar .Left ;};};return _ebacg ;};
// Options contains the options for convert process -
// e.g ProcessFields is when document contains fields
// and the value need to be processed also.
type Options struct{
// ProcessFields process the document fields if set to true, default is false.
ProcessFields bool ;};func _efaf (_egda ,_fdaa *_ag .CT_PPrGeneral )*_ag .CT_PPrGeneral {if _egda ==nil {return _egda ;};if _fdaa ==nil {return _egda ;};if _egda .PStyle ==nil {_egda .PStyle =_fdaa .PStyle ;};if _egda .KeepNext ==nil {_egda .KeepNext =_fdaa .KeepNext ;};if _egda .KeepLines ==nil {_egda .KeepLines =_fdaa .KeepLines ;};if _egda .PageBreakBefore ==nil {_egda .PageBreakBefore =_fdaa .PageBreakBefore ;};if _egda .FramePr ==nil {_egda .FramePr =_fdaa .FramePr ;};if _egda .WidowControl ==nil {_egda .WidowControl =_fdaa .WidowControl ;};if _egda .NumPr ==nil {_egda .NumPr =_fdaa .NumPr ;};if _egda .SuppressLineNumbers ==nil {_egda .SuppressLineNumbers =_fdaa .SuppressLineNumbers ;};if _egda .PBdr ==nil {_egda .PBdr =_fdaa .PBdr ;};if _egda .Shd ==nil {_egda .Shd =_fdaa .Shd ;};if _egda .Tabs ==nil {_egda .Tabs =_fdaa .Tabs ;};if _egda .SuppressAutoHyphens ==nil {_egda .SuppressAutoHyphens =_fdaa .SuppressAutoHyphens ;};if _egda .Kinsoku ==nil {_egda .Kinsoku =_fdaa .Kinsoku ;};if _egda .WordWrap ==nil {_egda .WordWrap =_fdaa .WordWrap ;};if _egda .OverflowPunct ==nil {_egda .OverflowPunct =_fdaa .OverflowPunct ;};if _egda .TopLinePunct ==nil {_egda .TopLinePunct =_fdaa .TopLinePunct ;};if _egda .AutoSpaceDE ==nil {_egda .AutoSpaceDE =_fdaa .AutoSpaceDE ;};if _egda .AutoSpaceDN ==nil {_egda .AutoSpaceDN =_fdaa .AutoSpaceDN ;};if _egda .Bidi ==nil {_egda .Bidi =_fdaa .Bidi ;};if _egda .AdjustRightInd ==nil {_egda .AdjustRightInd =_fdaa .AdjustRightInd ;};if _egda .SnapToGrid ==nil {_egda .SnapToGrid =_fdaa .SnapToGrid ;};if _egda .Spacing ==nil {_egda .Spacing =_fdaa .Spacing ;};if _egda .Ind ==nil {_egda .Ind =_fdaa .Ind ;};if _egda .ContextualSpacing ==nil {_egda .ContextualSpacing =_fdaa .ContextualSpacing ;};if _egda .MirrorIndents ==nil {_egda .MirrorIndents =_fdaa .MirrorIndents ;};if _egda .SuppressOverlap ==nil {_egda .SuppressOverlap =_fdaa .SuppressOverlap ;};if _egda .Jc ==nil {_egda .Jc =_fdaa .Jc ;};if _egda .TextDirection ==nil {_egda .TextDirection =_fdaa .TextDirection ;};if _egda .TextAlignment ==nil {_egda .TextAlignment =_fdaa .TextAlignment ;};if _egda .TextboxTightWrap ==nil {_egda .TextboxTightWrap =_fdaa .TextboxTightWrap ;};if _egda .OutlineLvl ==nil {_egda .OutlineLvl =_fdaa .OutlineLvl ;};if _egda .DivId ==nil {_egda .DivId =_fdaa .DivId ;};if _egda .CnfStyle ==nil {_egda .CnfStyle =_fdaa .CnfStyle ;};if _egda .PPrChange ==nil {_egda .PPrChange =_fdaa .PPrChange ;};return _egda ;};func _cbga (_ega int ,_egag bool )string {_fbgaa :=_cc .NewBuffer ([]byte {});for _ ,_dfba :=range _bffd {for {if _ega < _dfba ._dccd {break ;};_fbgaa .WriteString (_dfba ._aggg );_ega -=_dfba ._dccd ;};};_cbgf :=_fbgaa .String ();if _egag {_cbgf =_fb .ToUpper (_cbgf );};return _cbgf ;};func (_egd *convertContext )assignPropsToAbsoluteParagraph (_egdf *_ag .CT_PPr ,_egdg *paragraph )(float64 ,float64 ){_egdf =_ccgb (_egdf ,_egd ._ceg ,_egd ._ebgc );_babc :=12.4;if _egdf ==nil {return 0,0;};if _eacdf :=_egdf .RPr ;_eacdf !=nil {_eedf :=_fcdd (_eacdf .Sz ,_eacdf .SzCs );if _babc <=_eedf {_babc =_eedf ;};};if _egdf .Jc !=nil {switch _egdf .Jc .ValAttr {case _ag .ST_JcRight :_egdg ._adb =_g .TextAlignmentRight ;case _ag .ST_JcCenter :_egdg ._adb =_g .TextAlignmentCenter ;case _ag .ST_JcBoth :_egdg ._adb =_g .TextAlignmentJustify ;default:_egdg ._adb =_g .TextAlignmentLeft ;};};var _fee ,_dcgc ,_bfed ,_daac ,_cae float64 ;if _cggbe :=_egdf .Spacing ;_cggbe !=nil {if _gcee :=_cggbe .BeforeAttr ;_gcee !=nil {if _gcee .ST_UnsignedDecimalNumber !=nil {_fee =_e .PointsFromTwips (int64 (*_gcee .ST_UnsignedDecimalNumber ));};};if _dbc :=_cggbe .AfterAttr ;_dbc !=nil {if _dbc .ST_UnsignedDecimalNumber !=nil {_dcgc =_e .PointsFromTwips (int64 (*_dbc .ST_UnsignedDecimalNumber ));};};if _bbga :=_cggbe .LineAttr ;_bbga !=nil {if _bbga .Int64 !=nil &&*_bbga .Int64 !=0{_babc =float64 (*_bbga .Int64 )/20;};};};_egdg ._bbf =_babc ;if _bbff :=_egdf .Ind ;_bbff !=nil {if _gdgb :=_bbff .FirstLineAttr ;_gdgb !=nil {if _gdgb .ST_UnsignedDecimalNumber !=nil {_cae =_e .PointsFromTwips (int64 (*_gdgb .ST_UnsignedDecimalNumber ));};};if _ccc :=_bbff .HangingAttr ;_ccc !=nil {if _ccc .ST_UnsignedDecimalNumber !=nil {_cae -=_e .PointsFromTwips (int64 (*_ccc .ST_UnsignedDecimalNumber ));};};if _fcce :=_bbff .LeftAttr ;_fcce !=nil {if _fcce .Int64 !=nil {_bfed =_e .PointsFromTwips (*_fcce .Int64 );};};if _febb :=_bbff .RightAttr ;_febb !=nil {if _febb .Int64 !=nil {_daac =_e .PointsFromTwips (*_febb .Int64 );};};};if _egdf .PBdr !=nil {_addb :=_egd ._ddcb ._dc .Right -_egd ._ddcb ._dc .Left ;_bbcg :=_egd ._ddcb ._dc .Bottom -_egd ._ddcb ._dc .Top ;if _dca :=_egdf .PBdr .Top ;_dca !=nil {_bdf :=0.0;if _bfba :=_dca .SzAttr ;_bfba !=nil {_bdf =float64 (*_bfba )*_addb /4;};_faag :=0.0;if _abdd :=_dca .SpaceAttr ;_abdd !=nil {_faag =float64 (*_abdd )*_fef .Pixel72 ;};var _abg _g .Color ;if _dgc :=_dca .ColorAttr ;_dgc !=nil {if _cbab :=_dgc .ST_HexColorAuto ;_cbab ==_ag .ST_HexColorAutoAuto {_abg =_g .ColorBlack ;};if _cfec :=_dgc .ST_HexColorRGB ;_cfec !=nil {_abg =_g .ColorRGBFromHex ("\u0023"+*_cfec );};};_dbgf :=&borderLine {_fec :_bdf ,_def :_e .BorderPositionTop ,_bg :1.0,_bec :_abg ,_gbe :_faag };_egdg ._fge =append (_egdg ._fge ,_dbgf );};if _gecc :=_egdf .PBdr .Left ;_gecc !=nil {_faef :=0.0;if _ecbcf :=_gecc .SzAttr ;_ecbcf !=nil {_faef =float64 (*_ecbcf )*_bbcg /4;};_dcef :=0.0;if _bebcad :=_gecc .SpaceAttr ;_bebcad !=nil {_dcef =float64 (*_bebcad )*_fef .Pixel72 ;};var _caab _g .Color ;if _ced :=_gecc .ColorAttr ;_ced !=nil {if _aede :=_ced .ST_HexColorAuto ;_aede ==_ag .ST_HexColorAutoAuto {_caab =_g .ColorBlack ;};if _bdea :=_ced .ST_HexColorRGB ;_bdea !=nil {_caab =_g .ColorRGBFromHex ("\u0023"+*_bdea );};};_ace :=&borderLine {_def :_e .BorderPositionLeft ,_fec :1.0,_bg :_faef ,_bec :_caab ,_gbe :_dcef };_egdg ._fge =append (_egdg ._fge ,_ace );};if _gbgc :=_egdf .PBdr .Right ;_gbgc !=nil {_dfa :=0.0;if _febd :=_gbgc .SzAttr ;_febd !=nil {_dfa =float64 (*_febd )*_bbcg /4;};_dda :=0.0;if _cdc :=_gbgc .SpaceAttr ;_cdc !=nil {_dda =float64 (*_cdc )*_fef .Pixel72 ;};var _feea _g .Color ;if _begdc :=_gbgc .ColorAttr ;_begdc !=nil {if _gcff :=_begdc .ST_HexColorAuto ;_gcff ==_ag .ST_HexColorAutoAuto {_feea =_g .ColorBlack ;};if _cdd :=_begdc .ST_HexColorRGB ;_cdd !=nil {_feea =_g .ColorRGBFromHex ("\u0023"+*_cdd );};};_bafg :=&borderLine {_def :_e .BorderPositionRight ,_fec :1.0,_bg :_dfa ,_bec :_feea ,_gbe :_dda };_egdg ._fge =append (_egdg ._fge ,_bafg );};if _gaca :=_egdf .PBdr .Bottom ;_gaca !=nil {_dcbe :=0.0;if _adfa :=_gaca .SzAttr ;_adfa !=nil {_dcbe =float64 (*_adfa )*_addb /4;};_aefb :=0.0;if _gefc :=_gaca .SpaceAttr ;_gefc !=nil {_aefb =float64 (*_gefc )*_fef .Pixel72 ;};var _ead _g .Color ;if _ecfc :=_gaca .ColorAttr ;_ecfc !=nil {if _bece :=_ecfc .ST_HexColorAuto ;_bece ==_ag .ST_HexColorAutoAuto {_ead =_g .ColorBlack ;};if _gfg :=_ecfc .ST_HexColorRGB ;_gfg !=nil {_ead =_g .ColorRGBFromHex ("\u0023"+*_gfg );};};_ddaa :=&borderLine {_def :_e .BorderPositionBottom ,_fec :_dcbe ,_bg :1.0,_bec :_ead ,_gbe :_aefb };_egdg ._fge =append (_egdg ._fge ,_ddaa );};};_cgcd :=_egd ._ddcb ._fbb ;if len (_cgcd )> 0{_fee -=_cgcd [len (_cgcd )-1]._ded .Bottom ;if _fee < 0{_fee =0;};};_egdg ._ded =&_e .Rectangle {Top :_fee ,Bottom :_dcgc ,Left :_bfed ,Right :_daac };_egdg ._ac =_cae ;return _fee ,_bfed ;};var _cbace =_fgca (2.5);func (_bab *convertContext )addAnchorBlocks (_gfb []*_ag .EG_PContent ){for _ ,_fgg :=range _gfb {for _ ,_ebag :=range _fgg .EG_ContentRunContent {if _beba :=_ebag .R ;_beba !=nil {for _ ,_fgec :=range _beba .EG_RunInnerContent {if _eacd :=_fgec .Drawing ;_eacd !=nil {for _ ,_dcfd :=range _eacd .Anchor {var _adf ,_bdb ,_dbff ,_bbb float64 ;_cbf ,_bga :=_dcfd .PositionH ,_dcfd .PositionV ;if _dfce :=_cbf .Choice ;_dfce !=nil {if _dfce .PosOffset !=nil {_adf =_fef .FromEMU (int64 (*_dfce .PosOffset ));};};if _fgbc :=_bga .Choice ;_fgbc !=nil {if _fgbc .PosOffset !=nil {_bdb =_fef .FromEMU (int64 (*_fgbc .PosOffset ));};};if _ddf :=_dcfd .Extent ;_ddf !=nil {_bbb =_fef .FromEMU (_ddf .CxAttr );_dbff =_fef .FromEMU (_ddf .CyAttr );};_dedd :=_bab ._abaa ._ga +_bdb ;_eaa :=_dedd +_dbff ;_deg :=_bab ._abaa ._aa +_adf ;_bccd :=_deg +_bbb ;_adba :=_bdb +_dbff ;if _adba > _bab ._abaa ._gee {_bab ._abaa ._gee =_adba ;};if _dcfd .Choice !=nil &&_dcfd .Choice .WrapNone ==nil {_bab ._abaa ._fg =append (_bab ._abaa ._fg ,&zoneToSkip {_af :&_e .Rectangle {Top :_dedd ,Bottom :_eaa ,Left :_deg ,Right :_bccd },_cac :_dcfd .Choice });};if _agg :=_dcfd .Graphic ;_agg !=nil {if _bgbg :=_agg .GraphicData ;_bgbg !=nil {for _ ,_acf :=range _bgbg .Any {if _dag ,_cca :=_acf .(*_df .Pic );_cca {_cbfc ,_bef :=_bab .makePdfImageFromGraphics (_dag );if _bef !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0069\u006da\u0067\u0065\u003a\u0020\u0025\u0073",_bef );};if _cbfc !=nil {_cbfc .Scale (_bbb /_cbfc .Width (),_dbff /_cbfc .Height ());_ebac :=&image {_cd :_cbfc ,_aga :_deg ,_cff :_dedd };if _dcfd .BehindDocAttr {_bab ._abaa ._fea =append (_bab ._abaa ._fea ,_ebac );}else {_bab ._abaa ._fc =append (_bab ._abaa ._fc ,_ebac );};};}else if _eed ,_fbc :=_acf .(*_fd .Chart );_fbc {_fdbe ,_aefa :=_bab .makePdfBlockFromChart (_eed ,_bbb ,_dbff );if _aefa !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_aefa );};if _fdbe !=nil {_ebe :=&block {_ede :_fdbe ,_aae :_deg ,_cfg :_dedd };if _dcfd .BehindDocAttr {_bab ._abaa ._acg =append (_bab ._abaa ._acg ,_ebe );}else {_bab ._abaa ._ec =append (_bab ._abaa ._ec ,_ebe );};};};};};};};};};};};};};type note struct{_beg string ;_fbd []*_ag .EG_BlockLevelElts ;_de *_g .Block ;};func (_dgf *convertContext )drawPage (_fbf *page ){if _fbf ._eb {_cda :=_fbf ._dc .Top +_cf *_be ;_afg :=_fbf ._dc .Left ;_dee :=_fbf ._dc .Right ;_e .DrawLine (_dgf ._faad ,_afg ,_cda ,_dee ,_cda ,_ba ,_g .ColorBlack );};for _ ,_aef :=range _fbf ._cgg {_gge (_dgf ._faad ,_aef );};for _ ,_aaa :=range _fbf ._gea {_edg (_dgf ._faad ,_aaa );};for _ ,_bad :=range _fbf ._fbb {if _bad ._cgc {_aaf :=_bad ._ga +_cf *_be ;_aag :=_fbf ._dc .Left ;_egc :=_aag +_fgca (50);_e .DrawLine (_dgf ._faad ,_aag ,_aaf ,_egc ,_aaf ,_ba ,_g .ColorBlack );}else {for _ ,_dfb :=range _bad ._ff {for _ ,_agab :=range _dfb ._geea {for _ ,_cbe :=range _agab ._bd {for _ ,_cgge :=range _cbe ._fba {if _cgge ._bda !=nil {_cgge ._bda .SetPos (_cbe ._dg +_cgge ._dec ,_bad ._ga +_dfb ._fbga );_dgf ._faad .Draw (_cgge ._bda );}else if _cgge ._gbga !=nil {_cgge ._gbga ._aae =_cbe ._dg +_cgge ._dec ;_cgge ._gbga ._cfg =_bad ._ga +_dfb ._fbga ;_edg (_dgf ._faad ,_cgge ._gbga );}else {_gc :=_dgf ._faad .NewStyledParagraph ();if _cgge ._cge {_cgge ._eeg =0;}else if _cgge ._geeg {_cgge ._eeg =1.2*_dfb ._gf -_cgge ._dbf ;};_ged :=_cbe ._dg +_cgge ._dec ;_cga :=_bad ._ga +_dfb ._fbga +_cgge ._eeg ;_gc .SetPos (_ged ,_cga );var _geegc *_g .TextChunk ;if _cgge ._cfe !=""{_geegc =_gc .AddExternalLink (_cgge ._ce ,_cgge ._cfe );}else {_geegc =_gc .Append (_cgge ._ce );};if _cgge ._agdg !=nil {_geegc .Style =*_cgge ._agdg ;};_dgf ._faad .Draw (_gc );if _cgge ._ed !=nil {_cba :=_cga +_cgge ._afc +2.0;_e .DrawLine (_dgf ._faad ,_ged ,_cba ,_ged +_cgge ._cgca ,_cba ,1,*_cgge ._ed );};};};};};};if _bad ._bag !=nil {_edgf :=_g .NewBlock (_bad ._bag ._ffd ,_bad ._ded .Top +_bad ._agd +_bad ._ded .Bottom );_edgf .SetPos (_bad ._baa ,_bad ._ga +_bad ._ded .Top );_edgf .Draw (_bad ._bag ._gg );_dgf ._faad .Draw (_edgf );};if _bad ._fge !=nil {_bgd :=(_fbf ._dc .Left /_e .DefaultFontSize -1);_eac :=1.5;for _ ,_bf :=range _bad ._fge {switch _bf ._def {case _e .BorderPositionTop :_bbfc :=_bad ._ga +_bf ._gbe ;_e .DrawLine (_dgf ._faad ,_bad ._aa -_bgd ,_bbfc ,_bad ._aa +_bf ._fec +_bgd ,_bbfc ,_bf ._bg ,_bf ._bec );case _e .BorderPositionLeft :_ecb :=_bad ._ga +_bad ._agd -_bad ._ded .Top -_bad ._ded .Bottom -_bf ._gbe -_eac ;_eegd :=_ecb +_bad ._agd +_bad ._ded .Top +_bad ._ded .Bottom ;_bbg :=_bad ._aa -_bgd ;_e .DrawLine (_dgf ._faad ,_bbg ,_ecb ,_bbg ,_eegd ,_bf ._fec ,_bf ._bec );case _e .BorderPositionBottom :_baf :=_bad ._ga +_bf ._gbe +_bad ._ded .Top +_bad ._agd +_bad ._ded .Bottom ;_e .DrawLine (_dgf ._faad ,_bad ._aa -_bgd ,_baf ,_bad ._aa +_bf ._fec +_bgd ,_baf ,_bf ._bg ,_bf ._bec );case _e .BorderPositionRight :_afgd :=_bad ._ga +_bad ._agd -_bad ._ded .Top -_bad ._ded .Bottom -_bf ._gbe -_eac ;_bce :=_afgd +_bad ._agd +_bad ._ded .Top +_bad ._ded .Bottom ;_ecd :=_bad ._ee +_bgd ;_e .DrawLine (_dgf ._faad ,_ecd ,_afgd ,_ecd ,_bce ,_bf ._fec ,_bf ._bec );};};};};};for _ ,_bcd :=range _fbf ._fbg {_gge (_dgf ._faad ,_bcd );};for _ ,_add :=range _fbf ._gbg {_edg (_dgf ._faad ,_add );};if len (_fbf ._cgd )> 0{_bbgb :=_fbf ._dc .Bottom +_cf *_be ;_fa :=_fbf ._dc .Left ;_bcdf :=_fa +_fgca (50);_e .DrawLine (_dgf ._faad ,_fa ,_bbgb ,_bcdf ,_bbgb ,_ba ,_g .ColorBlack );_aeb :=_fbf ._dc .Bottom +_cf ;for _ ,_edgb :=range _fbf ._cgd {_edgb ._de .SetPos (_fbf ._dc .Left ,_aeb );_dgf ._faad .Draw (_edgb ._de );_aeb +=_edgb ._de .Height ();};};};func _fefc (_dgfg *_ag .CT_TblWidth ,_aecf ,_afba float64 )float64 {if _dgfg !=nil {if _bfgd :=_dgfg .WAttr ;_bfgd !=nil {if _dggdf :=_bfgd .ST_DecimalNumberOrPercent ;_dggdf !=nil {if _gcae :=_dggdf .ST_UnqualifiedPercentage ;_gcae !=nil {switch _dgfg .TypeAttr {case _ag .ST_TblWidthDxa :return float64 (*_gcae )/56.7;case _ag .ST_TblWidthPct :return float64 (*_gcae )/100*_aecf ;default:return _afba ;};};};};};return _afba ;};
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles. For composite fonts use RegisterCompositeFontsFromDirectory.
func RegisterFontsFromDirectory (dirName string )error {return _e .RegisterFontsFromDirectory (dirName )};func (_cbc *convertContext )addTextSymbol (_bed *symbol ){_fga :=_g .New ();_ggaf :=_fga .NewStyledParagraph ();_ggaf .SetMargins (0,0,0,0);_fadb :=_ggaf .Append (_bed ._ce );_fgcf :=0.0;if _bed ._agdg !=nil {_fadb .Style =*_bed ._agdg ;if _bed ._agdg .CharSpacing !=0{_fgcf =_bed ._agdg .CharSpacing ;};};if _bed ._gbga ==nil &&_bed ._bda ==nil {_bed ._dbf =_ggaf .Height ()*1.2;_bed ._afc =_ggaf .Height ();};if _bed ._dbf < _cbc ._abaa ._bbf {_bed ._dbf =_cbc ._abaa ._bbf ;};if _bed ._cgca ==0{_bed ._cgca =_ggaf .Width ()+_fgcf ;};if len (_cbc ._abad ._fba )> 0{_fae :=_cbc ._abad ._fba [len (_cbc ._abad ._fba )-1]._ce ;if _e .IsNoSpaceLanguage (_fae )||(_fae =="\u0020")!=(_bed ._ce =="\u0020"){_cbc .addCurrentWordToParagraph ();_cbc .newWord ();};};_cbc ._abad ._fba =append (_cbc ._abad ._fba ,_bed );_bed ._dec =_cbc ._abad ._eg ;_cbc ._abad ._eg +=_bed ._cgca ;if _bed ._ce !="\u0020"{_cbc ._abad ._dedg =false ;};if _bed ._ce =="\u000d"{_cbc .adjustHeights (_bed ._dbf *1.13);_cbc .adjustHeights (_bed ._dbf );};};func (_dbdd *convertContext )addCellToTable (_cbbb *_g .Table ,_ccdf *_ag .CT_Tc ,_ecbe *_ag .CT_TblPr ,_edf *_ag .CT_TblPrEx ,_gce ,_gbde ,_cbeb ,_cfa int ,_gac []*_ag .CT_TblStylePr ,_bgbe *_ag .CT_PPrGeneral ,_edb *_ag .CT_RPr ){var _fbbd *_g .TableCell ;_bedc :=1;_bedcc :=_ccdf .TcPr ;for _ ,_gcb :=range _gac {if _gce ==0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeFirstRow {_bedcc =_eecb (_bedcc ,_gcb .TcPr );_edb =_gacc (_edb ,_gcb .RPr );break ;};if _gbde ==0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeFirstCol {_bedcc =_eecb (_bedcc ,_gcb .TcPr );_edb =_gacc (_edb ,_gcb .RPr );};if _gce ==_cbeb -1&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeLastRow {_bedcc =_eecb (_bedcc ,_gcb .TcPr );_edb =_gacc (_edb ,_gcb .RPr );};if _gbde ==_cfa -1&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeLastCol {_bedcc =_eecb (_bedcc ,_gcb .TcPr );_edb =_gacc (_edb ,_gcb .RPr );};if _gce %2!=0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeBand1Horz {_bedcc =_eecb (_bedcc ,_gcb .TcPr );if _gbde ==0{_edb =_gacc (_edb ,_gcb .RPr );}else {_edb =_acceb (_edb ,_gcb .RPr );};};if _gbde %2!=0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeBand1Vert {_bedcc =_eecb (_bedcc ,_gcb .TcPr );if _gce ==0{_edb =_gacc (_edb ,_gcb .RPr );}else {_edb =_acceb (_edb ,_gcb .RPr );};};if _gce %2==0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeBand2Horz {_bedcc =_eecb (_bedcc ,_gcb .TcPr );if _gbde ==_cfa -1{_edb =_gacc (_edb ,_gcb .RPr );}else {_edb =_acceb (_edb ,_gcb .RPr );};};if _gbde %2==0&&_gcb .TypeAttr ==_ag .ST_TblStyleOverrideTypeBand2Vert {_bedcc =_eecb (_bedcc ,_gcb .TcPr );if _gce ==_cbeb -1{_edb =_gacc (_edb ,_gcb .RPr );}else {_edb =_acceb (_edb ,_gcb .RPr );};};};_bfgc :=_cbcd (_ecbe ,_edf ,_bedcc ,_gce ,_gbde ,_cbeb ,_cfa );_fdd :=_ge ;_cfd :=_g .CellVerticalAlignmentTop ;if _bfgc !=nil {if _bfgc .GridSpan !=nil {_bedc =int (_bfgc .GridSpan .ValAttr );};_fbbd =_cbbb .MultiColCell (_bedc );if _gaf :=_bfgc .TcBorders ;_gaf !=nil {if _baee :=_gaf .Left ;_baee !=nil {_aagg ,_bbe ,_cbgc :=_gaae (_baee );_fbbd .SetBorder (_g .CellBorderSideLeft ,_aagg ,_cbgc );if _bbe !=nil &&*_bbe !=nil {_fbbd .SetSideBorderColor (_g .CellBorderSideLeft ,*_bbe );};};if _fcgd :=_gaf .Top ;_fcgd !=nil {_dgad ,_cecc ,_bbba :=_gaae (_fcgd );_fbbd .SetBorder (_g .CellBorderSideTop ,_dgad ,_bbba );if _cecc !=nil &&*_cecc !=nil {_fbbd .SetSideBorderColor (_g .CellBorderSideTop ,*_cecc );};};if _abbb :=_gaf .Right ;_abbb !=nil {_cbce ,_dgag ,_gdeb :=_gaae (_abbb );_fbbd .SetBorder (_g .CellBorderSideRight ,_cbce ,_gdeb );if _dgag !=nil &&*_dgag !=nil {_fbbd .SetSideBorderColor (_g .CellBorderSideRight ,*_dgag );};};if _bfbb :=_gaf .Bottom ;_bfbb !=nil {_bdbdb ,_fbec ,_fagb :=_gaae (_bfbb );_fbbd .SetBorder (_g .CellBorderSideBottom ,_bdbdb ,_fagb );if _fbec !=nil &&*_fbec !=nil {_fbbd .SetSideBorderColor (_g .CellBorderSideBottom ,*_fbec );};};}else {_fbbd .SetBorder (_g .CellBorderSideAll ,_g .CellBorderStyleSingle ,_fgca (0.125));_fbbd .SetBorderColor (_g .ColorBlack );};if _bffb :=_bfgc .Shd ;_bffb !=nil {if _eeee :=_bffb .FillAttr ;_eeee !=nil {if _ddgc :=_eeee .ST_HexColorRGB ;_ddgc !=nil {_dfdf :=_g .ColorRGBFromHex ("\u0023"+*_ddgc );_fbbd .SetBackgroundColor (_dfdf );};};};if _dagb :=_bfgc .TcMar ;_dagb !=nil {_fdd =_fefc (_dagb .Left ,0,_ge );};if _bfaf :=_bfgc .VAlign ;_bfaf !=nil {switch _bfaf .ValAttr {case _ag .ST_VerticalJcCenter :_cfd =_g .CellVerticalAlignmentMiddle ;case _ag .ST_VerticalJcBottom :_cfd =_g .CellVerticalAlignmentBottom ;};};};if _fbbd ==nil {_fbbd =_cbbb .NewCell ();};_fbbd .SetVerticalAlignment (_cfd );_fbbd .SetIndent (_fdd );_bca :=_ccdf .EG_BlockLevelElts ;_gagf :=_dbdd ._faad .NewStyledParagraph ();_caad :=false ;for _ ,_eedd :=range _bca {for _ ,_gfbb :=range _eedd .EG_ContentBlockContent {for _ ,_fdafd :=range _gfbb .P {if _caad {_gbfa :=_gagf .Append ("\u000a");_fgbf :=_dbdd ._faad .NewTextStyle ();_fgbf .FontSize =0;_gbfa .Style =_fgbf ;};_dbddb ,_ :=_dbdd .combinePPrWithStyles (_fdafd .PPr );if _bgbe !=nil ||_edb !=nil {_dbddb =_ccgb (_fdafd .PPr ,_bgbe ,_edb );};for _ ,_bcdc :=range _fdafd .EG_PContent {for _ ,_bbgd :=range _bcdc .EG_ContentRunContent {if _dgff :=_bbgd .R ;_dgff !=nil {_affg :=_gebb (_dbdd ._gbdb ,_dgff .RPr ,_dbddb );for _ ,_gfcg :=range _dgff .EG_RunInnerContent {var _gfa *_g .TextChunk ;if _gfcg .T !=nil &&_gfcg .T .Content !=""{_caad =true ;_gfa =_gagf .Append (_gfcg .T .Content );_gfa .Style ,_ ,_ ,_ =_dbdd .makeRunStyle (_affg ,false ,false ,false ,false ,false );};};};};};if !_caad {_aebg :=_gebb (_dbdd ._gbdb ,_ag .NewCT_RPr (),_dbddb );_ebfg :=_gagf .Append ("\u0020");_ebfg .Style ,_ ,_ ,_ =_dbdd .makeRunStyle (_aebg ,false ,false ,false ,false ,false );};if _gagf !=nil {_dbdd .assignPropsToRelativeParagraph (_dbddb ,_gagf );};};};};_fbbd .SetContent (_gagf );};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func (_ddc *convertContext )addParagraphWithTable (_eea _g .Table ,_cgfbd ,_gccb float64 ){_ddc .newParagraph ();_ddc ._abaa ._ded =&_e .Rectangle {Top :_fgca (2),Bottom :_fgca (2),Left :0,Right :0};_ddc ._abaa ._bag =&tableWrapper {_gg :&_eea ,_ffd :_cgfbd };_ddc ._abaa ._ac =_gccb ;_ddc ._abaa ._agd =_eea .Height ();_ddc .determineParagraphBounds ();_ddc .addCurrentParagraphToCurrentPage ();};func _cdaf (_bagdd *_ag .EG_RunInnerContent )bool {if _aecfb :=_bagdd .Br ;_aecfb !=nil {return _aecfb .TypeAttr ==_ag .ST_BrTypePage ;};return false ;};func _bedaf (_dafg *_cb .Document ,_dcae string )[]*_ag .CT_TblStylePr {_cgba :=_dafg .GetStyleByID (_dcae );var _ddee []*_ag .CT_TblStylePr ;if _aeade :=_cgba .X ();_aeade !=nil {if _bacab :=_aeade .BasedOn ;_bacab !=nil {_bedaf (_dafg ,_bacab .ValAttr );};if len (_aeade .TblStylePr )> 0{_ddee =_aeade .TblStylePr ;};};return _ddee ;};type line struct{_fbga float64 ;_fbe float64 ;_dd float64 ;_ea float64 ;_gf float64 ;_geea []*span ;};func _edg (_ffdg *_g .Creator ,_gdf *block ){_gdf ._ede .SetPos (_gdf ._aae ,_gdf ._cfg );_ffdg .Draw (_gdf ._ede );if _gdf ._ebf {_e .DrawRectangle (_ffdg ,&_e .Rectangle {Top :_gdf ._cfg ,Bottom :_gdf ._cfg +_gdf ._ede .Height (),Left :_gdf ._aae ,Right :_gdf ._aae +_gdf ._ede .Width ()},_gdf ._bc ,_gdf ._gfc );};};func _bagfe (_eefc *_ag .CT_OnOff )bool {if _eefc !=nil {if _gecd :=_eefc .ValAttr ;_gecd !=nil {if _eafa :=_gecd .Bool ;_eafa !=nil {return *_eafa ;};return _gecd .ST_OnOff1 ==_gb .ST_OnOff1On ;};return true ;};return false ;};var _ge =_fgca (1.9);func _fcdd (_cfdg ,_feba *_ag .CT_HpsMeasure )float64 {var _fbag float64 ;_ggcc :=_e .DefaultFontSize ;if _cfdg !=nil {_fbag =float64 (*_cfdg .ValAttr .ST_UnsignedDecimalNumber );}else if _feba !=nil {_fbag =float64 (*_feba .ValAttr .ST_UnsignedDecimalNumber );};if _fbag !=0{_ggcc =_fbag /24*_e .DefaultFontSize ;};return _ggcc ;};func _fgca (_bddb float64 )float64 {return _bddb *_fef .Millimeter };type image struct{_cd *_g .Image ;_aga float64 ;_cff float64 ;};func _eda (_afeb *_cb .Document ,_eabb *_ag .CT_TblPr )(*_ag .CT_TblPr ,*_ag .CT_PPrGeneral ,*_ag .CT_RPr ){var _egabc *_ag .CT_PPrGeneral ;var _ffge *_ag .CT_RPr ;if _eabb ==nil {_eabb =_ag .NewCT_TblPr ();};if _eabb .TblStyle !=nil {_eabb ,_egabc ,_ffge =_bcea (_afeb ,_eabb .TblStyle .ValAttr ,_eabb ,_egabc ,_ffge );};return _eabb ,_egabc ,_ffge ;};
// ConvertToPdf converts document to PDF file. This package is beta, breaking changes can take place.
func ConvertToPdf (d *_cb .Document )*_g .Creator {return ConvertToPdfWithOptions (d ,nil )};func (_gdg *convertContext )alignParagraph (){_ggb :=_gdg ._abaa ;if _ggb ._adb ==_g .TextAlignmentLeft {return ;};_cbegf :=len (_ggb ._ff )-1;for _edge ,_cgce :=range _ggb ._ff {_faf :=len (_cgce ._geea )-1;for _gbeb ,_egg :=range _cgce ._geea {_fcf :=true ;_eee :=len (_egg ._bd );_fda :=0.0;for _ege :=len (_egg ._bd )-1;_ege >=0;_ege --{_dcg :=_egg ._bd [_ege ];if _fcf &&_dcg ._dedg {_eee =_ege ;}else {_fcf =false ;for _ ,_gdcc :=range _dcg ._fba {_fda +=_gdcc ._cgca ;};};};_egg ._bd =_egg ._bd [:_eee ];_dfc :=_egg ._eec -_egg ._ecc -_fda ;switch _ggb ._adb {case _g .TextAlignmentRight :_egg .moveRight (_dfc );case _g .TextAlignmentCenter :_egg .moveRight (_dfc /2);case _g .TextAlignmentJustify :if _edge !=_cbegf ||_gbeb !=_faf {_bbcd :=[]*word {};for _ ,_fag :=range _egg ._bd {if _fag ._dedg {_bbcd =append (_bbcd ,_fag );};};_ggde :=_dfc /float64 (len (_bbcd ));for _ ,_ebd :=range _bbcd {_ebd ._eg +=_ggde ;};var _cbg *word ;for _ ,_gbc :=range _egg ._bd {if _cbg !=nil {_gbc ._dg =_cbg ._dg +_cbg ._eg ;};_cbg =_gbc ;};};};};};};