2023-04-15 17:27:31 +00:00

24 lines
36 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 (_df "github.com/unidoc/unioffice/common/logger";_ce "github.com/unidoc/unioffice/common/tempstorage";_c "github.com/unidoc/unioffice/internal/convertutils";_gf "github.com/unidoc/unioffice/measurement";_a "github.com/unidoc/unioffice/schema/soo/dml";_da "github.com/unidoc/unioffice/schema/soo/dml/chart";_gg "github.com/unidoc/unioffice/schema/soo/ofc/sharedTypes";_eb "github.com/unidoc/unioffice/schema/soo/sml";_ef "github.com/unidoc/unioffice/spreadsheet";_db "github.com/unidoc/unioffice/spreadsheet/reference";_f "github.com/unidoc/unipdf/v3/creator";_de "github.com/unidoc/unipdf/v3/model";_g "image";_e "strconv";);var _ab =_baba (0.0625);func (_bggb *convertContext )makeMergedCells (){_ceb :=[]*mergedCell {};for _ ,_gdf :=range _bggb ._cfea .MergedCells (){_dbd ,_dec ,_bcga :=_db .ParseRangeReference (_gdf .Reference ());if _bcga !=nil {_df .Log .Debug ("\u0065\u0072r\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u006d\u0065\u0072\u0067\u0065\u0064\u0020\u0063\u0065\u006c\u006c: \u0025\u0073",_bcga );continue ;};_afa :=mergedCell {_egdg :_dbd .RowIdx ,_cga :_dbd .ColumnIdx ,_fbf :_dec .RowIdx ,_aad :_dec .ColumnIdx };for _efe :=_afa ._cga -1;_efe < _afa ._aad ;_efe ++{_afa ._addf +=_bggb ._ccgb [_efe ]._gbd ;};for _ggcg :=_afa ._egdg -1;_ggcg < _afa ._fbf ;_ggcg ++{_afa ._befb +=_bggb ._dagd [_ggcg ]._facf ;};_ceb =append (_ceb ,&_afa );};_bggb ._bcca =_ceb ;};const _daa =2;type rowspan struct{_dbe float64 ;_bafc int ;_fdde int ;};type symbol struct{_fgdf string ;_eed float64 ;_bgcc float64 ;_baad float64 ;_decd *_f .TextStyle ;_bga string ;};func (_cefa *convertContext )getStyleFromRPrElt (_cdgff *_eb .CT_RPrElt )*style {if _cdgff ==nil {return nil ;};_dfba :=&style {};_dfba ._baa =&_cdgff .RFont .ValAttr ;if _gdd :=_cdgff .B ;_gdd !=nil {_daga :=_gdd .ValAttr ==nil ||*_gdd .ValAttr ;_dfba ._bdd =&_daga ;};if _cfcf :=_cdgff .I ;_cfcf !=nil {_abb :=_cfcf .ValAttr ==nil ||*_cfcf .ValAttr ;_dfba ._egd =&_abb ;};if _cfd :=_cdgff .U ;_cfd !=nil {_bffd :=_cfd .ValAttr ==_eb .ST_UnderlineValuesSingle ||_cfd .ValAttr ==_eb .ST_UnderlineValuesUnset ;_dfba ._gbca =&_bffd ;};if _gaff :=_cdgff .VertAlign ;_gaff !=nil {_ebb :=_gaff .ValAttr ==_gg .ST_VerticalAlignRunSuperscript ;_dfba ._deg =&_ebb ;_cebe :=_gaff .ValAttr ==_gg .ST_VerticalAlignRunSubscript ;_dfba ._dgfc =&_cebe ;};if _abe :=_cdgff .Sz ;_abe !=nil {_gcee :=_abe .ValAttr /12*_c .DefaultFontSize ;_dfba ._ebaf =&_gcee ;};if _ffeb :=_cdgff .Color ;_ffeb !=nil {_dfba ._bda =_cefa .getColorStringFromSmlColor (_ffeb );};return _dfba ;};type mergedCell struct{_egdg uint32 ;_cga uint32 ;_fbf uint32 ;_aad uint32 ;_addf float64 ;_befb float64 ;};
// ConvertToPdf converts a sheet to a PDF file. This package is beta, breaking changes can take place.
func ConvertToPdf (s *_ef .Sheet )*_f .Creator {_ec :=s .X ();if _ec ==nil {return nil ;};var _eff _f .PageSize ;var _dg bool ;if _eg :=_ec .PageSetup ;_eg !=nil {if _fc :=_eg .PaperSizeAttr ;_fc !=nil {_eff =_daacb [*_fc ];};_dg =_eg .OrientationAttr ==_eb .ST_OrientationLandscape ;};if (_eff ==_f .PageSize {}){_eff =_daacb [1];};if _dg {_eff [0],_eff [1]=_eff [1],_eff [0];};_ac :=_f .New ();_ac .SetPageSize (_eff );var _bg ,_cfc ,_bc ,_fe float64 ;if _af :=_ec .PageMargins ;_af !=nil {_bc =_af .LeftAttr ;_fe =_af .RightAttr ;_bg =_af .TopAttr ;_cfc =_af .BottomAttr ;};if _bc < 0.25{_bc =0.25;};if _fe < 0.25{_fe =0.25;};_bg *=_gf .Inch ;_cfc *=_gf .Inch ;_bc *=_gf .Inch ;_fe *=_gf .Inch ;_ac .SetPageMargins (_bc ,_fe ,_bg ,_cfc );_ggc :=s .Workbook ();var _fba *_a .Theme ;if len (_ggc .Themes ())> 0{_fba =_ggc .Themes ()[0];};_acc :=&convertContext {_bab :_ac ,_cfea :s ,_acf :s .Workbook (),_cbga :_fba ,_accc :&s .Workbook ().StyleSheet ,_bca :_bg ,_cdc :_bc ,_cdf :_eff [1]-_cfc -_bg ,_feeab :_eff [0]-_fe -_bc };_acc .makeAnchors ();_acc .determineMaxIndexes ();if _acc ._dcaa ==0&&_acc ._aea ==0{_ac .NewPage ();return _ac ;};_acc .makeCols ();_acc .makeRows ();_acc .makeMergedCells ();_acc .makeCells ();_acc .makePagespans ();_acc .makeRowspans ();_acc .makePages ();_acc .fillPages ();_acc .distributeAnchors ();_acc .drawSheet ();return _ac ;};func (_dcfa *convertContext )getBorder (_edca *_eb .CT_BorderPr )*border {_adda :=&border {};switch _edca .StyleAttr {case _eb .ST_BorderStyleThin :_adda ._ccae =_ab ;case _eb .ST_BorderStyleMedium :_adda ._ccae =_ab *2;case _eb .ST_BorderStyleThick :_adda ._ccae =_ab *4;};if _adda ._ccae ==0.0{return nil ;};if _abf :=_edca .Color ;_abf !=nil {_bdfe :=_dcfa .getColorStringFromSmlColor (_abf );if _bdfe !=nil {_adda ._bdae =_f .ColorRGBFromHex (*_bdfe );}else {_adda ._bdae =_f .ColorBlack ;};};return _adda ;};func (_adf *convertContext )makeCells (){_ca :=_adf ._cfea ;_dce :=_ca .Rows ();_fbd :=0;for _ ,_faf :=range _adf ._dagd {_faf ._ffb =[]*cell {};_bfa :=0.0;_ded :=_faf ._aec ;if _faf ._caea {_dea :=_dce [_fbd ];_fbd ++;_eadf :=_faf ._facf ;for _ ,_ebc :=range _dea .Cells (){_agc ,_fcg :=_db .ParseCellReference (_ebc .Reference ());if _fcg !=nil {_df .Log .Debug ("\u0043\u0061\u006e\u006eo\u0074\u0020\u0070\u0061\u0072\u0073\u0065\u0020\u0061\u0020r\u0065f\u0065\u0072\u0065\u006e\u0063\u0065\u003a \u0025\u0073",_fcg );continue ;};_ge :=_adf ._ccgb [_agc .ColumnIdx ];_fcgd :=_ge ._gbd ;_ee :=_fcgd ;_egb :=_ge ._cdge ;var _fdda ,_fbb ,_bccg ,_dedd bool ;for _ ,_fgc :=range _adf ._bcca {if _agc .RowIdx >=_fgc ._egdg &&_agc .RowIdx <=_fgc ._fbf &&_agc .ColumnIdx >=_fgc ._cga &&_agc .ColumnIdx <=_fgc ._aad {if _agc .ColumnIdx ==_fgc ._cga &&_agc .RowIdx ==_fgc ._egdg {_fcgd =_fgc ._addf ;_eadf =_fgc ._befb ;};_fdda =_agc .RowIdx !=_fgc ._egdg ;_fbb =_agc .RowIdx !=_fgc ._fbf ;_bccg =_agc .ColumnIdx !=_fgc ._cga ;_dedd =_agc .ColumnIdx !=_fgc ._aad ;};};_bec :=_adf .getStyleFromCell (_ebc ,_ded ,_egb );var _gaf ,_cd ,_ccg bool ;var _ccfa ,_ff ,_fdf ,_bd *border ;var _ddf _eb .ST_VerticalAlignment ;var _ffe _eb .ST_HorizontalAlignment ;if _bec !=nil {if !_fdda {_ccfa =_bec ._bacc ;};if !_fbb {_ff =_bec ._bfaa ;};if !_bccg {_fdf =_bec ._fbgg ;};if !_dedd {_bd =_bec ._cdfd ;};if _ff !=nil &&_ff ._ccae > _bfa {_bfa =_ff ._ccae ;};_ddf =_bec ._aaed ;_ffe =_bec ._ggad ;if _bec ._deg !=nil {_gaf =*_bec ._deg ;};if _bec ._dgfc !=nil {_cd =*_bec ._dgfc ;};_ccg =_bec ._gfe ;};_ecb ,_gde :=_adf .getContentFromCell (_ebc ,_bec ,_fcgd ,_ccg );_eeb :=&cell {_bba :_gde ,_eec :_fcgd ,_ffga :_ee ,_bbdf :_eadf ,_ade :_ecb ,_ecg :_ccfa ,_bacg :_ff ,_adgb :_fdf ,_ccgc :_bd ,_gada :_gaf ,_ffdf :_cd };_adf .alignSymbolsHorizontally (_eeb ,_ffe );_adf .alignSymbolsVertically (_eeb ,_ddf );_faf ._ffb =append (_faf ._ffb ,_eeb );};};_faf ._bdfd =_bfa ;};};
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles.
func RegisterFontsFromDirectory (dirName string )error {return _c .RegisterFontsFromDirectory (dirName )};type convertContext struct{_bab *_f .Creator ;_acf *_ef .Workbook ;_cbga *_a .Theme ;_cfea *_ef .Sheet ;_accc *_ef .StyleSheet ;_dcaa int ;_aea int ;_dfed []*pagespan ;_ecf *page ;_ccgb []*colInfo ;_dagd []*rowInfo ;_cge []*rowspan ;_bca float64 ;_cdc float64 ;_cdf float64 ;_feeab float64 ;_bcca []*mergedCell ;_fdce []*anchor ;};func (_ede *convertContext )getStyle (_feb *uint32 )*style {_bgfd :=&style {};_adcf :=false ;if _feb !=nil {_aeag :=_ede ._accc .GetCellStyle (*_feb );_gcc :=_aeag .GetFont ();for _ ,_bcdd :=range _gcc .Name {if _bcdd !=nil {_bgfd ._baa =&_bcdd .ValAttr ;_adcf =true ;break ;};};for _ ,_aca :=range _gcc .B {if _aca !=nil {_bcae :=_aca .ValAttr ==nil ||*_aca .ValAttr ;_bgfd ._bdd =&_bcae ;_adcf =true ;break ;};};for _ ,_beef :=range _gcc .I {if _beef !=nil {_eeg :=_beef .ValAttr ==nil ||*_beef .ValAttr ;_bgfd ._egd =&_eeg ;_adcf =true ;break ;};};for _ ,_gcf :=range _gcc .U {if _gcf !=nil {_dgdg :=_gcf .ValAttr ==_eb .ST_UnderlineValuesSingle ||_gcf .ValAttr ==_eb .ST_UnderlineValuesUnset ;_bgfd ._gbca =&_dgdg ;_adcf =true ;break ;};};for _ ,_gdbg :=range _gcc .Sz {if _gdbg !=nil {_efea :=_gdbg .ValAttr /12*_c .DefaultFontSize ;_bgfd ._ebaf =&_efea ;_adcf =true ;break ;};};for _ ,_ebfc :=range _gcc .VertAlign {if _ebfc !=nil {_dfbe :=_ebfc .ValAttr ==_gg .ST_VerticalAlignRunSuperscript ;_bgfd ._deg =&_dfbe ;_bdec :=_ebfc .ValAttr ==_gg .ST_VerticalAlignRunSubscript ;_bgfd ._dgfc =&_bdec ;_adcf =true ;break ;};};for _ ,_dgcd :=range _gcc .Color {if _dgcd !=nil {_bgfd ._bda =_ede .getColorStringFromSmlColor (_dgcd );_adcf =true ;break ;};};_deea :=_aeag .GetBorder ();if _deea .Top !=nil {_bgfd ._bacc =_ede .getBorder (_deea .Top );_adcf =true ;};if _deea .Bottom !=nil {_bgfd ._bfaa =_ede .getBorder (_deea .Bottom );_adcf =true ;};if _deea .Left !=nil {_bgfd ._fbgg =_ede .getBorder (_deea .Left );_adcf =true ;};if _deea .Right !=nil {_bgfd ._cdfd =_ede .getBorder (_deea .Right );_adcf =true ;};if _aeag .Wrapped (){_bgfd ._gfe =true ;_adcf =true ;};if _bgbf :=_aeag .GetVerticalAlignment ();_bgbf !=_eb .ST_VerticalAlignmentUnset {_bgfd ._aaed =_bgbf ;_adcf =true ;};if _ebe :=_aeag .GetHorizontalAlignment ();_ebe !=_eb .ST_HorizontalAlignmentUnset {_bgfd ._ggad =_ebe ;_adcf =true ;};};if _adcf {return _bgfd ;};return nil ;};func (_ae *convertContext )determineMaxIndexes (){var _dgc ,_fa int ;_dgc =int (_ae ._cfea .MaxColumnIdx ());_gag :=_ae ._cfea .Rows ();if len (_gag )> 0{_fa =int (_gag [len (_gag )-1].RowNumber ());};for _ ,_ecd :=range _ae ._fdce {if _ecd ._dggg >=_fa {_fa =_ecd ._dggg +1;};if _ecd ._gcaf >=_dgc {_dgc =_ecd ._gcaf +1;};};_ae ._dcaa =_fa ;_ae ._aea =_dgc ;};func (_dbga *convertContext )combineCellStyleWithRPrElt (_dba *style ,_fafa *_eb .CT_RPrElt )*style {_becd :=*_dba ;_cddb :=_dbga .getStyleFromRPrElt (_fafa );if _cddb ==nil {return &_becd ;};if _cddb ._bda !=nil {_becd ._bda =_cddb ._bda ;};if _cddb ._ebaf !=nil {_becd ._ebaf =_cddb ._ebaf ;};if _cddb ._baa !=nil {_becd ._baa =_cddb ._baa ;};if _cddb ._bdd !=nil {_becd ._bdd =_cddb ._bdd ;};if _cddb ._egd !=nil {_becd ._egd =_cddb ._egd ;};if _cddb ._gbca !=nil {_becd ._gbca =_cddb ._gbca ;};if _cddb ._deg !=nil {_becd ._deg =_cddb ._deg ;};if _cddb ._dgfc !=nil {_becd ._dgfc =_cddb ._dgfc ;};return &_becd ;};func _fgcc (_faa []*symbol )float64 {_bgdf :=0.0;for _ ,_egcb :=range _faa {_bgdf +=_egcb ._baad ;};return _bgdf ;};func (_cfed *convertContext )getImage (_gdfgb _g .Image ,_fgdb ,_eadfe ,_cgc ,_cgff ,_daec ,_caae float64 ,_eaf _c .ImgPart )*_f .Image {_cgff +=_cfed ._bca ;_cgc +=_cfed ._cdc ;_cfb ,_defa :=_c .GetImage (_cfed ._bab ,_gdfgb ,_fgdb ,_eadfe ,_cgc ,_cgff ,_daec ,_caae ,_eaf );if _defa !=nil {_df .Log .Debug ("\u0043\u0061\u006eno\u0074\u0020\u0067\u0065\u0074\u0020\u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_defa );return nil ;};return _cfb ;};func (_agb *convertContext )makeTextStyleFromCellStyle (_cgba *style )*_f .TextStyle {_bgcge :=_agb ._bab .NewTextStyle ();if _cgba ==nil {_bgcge .FontSize =_c .DefaultFontSize ;_bgcge .Font =_c .AssignStdFontByName (_bgcge ,_c .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][FontStyle_Regular ]);return &_bgcge ;};if _dbef (_cgba ._gbca ){_bgcge .Underline =true ;_bgcge .UnderlineStyle =_f .TextDecorationLineStyle {Offset :0.5,Thickness :_baba (1/32)};};var _bgbg FontStyle ;if _dbef (_cgba ._bdd )&&_dbef (_cgba ._egd ){_bgbg =FontStyle_BoldItalic ;}else if _dbef (_cgba ._bdd ){_bgbg =FontStyle_Bold ;}else if _dbef (_cgba ._egd ){_bgbg =FontStyle_Italic ;}else {_bgbg =FontStyle_Regular ;};_ceag :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _cgba ._baa !=nil {_ceag =*_cgba ._baa ;};if _addd ,_gaae :=_c .StdFontsMap [_ceag ];_gaae {_bgcge .Font =_c .AssignStdFontByName (_bgcge ,_addd [_bgbg ]);}else if _gfaa :=_c .GetRegisteredFont (_ceag ,_bgbg );_gfaa !=nil {_bgcge .Font =_gfaa ;}else {_df .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",_ceag ,_bgbg );_bgcge .Font =_c .AssignStdFontByName (_bgcge ,_c .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_bgbg ]);};if _cgba ._ebaf !=nil {_bgcge .FontSize =*_cgba ._ebaf ;};if _cgba ._bda !=nil {_bgcge .Color =_f .ColorRGBFromHex (*_cgba ._bda );};if _cgba ._deg !=nil &&*_cgba ._deg {_bgcge .FontSize *=_cf ;}else if _cgba ._dgfc !=nil &&*_cgba ._dgfc {_bgcge .FontSize *=_cf ;};return &_bgcge ;};type style struct{_bda *string ;_ebaf *float64 ;_baa *string ;_bdd *bool ;_egd *bool ;_gbca *bool ;_deg *bool ;_dgfc *bool ;_bacc *border ;_bfaa *border ;_fbgg *border ;_cdfd *border ;_gfe bool ;_aaed _eb .ST_VerticalAlignment ;_ggad _eb .ST_HorizontalAlignment ;};func (_bcd *convertContext )drawSheet (){for _fafc ,_gab :=range _bcd ._dfed {_ggcb :=len (_gab ._aee );if _fafc ==len (_bcd ._dfed )-1{for _cdg :=len (_gab ._aee )-1;_cdg >=0;_cdg --{if !_gab ._aee [_cdg ]._eaee {_ggcb =_cdg ;};};};_bcgf :=_gab ._aee [:_ggcb ];for _ ,_becb :=range _bcgf {_bcd ._bab .NewPage ();_bcd .drawPage (_becb );};};};func (_cc *convertContext )makeRows (){_abd :=[]*rowInfo {};_fbc :=_cc ._cfea .Rows ();_gbc :=0;for _ ,_efg :=range _fbc {_gbc ++;_cff :=int (_efg .RowNumber ());if _cff > _gbc {for _fdd :=_gbc ;_fdd < _cff ;_fdd ++{_abd =append (_abd ,&rowInfo {_facf :16/_ga });};_gbc =_cff ;};var _ccf float64 ;if _efg .X ().HtAttr ==nil {_ccf =16;}else {_ccf =*_efg .X ().HtAttr ;};_abd =append (_abd ,&rowInfo {_facf :_ccf /_ga ,_caea :true ,_aec :_cc .getStyle (_efg .X ().SAttr )});};for _afb :=len (_abd );_afb < _cc ._dcaa ;_afb ++{_abd =append (_abd ,&rowInfo {_facf :16/_ga });};_cc ._dagd =_abd ;};func (_fbdc *convertContext )makePagespans (){_fbdc ._dfed =[]*pagespan {};_cgb :=0.0;_bad :=0;for _bfab ,_geg :=range _fbdc ._ccgb {_gdb :=_geg ._gbd ;if _cgb +_gdb <=_fbdc ._feeab {_geg ._caf =_cgb ;_cgb +=_gdb ;}else {_geg ._caf =0;_fbdc ._dfed =append (_fbdc ._dfed ,&pagespan {_bdb :_cgb ,_ffc :_bad ,_dde :_bfab });_cgb =_gdb ;_bad =_bfab ;};};_fbdc ._dfed =append (_fbdc ._dfed ,&pagespan {_bdb :_cgb ,_ffc :_bad ,_dde :len (_fbdc ._ccgb )});};func (_ecdb *convertContext )distributeAnchors (){for _ ,_fdc :=range _ecdb ._fdce {_bgd ,_ffg :=_fdc ._defb ,_fdc ._dagf ;_bggg ,_abg :=_fdc ._dgcec ,_fdc ._adad ;_fee ,_bgcg :=_fdc ._dggg ,_fdc ._edc ;_fag ,_bccc :=_fdc ._gcaf ,_fdc ._gdae ;var _fbaa ,_gac ,_gga ,_bbd *page ;for _ ,_ceg :=range _ecdb ._dfed {for _ ,_gff :=range _ceg ._aee {if _bgd >=_gff ._dcff ._bafc &&_bgd < _gff ._dcff ._fdde {if _bggg >=_gff ._cea ._ffc &&_bggg < _gff ._cea ._dde {_gff ._eaee =true ;_fbaa =_gff ;};if _fag >=_gff ._cea ._ffc &&_fag < _gff ._cea ._dde {_gff ._eaee =true ;_gac =_gff ;};};if _fee >=_gff ._dcff ._bafc &&_fee < _gff ._dcff ._fdde {if _bggg >=_gff ._cea ._ffc &&_bggg < _gff ._cea ._dde {_gff ._eaee =true ;_bbd =_gff ;};if _fag >=_gff ._cea ._ffc &&_fag < _gff ._cea ._dde {_gff ._eaee =true ;_gga =_gff ;};};};};_dfb :=_fbaa !=_gac ;_fcb :=_fbaa !=_bbd ;if _dfb &&_fcb {_feea :=_ecdb ._ccgb [_bggg ]._caf +_gf .FromEMU (_abg );_badg :=_fbaa ._cea ._bdb ;_cae :=_ecdb ._ccgb [_fag ]._caf +_gf .FromEMU (_bccc );_gdc :=_ecdb ._dagd [_bgd ]._egf +_gf .FromEMU (_ffg );_abge :=float64 (_fbaa ._dcff ._dbe );_gbcf :=_ecdb ._dagd [_fee ]._egf +_gf .FromEMU (_bgcg );_add :=_cae +_badg -_feea ;_ece :=_gbcf +_abge -_gdc ;_fbg :=_ecdb .imageFromAnchor (_fdc ,_add ,_ece );_fbaa ._cfg =append (_fbaa ._cfg ,_ecdb .getImage (_fbg ,_ece ,_add ,_feea ,_gdc ,_badg -_feea ,_abge -_gdc ,_c .ImgPart_lt ));_gac ._cfg =append (_gac ._cfg ,_ecdb .getImage (_fbg ,_ece ,_add ,0,_gdc ,_badg -_feea ,_abge -_gdc ,_c .ImgPart_rt ));_bbd ._cfg =append (_bbd ._cfg ,_ecdb .getImage (_fbg ,_ece ,_add ,_feea ,0,_badg -_feea ,_abge -_gdc ,_c .ImgPart_lb ));_gga ._cfg =append (_gga ._cfg ,_ecdb .getImage (_fbg ,_ece ,_add ,0,0,_badg -_feea ,_abge -_gdc ,_c .ImgPart_rb ));}else if _dfb {_dbdf :=_ecdb ._dagd [_bgd ]._egf +_gf .FromEMU (_ffg );_fgb :=_ecdb ._dagd [_fee ]._egf +_gf .FromEMU (_bgcg );_aac :=_ecdb ._ccgb [_bggg ]._caf +_gf .FromEMU (_abg );_ddc :=_fbaa ._cea ._bdb ;_def :=_ecdb ._ccgb [_fag ]._caf +_gf .FromEMU (_bccc );_ebf :=_def +_ddc -_aac ;_dac :=_fgb -_dbdf ;_dae :=_ecdb .imageFromAnchor (_fdc ,_ebf ,_dac );_fbaa ._cfg =append (_fbaa ._cfg ,_ecdb .getImage (_dae ,_dac ,_ebf ,_aac ,_dbdf ,_ddc -_aac ,0,_c .ImgPart_l ));_gac ._cfg =append (_gac ._cfg ,_ecdb .getImage (_dae ,_dac ,_ebf ,0,_dbdf ,_ddc -_aac ,0,_c .ImgPart_r ));}else if _fcb {_eef :=_ecdb ._ccgb [_bggg ]._caf +_gf .FromEMU (_abg );_beb :=_ecdb ._ccgb [_fag ]._caf +_gf .FromEMU (_bccc );_dfaf :=_ecdb ._dagd [_bgd ]._egf +_gf .FromEMU (_ffg );_gfb :=float64 (_fbaa ._dcff ._dbe );_dda :=_ecdb ._dagd [_fee ]._egf +_gf .FromEMU (_bgcg );_fbe :=_beb -_eef ;_adb :=_dda +_gfb -_dfaf ;_eba :=_ecdb .imageFromAnchor (_fdc ,_fbe ,_adb );_fbaa ._cfg =append (_fbaa ._cfg ,_ecdb .getImage (_eba ,_adb ,_fbe ,_eef ,_dfaf ,0,_gfb -_dfaf ,_c .ImgPart_t ));_bbd ._cfg =append (_bbd ._cfg ,_ecdb .getImage (_eba ,_adb ,_fbe ,_eef ,0,0,_gfb -_dfaf ,_c .ImgPart_b ));}else {_dgdb :=_ecdb ._ccgb [_bggg ]._caf +_gf .FromEMU (_abg );_fdg :=_ecdb ._ccgb [_fag ]._caf +_gf .FromEMU (_bccc );_adab :=_ecdb ._dagd [_bgd ]._egf +_gf .FromEMU (_ffg );_bffb :=_ecdb ._dagd [_fee ]._egf +_gf .FromEMU (_bgcg );_gce :=_fdg -_dgdb ;_cgg :=_bffb -_adab ;_aba :=_ecdb .imageFromAnchor (_fdc ,_gce ,_cgg );_fbaa ._cfg =append (_fbaa ._cfg ,_ecdb .getImage (_aba ,_cgg ,_gce ,_dgdb ,_adab ,0,0,_c .ImgPart_whole ));};};};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);const _b =3;func (_bfca *convertContext )makePages (){for _ ,_dbg :=range _bfca ._dfed {for _ ,_gdee :=range _bfca ._cge {_dbg ._aee =append (_dbg ._aee ,&page {_cca :[]*pageRow {},_cea :_dbg ,_dcff :_gdee });};};};
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
func RegisterFont (name string ,style FontStyle ,font *_de .PdfFont ){_c .RegisterFont (name ,style ,font );};func (_gafg *convertContext )imageFromAnchor (_fgcd *anchor ,_cab ,_bfbd float64 )_g .Image {if _fgcd ._fbda !=nil {return _fgcd ._fbda ;};if _fgcd ._bbf !=nil {_baf ,_decc :=_c .MakeImageFromChartSpace (_fgcd ._bbf ,_cab ,_bfbd ,_gafg ._cbga );if _decc !=nil {_df .Log .Debug ("C\u0061\u006e\u006e\u006f\u0074\u0020\u006d\u0061\u006b\u0065\u0020\u0061\u006e\u0020\u0069\u006d\u0061\u0067e\u0020\u0066\u0072\u006f\u006d\u0020\u0063\u0068\u0061\u0072tS\u0070\u0061\u0063e\u003a \u0025\u0073",_decc );return nil ;};return _baf ;};return nil ;};func (_bac *convertContext )makeRowspans (){var _afde float64 ;_ffd :=0;for _gef ,_bff :=range _bac ._dagd {_bdg :=_bff ._facf +_bff ._bdfd ;if _afde +_bdg <=_bac ._cdf {_bff ._egf =_afde ;_afde +=_bdg ;}else {_bac ._cge =append (_bac ._cge ,&rowspan {_dbe :_afde ,_bafc :_ffd ,_fdde :_gef });_ffd =_gef ;_bff ._egf =0;_afde =_bdg ;};};_bac ._cge =append (_bac ._cge ,&rowspan {_dbe :_afde ,_bafc :_ffd ,_fdde :len (_bac ._dagd )});};
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
type FontStyle =_c .FontStyle ;const _fb =1.5;type anchor struct{_fbda _g .Image ;_bbf *_da .ChartSpace ;_defb int ;_dagf int64 ;_dgcec int ;_adad int64 ;_dggg int ;_edc int64 ;_gcaf int ;_gdae int64 ;};type cell struct{_bba _eb .ST_CellType ;_agcc int ;_cba float64 ;_ade []*line ;_eec float64 ;_ffga float64 ;_bbdf float64 ;_gfbf float64 ;_ebfg float64 ;_dccad *_f .TextStyle ;_ecg *border ;_bacg *border ;_adgb *border ;_ccgc *border ;_gada bool ;_ffdf bool ;};type pagespan struct{_bdb float64 ;_aee []*page ;_ffc int ;_dde int ;};var _daacb =map[uint32 ]_f .PageSize {1:_f .PageSize {8.5*_gf .Inch ,11*_gf .Inch },2:_f .PageSize {8.5*_gf .Inch ,11*_gf .Inch },3:_f .PageSize {11*_gf .Inch ,17*_gf .Inch },4:_f .PageSize {17*_gf .Inch ,11*_gf .Inch },5:_f .PageSize {8.5*_gf .Inch ,14*_gf .Inch },6:_f .PageSize {5.5*_gf .Inch ,8.5*_gf .Inch },7:_f .PageSize {7.5*_gf .Inch ,10*_gf .Inch },8:_f .PageSize {_baba (297),_baba (420)},9:_f .PageSize {_baba (210),_baba (297)},10:_f .PageSize {_baba (210),_baba (297)},11:_f .PageSize {_baba (148),_baba (210)},70:_f .PageSize {_baba (105),_baba (148)},12:_f .PageSize {_baba (250),_baba (354)},13:_f .PageSize {_baba (182),_baba (257)},14:_f .PageSize {8.5*_gf .Inch ,13*_gf .Inch },20:_f .PageSize {4.125*_gf .Inch ,9.5*_gf .Inch },27:_f .PageSize {_baba (110),_baba (220)},28:_f .PageSize {_baba (162),_baba (229)},34:_f .PageSize {_baba (250),_baba (176)},29:_f .PageSize {_baba (324),_baba (458)},30:_f .PageSize {_baba (229),_baba (324)},31:_f .PageSize {_baba (114),_baba (162)},37:_f .PageSize {3.88*_gf .Inch ,7.5*_gf .Inch },43:_f .PageSize {_baba (100),_baba (148)},69:_f .PageSize {_baba (200),_baba (148)}};func (_eag *convertContext )getSymbolsFromString (_dffg string ,_gecd *style )[]*symbol {_fgd :=[]*symbol {};_dbdfg :=_eag .makeTextStyleFromCellStyle (_gecd );for _ ,_afag :=range _dffg {_fgd =append (_fgd ,&symbol {_fgdf :string (_afag ),_decd :_dbdfg });};return _fgd ;};func _dbef (_fddae *bool )bool {return _fddae !=nil &&*_fddae };type rowInfo struct{_egf float64 ;_caea bool ;_facf float64 ;_aec *style ;_ffb []*cell ;_bdfd float64 ;};func (_acef *convertContext )makeCols (){_adg :=_acef ._cfea ;_dcf :=_adg .X ();_bcg :=[]*colInfo {};_dfa :=[]colWidthRange {};if _bb :=_dcf .Cols ;len (_bb )> 0{for _ ,_dgb :=range _bb [0].Col {_dd :=65.0;if _dge :=_dgb .WidthAttr ;_dge !=nil {if *_dge > 0.83{*_dge -=0.83;};if *_dge <=1{_dd =*_dge *11;}else {_dd =5+*_dge *6;};};_bcc :=int (_dgb .MinAttr -1);_afd :=int (_dgb .MaxAttr -1);_dfa =append (_dfa ,colWidthRange {_cad :_bcc ,_afbf :_afd ,_cgce :_dd ,_agd :_acef .getStyle (_dgb .StyleAttr )});};};_dag :=0;for _fg :=0;_fg <=_acef ._aea ;_fg ++{var _cbc float64 ;var _adc *style ;if _dag >=len (_dfa ){_cbc =65;}else {_gbge :=_dfa [_dag ];if _fg >=_gbge ._cad &&_fg <=_gbge ._afbf {_cbc =_gbge ._cgce ;_adc =_gbge ._agd ;if _fg ==_gbge ._afbf {_dag ++;};}else {_cbc =65;};};_bcg =append (_bcg ,&colInfo {_gbd :_cbc ,_cdge :_adc });};_acef ._ccgb =_bcg ;};func (_dgcc *convertContext )fillPages (){for _gegf ,_dfga :=range _dgcc ._cge {_ccgf :=_dgcc ._dagd [_dfga ._bafc :_dfga ._fdde ];for _bcb ,_fafg :=range _ccgf {_adcc :=0;_aeb :=0.0;_bde :=[]*cell {};if _fafg ._caea {for _ ,_ggf :=range _fafg ._ffb {_cdd :=_dgcc ._dfed [_adcc ];_dgcc ._ecf =_cdd ._aee [_gegf ];_dgcc ._ecf ._eaee =true ;_dggd :=_ggf ._ffga ;if _aeb +_dggd > _cdd ._bdb {_dgcc .addRowToPage (_bde ,_bcb );_bde =[]*cell {_ggf };_aeb =_dggd ;_adcc ++;}else {_ggf ._cba =_aeb ;_bde =append (_bde ,_ggf );_aeb +=_dggd ;};};if len (_bde )> 0{_ada :=_dgcc ._dfed [_adcc ];_dgcc ._ecf =_ada ._aee [_gegf ];_dgcc ._ecf ._eaee =true ;_dgcc .addRowToPage (_bde ,_bcb );};};};};};func (_cdfc *convertContext )getColorStringFromSmlColor (_defbc *_eb .CT_Color )*string {var _fagg string ;if _defbc .RgbAttr !=nil {_fagg =*_defbc .RgbAttr ;}else if _defbc .IndexedAttr !=nil &&*_defbc .IndexedAttr < 64{_fagg =_ebcd [*_defbc .IndexedAttr ];}else if _defbc .ThemeAttr !=nil {_caeb :=*_defbc .ThemeAttr ;_fagg =_cdfc .getColorFromTheme (_caeb );};if _fagg ==""{return nil ;};if len (_fagg )> 6{_fagg =_fagg [(len (_fagg )-6):];};if _defbc .TintAttr !=nil {_dabe :=*_defbc .TintAttr ;_fagg =_c .AdjustColorByTint (_fagg ,_dabe );};_fagg ="\u0023"+_fagg ;return &_fagg ;};func (_fdee *convertContext )getSymbolsFromR (_egc []*_eb .CT_RElt ,_cbdd *style )[]*symbol {_fac :=[]*symbol {};for _ ,_gae :=range _egc {_eadfg :=_fdee .combineCellStyleWithRPrElt (_cbdd ,_gae .RPr );for _ ,_agcf :=range _gae .T {_fac =append (_fac ,&symbol {_fgdf :string (_agcf ),_decd :_fdee .makeTextStyleFromCellStyle (_eadfg )});};};return _fac ;};type colInfo struct{_caf float64 ;_gbd float64 ;_cdge *style ;};func (_dbb *convertContext )getContentFromCell (_cebc _ef .Cell ,_aeg *style ,_gacd float64 ,_ecce bool )([]*line ,_eb .ST_CellType ){_bfbf :=_cebc .X ();var _ggb []*symbol ;switch _bfbf .TAttr {case _eb .ST_CellTypeS :_cbf :=_bfbf .V ;if _cbf !=nil {_eebe ,_gcaa :=_e .Atoi (*_cbf );if _gcaa ==nil {_ebdd :=_dbb ._acf .SharedStrings .X ().Si [_eebe ];if _ebdd .T !=nil {_ggb =_dbb .getSymbolsFromString (*_ebdd .T ,_aeg );}else if _ebdd .R !=nil {_ggb =_dbb .getSymbolsFromR (_ebdd .R ,_aeg );};};};case _eb .ST_CellTypeB :_fcc :=_bfbf .V ;if _fcc !=nil {if *_fcc =="\u0030"{_ggb =_dbb .getSymbolsFromString ("\u0046\u0041\u004cS\u0045",_aeg );}else {_ggb =_dbb .getSymbolsFromString ("\u0054\u0052\u0055\u0045",_aeg );};};default:_ggb =_dbb .getSymbolsFromString (_cebc .GetFormattedValue (),_aeg );};_gcef :=0.0;_cffb :=0.0;var _bdf []*line ;var _caa bool ;if _aeg !=nil {if _aeg ._deg !=nil {if *_aeg ._deg {_caa =true ;};};if _aeg ._dgfc !=nil {if *_aeg ._dgfc {_caa =true ;};};};if _ecce {_bdf =[]*line {};_fgce :=_gacd -2*_b ;_dgf :=[]*symbol {};for _ ,_gabe :=range _ggb {_bcbg (_gabe );if _gcef +_gabe ._baad >=_fgce {_cag :=_dbgd (_dgf );if _caa {_cag /=_cf ;};_bdf =append (_bdf ,&line {_bee :_cffb ,_ccbg :_dgf ,_bgef :_cag });_dgf =[]*symbol {_gabe };_gcef =_gabe ._baad ;_cffb +=_cag ;}else {_gabe ._eed =_gcef ;_gcef +=_gabe ._baad ;_dgf =append (_dgf ,_gabe );};};_bfe :=_dbgd (_dgf );if _caa {_bfe /=_cf ;};if len (_dgf )> 0{_bdf =append (_bdf ,&line {_bee :_cffb ,_ccbg :_dgf ,_bgef :_bfe });};}else {for _ ,_befc :=range _ggb {_bcbg (_befc );_befc ._eed =_gcef ;_gcef +=_befc ._baad ;};if len (_ggb )> 0{_bdf =[]*line {&line {_ccbg :_ggb ,_bgef :_dbgd (_ggb )}};};};_gee :=_bfbf .TAttr ;if _gee ==_eb .ST_CellTypeUnset {_gee =_eb .ST_CellTypeN ;};return _bdf ,_gee ;};func (_ggca *convertContext )addRowToPage (_eae []*cell ,_gcg int ){_gaa :=0.0;_afe :=_ggca ._feeab ;for _ ,_cfe :=range _eae {if len (_cfe ._ade )!=0{_cfe ._gfbf =_gaa ;_gaa =_cfe ._cba +_cfe ._eec ;};};for _dcga :=len (_eae )-1;_dcga >=0;_dcga --{_cfcg :=_eae [_dcga ];if len (_cfcg ._ade )!=0{_cfcg ._ebfg =_afe ;_afe =_cfcg ._cba ;};};_ggca ._ecf ._cca =append (_ggca ._ecf ._cca ,&pageRow {_daac :_gcg ,_cec :_eae });};type colWidthRange struct{_cad int ;_afbf int ;_cgce float64 ;_agd *style ;};func (_dacf *convertContext )alignSymbolsHorizontally (_ced *cell ,_eea _eb .ST_HorizontalAlignment ){if _eea ==_eb .ST_HorizontalAlignmentUnset {switch _ced ._bba {case _eb .ST_CellTypeB :_eea =_eb .ST_HorizontalAlignmentCenter ;case _eb .ST_CellTypeN :_eea =_eb .ST_HorizontalAlignmentRight ;default:_eea =_eb .ST_HorizontalAlignmentLeft ;};};var _gdcg float64 ;for _ ,_dfbf :=range _ced ._ade {switch _eea {case _eb .ST_HorizontalAlignmentLeft :_gdcg =_b ;case _eb .ST_HorizontalAlignmentRight :_dgce :=_fgcc (_dfbf ._ccbg );_gdcg =_ced ._eec -_b -_dgce ;case _eb .ST_HorizontalAlignmentCenter :_aae :=_fgcc (_dfbf ._ccbg );_gdcg =(_ced ._eec -_aae )/2;};for _ ,_bbe :=range _dfbf ._ccbg {_bbe ._eed +=_gdcg ;};};};func _dbgd (_fdef []*symbol )float64 {_fcd :=0.0;for _ ,_ebcc :=range _fdef {if _ebcc ._bgcc > _fcd {_fcd =_ebcc ._bgcc ;};};return _fcd ;};func (_febd *convertContext )getColorFromTheme (_gged uint32 )string {_efec :=_febd ._acf .Themes ();if len (_efec )!=0{_ebac :=_efec [0];if _fgg :=_ebac .ThemeElements ;_fgg !=nil {if _gfec :=_fgg .ClrScheme ;_gfec !=nil {switch _gged {case 0:return _c .GetColorStringFromDmlColor (_gfec .Lt1 );case 1:return _c .GetColorStringFromDmlColor (_gfec .Dk1 );case 2:return _c .GetColorStringFromDmlColor (_gfec .Lt2 );case 3:return _c .GetColorStringFromDmlColor (_gfec .Dk2 );case 4:return _c .GetColorStringFromDmlColor (_gfec .Accent1 );case 5:return _c .GetColorStringFromDmlColor (_gfec .Accent2 );case 6:return _c .GetColorStringFromDmlColor (_gfec .Accent3 );case 7:return _c .GetColorStringFromDmlColor (_gfec .Accent4 );case 8:return _c .GetColorStringFromDmlColor (_gfec .Accent5 );case 9:return _c .GetColorStringFromDmlColor (_gfec .Accent6 );};};};};return "";};var _deb =_baba (1);func _baba (_dbba float64 )float64 {return _dbba *_gf .Millimeter };type pageRow struct{_daac int ;_cec []*cell ;};type border struct{_ccae float64 ;_bdae _f .Color ;};const _gb =0.25;const _cf =0.64;type line struct{_bee float64 ;_ccbg []*symbol ;_bgef float64 ;};func (_gec *convertContext )drawPage (_acg *page ){_deff :=_gec ._bca ;_agcd :=_gec ._cdc ;for _ ,_cef :=range _acg ._cca {_fegc :=_gec ._dagd [_cef ._daac ];for _ ,_acee :=range _cef ._cec {_gdfg :=_acee ._gfbf < _acee ._cba ;_gfc :=_acee ._ebfg > _acee ._cba +_acee ._eec ;var _bef ,_ggae bool ;for _ ,_ddfc :=range _acee ._ade {for _ ,_ccb :=range _ddfc ._ccbg {if _gdfg &&!_bef {_bef =_ccb ._eed < 0;};if _gfc &&!_ggae {_ggae =_acee ._eec < _ccb ._eed +_ccb ._baad ;};if _acee ._cba +_ccb ._eed >=_acee ._gfbf &&_acee ._cba +_ccb ._eed +_ccb ._baad <=_acee ._ebfg {_fcf :=_gec ._bab .NewStyledParagraph ();_gge :=_agcd +_acee ._cba +_ccb ._eed ;_cbd :=_deff +_fegc ._egf +_ddfc ._bee -_ccb ._bgcc -_baba (0.5);_fcf .SetPos (_gge ,_cbd );var _dcca *_f .TextChunk ;if _ccb ._bga !=""{_dcca =_fcf .AddExternalLink (_ccb ._fgdf ,_ccb ._bga );}else {_dcca =_fcf .Append (_ccb ._fgdf );};if _ccb ._decd !=nil {_dcca .Style =*_ccb ._decd ;};_gec ._bab .Draw (_fcf );};};};var _bbc ,_dfad ,_cdgc ,_fdec ,_gfa ,_efa float64 ;var _bae ,_ffdg ,_fad ,_dee _f .Color ;if _deaf :=_acee ._ecg ;_deaf !=nil {_bbc =_deaf ._ccae ;_bae =_deaf ._bdae ;};if _bgeb :=_acee ._bacg ;_bgeb !=nil {_dfad =_bgeb ._ccae ;_ffdg =_bgeb ._bdae ;};if _gad :=_acee ._adgb ;_gad !=nil {_cdgc =_gad ._ccae ;_gfa =_cdgc /2;_fad =_gad ._bdae ;};if _bffg :=_acee ._ccgc ;_bffg !=nil {_fdec =_bffg ._ccae ;_efa =_fdec /2;_dee =_bffg ._bdae ;};var _cbdb float64 ;if _cef ._daac > 1{_cbdb =_gec ._dagd [_cef ._daac -1]._bdfd ;};_cbg :=_deff +_fegc ._egf -0.5*(_cbdb -_bbc );_fea :=_deff +_fegc ._egf +_fegc ._facf +0.5*(_fegc ._bdfd +_dfad );_gage :=_agcd +_acee ._cba ;_cce :=_gage +_acee ._ffga ;_c .DrawLine (_gec ._bab ,_gage ,_cbg ,_cce ,_cbg ,_bbc ,_bae );_c .DrawLine (_gec ._bab ,_gage ,_fea ,_cce ,_fea ,_dfad ,_ffdg );if !_bef {_c .DrawLine (_gec ._bab ,_gage -_gfa ,_cbg ,_gage -_gfa ,_fea ,_cdgc ,_fad );};if !_ggae {_c .DrawLine (_gec ._bab ,_cce -_efa ,_cbg ,_cce -_efa ,_fea ,_fdec ,_dee );};};};for _ ,_effc :=range _acg ._cfg {if _effc !=nil {_gec ._bab .Draw (_effc );};};};func _bcbg (_eac *symbol ){_bbda :=_f .New ();_effb :=_bbda .NewStyledParagraph ();_effb .SetMargins (0,0,0,0);_dbgg :=_effb .Append (_eac ._fgdf );if _eac ._decd !=nil {_dbgg .Style =*_eac ._decd ;};_eac ._bgcc =_effb .Height ();if _eac ._baad ==0{_eac ._baad =_effb .Width ();};};func (_dfg *convertContext )makeAnchors (){_bf ,_bfc :=_dfg ._cfea .GetDrawing ();if _bf !=nil {for _ ,_be :=range _bf .EG_Anchor {_gd :=&anchor {};if _gda :=_be .TwoCellAnchor ;_gda !=nil {_cb ,_dc :=_gda .From ,_gda .To ;if _cb ==nil ||_dc ==nil {return ;};_gd ._defb =int (_cb .Row );_gd ._dagf =_c .FromSTCoordinate (_cb .RowOff );_gd ._dgcec =int (_cb .Col );_gd ._adad =_c .FromSTCoordinate (_cb .ColOff );_gd ._dggg =int (_dc .Row );_gd ._edc =_c .FromSTCoordinate (_dc .RowOff );_gd ._gcaf =int (_dc .Col );_gd ._gdae =_c .FromSTCoordinate (_dc .ColOff );if _bgb :=_gda .Choice ;_bgb !=nil {if _ag :=_bgb .Pic ;_ag !=nil {if _cg :=_ag .BlipFill ;_cg !=nil {if _dgg :=_cg .Blip ;_dgg !=nil {if _ea :=_dgg .EmbedAttr ;_ea !=nil {for _ ,_fbab :=range _bfc .X ().Relationship {if _fbab .IdAttr ==*_ea {for _ ,_ead :=range _dfg ._acf .Images {if _ead .Target ()==_fbab .TargetAttr {_bge ,_daaa :=_ce .Open (_ead .Path ());if _daaa !=nil {_df .Log .Debug ("\u004fp\u0065\u006e\u0020\u0069m\u0061\u0067\u0065\u0020\u0066i\u006ce\u0020e\u0072\u0072\u006f\u0072\u003a\u0020\u0025s",_daaa );continue ;};_ace ,_ ,_daaa :=_g .Decode (_bge );if _daaa !=nil {_df .Log .Debug ("\u0044\u0065\u0063\u006fde\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020%\u0073",_daaa );continue ;};_gd ._fbda =_ace ;};};};};};};};}else if _fec :=_bgb .GraphicFrame ;_fec !=nil {if _dcg :=_fec .Graphic ;_dcg !=nil {if _bgf :=_dcg .GraphicData ;_bgf !=nil {for _ ,_ecc :=range _bgf .Any {if _age ,_dff :=_ecc .(*_da .Chart );_dff {for _ ,_ebd :=range _bfc .X ().Relationship {if _ebd .IdAttr ==_age .IdAttr {_dca :=_dfg ._acf .GetChartByTargetId (_ebd .TargetAttr );if _dca !=nil {_gd ._bbf =_dca ;};};};};};};};};};};if _gd ._fbda !=nil ||_gd ._bbf !=nil {_dfg ._fdce =append (_dfg ._fdce ,_gd );};};};};func (_agce *convertContext )alignSymbolsVertically (_dfe *cell ,_fgf _eb .ST_VerticalAlignment ){var _debf float64 ;switch _fgf {case _eb .ST_VerticalAlignmentTop :_debf =_daa ;if _dfe ._gada {_debf -=_fb ;}else if _dfe ._ffdf {_debf +=4*_fb ;};for _ ,_gbb :=range _dfe ._ade {_debf +=_gbb ._bgef ;_gbb ._bee =_debf ;_debf +=_deb ;};case _eb .ST_VerticalAlignmentCenter :_bcgc :=0.0;for _ ,_fdga :=range _dfe ._ade {_bcgc +=_fdga ._bgef +_baba (1);};_debf =0.5*(_dfe ._bbdf -_bcgc );if _dfe ._gada {_debf -=2*_fb ;}else if _dfe ._ffdf {_debf +=2*_fb ;};for _ ,_cdgf :=range _dfe ._ade {_debf +=_cdgf ._bgef +0.5*_deb ;_cdgf ._bee =_debf ;_debf +=0.5*_deb ;};default:_debf =_dfe ._bbdf -_daa ;if _dfe ._gada {_debf -=4*_fb ;}else if _dfe ._ffdf {_debf +=_fb ;};for _bed :=len (_dfe ._ade )-1;_bed >=0;_bed --{_dfe ._ade [_bed ]._bee =_debf ;_debf -=_dfe ._ade [_bed ]._bgef ;_debf -=_deb ;};};};var _ga =3.025/_baba (1);func _gfee (_bbce ,_daeg *style ){if _daeg ==nil {return ;};if _bbce ==nil {_bbce =_daeg ;return ;};if _bbce ._baa ==nil {_bbce ._baa =_daeg ._baa ;};if _bbce ._bda ==nil {_bbce ._bda =_daeg ._bda ;};if _bbce ._ebaf ==nil {_bbce ._ebaf =_daeg ._ebaf ;};if _bbce ._bdd ==nil {_bbce ._bdd =_daeg ._bdd ;};if _bbce ._egd ==nil {_bbce ._egd =_daeg ._egd ;};if _bbce ._gbca ==nil {_bbce ._gbca =_daeg ._gbca ;};if _bbce ._deg ==nil {_bbce ._deg =_daeg ._deg ;};if _bbce ._dgfc ==nil {_bbce ._dgfc =_daeg ._dgfc ;};if _bbce ._bacc ==nil {_bbce ._bacc =_daeg ._bacc ;};if _bbce ._bfaa ==nil {_bbce ._bfaa =_daeg ._bfaa ;};if _bbce ._fbgg ==nil {_bbce ._fbgg =_daeg ._fbgg ;};if _bbce ._cdfd ==nil {_bbce ._cdfd =_daeg ._cdfd ;};if _bbce ._aaed ==_eb .ST_VerticalAlignmentUnset {_bbce ._aaed =_daeg ._aaed ;};if _bbce ._ggad ==_eb .ST_HorizontalAlignmentUnset {_bbce ._ggad =_daeg ._ggad ;};};type page struct{_cca []*pageRow ;_eaee bool ;_cfg []*_f .Image ;_cea *pagespan ;_dcff *rowspan ;};var _ebcd =[]string {"\u0030\u0030\u0030\u0030\u0030\u0030","\u0066\u0066\u0066\u0066\u0066\u0066","\u0066\u0066\u0030\u0030\u0030\u0030","\u0030\u0030\u0066\u0066\u0030\u0030","\u0030\u0030\u0030\u0030\u0066\u0066","\u0066\u0066\u0066\u0066\u0030\u0030","\u0066\u0066\u0030\u0030\u0066\u0066","\u0030\u0030\u0066\u0066\u0066\u0066","\u0030\u0030\u0030\u0030\u0030\u0030","\u0066\u0066\u0066\u0066\u0066\u0066","\u0066\u0066\u0030\u0030\u0030\u0030","\u0030\u0030\u0066\u0066\u0030\u0030","\u0030\u0030\u0030\u0030\u0066\u0066","\u0066\u0066\u0066\u0066\u0030\u0030","\u0066\u0066\u0030\u0030\u0066\u0066","\u0030\u0030\u0066\u0066\u0066\u0066","\u0038\u0030\u0030\u0030\u0030\u0030","\u0030\u0030\u0038\u0030\u0030\u0030","\u0030\u0030\u0030\u0030\u0038\u0030","\u0038\u0030\u0038\u0030\u0030\u0030","\u0038\u0030\u0030\u0030\u0038\u0030","\u0030\u0030\u0038\u0030\u0038\u0030","\u0063\u0030\u0063\u0030\u0063\u0030","\u0038\u0030\u0038\u0030\u0038\u0030","\u0039\u0039\u0039\u0039\u0066\u0066","\u0039\u0039\u0033\u0033\u0036\u0036","\u0066\u0066\u0066\u0066\u0063\u0063","\u0063\u0063\u0066\u0066\u0066\u0066","\u0036\u0036\u0030\u0030\u0036\u0036","\u0066\u0066\u0038\u0030\u0038\u0030","\u0030\u0030\u0036\u0036\u0063\u0063","\u0063\u0063\u0063\u0063\u0066\u0066","\u0030\u0030\u0030\u0030\u0038\u0030","\u0066\u0066\u0030\u0030\u0066\u0066","\u0066\u0066\u0066\u0066\u0030\u0030","\u0030\u0030\u0066\u0066\u0066\u0066","\u0038\u0030\u0030\u0030\u0038\u0030","\u0038\u0030\u0030\u0030\u0030\u0030","\u0030\u0030\u0038\u0030\u0038\u0030","\u0030\u0030\u0030\u0030\u0066\u0066","\u0030\u0030\u0063\u0063\u0066\u0066","\u0063\u0063\u0066\u0066\u0066\u0066","\u0063\u0063\u0066\u0066\u0063\u0063","\u0066\u0066\u0066\u0066\u0039\u0039","\u0039\u0039\u0063\u0063\u0066\u0066","\u0066\u0066\u0039\u0039\u0063\u0063","\u0063\u0063\u0039\u0039\u0066\u0066","\u0066\u0066\u0063\u0063\u0039\u0039","\u0033\u0033\u0036\u0036\u0066\u0066","\u0033\u0033\u0063\u0063\u0063\u0063","\u0039\u0039\u0063\u0063\u0030\u0030","\u0066\u0066\u0063\u0063\u0030\u0030","\u0066\u0066\u0039\u0039\u0030\u0030","\u0066\u0066\u0036\u0036\u0030\u0030","\u0036\u0036\u0036\u0036\u0039\u0039","\u0039\u0036\u0039\u0036\u0039\u0036","\u0030\u0030\u0033\u0033\u0036\u0036","\u0033\u0033\u0039\u0039\u0036\u0036","\u0030\u0030\u0033\u0033\u0030\u0030","\u0033\u0033\u0033\u0033\u0030\u0030","\u0039\u0039\u0033\u0033\u0030\u0030","\u0039\u0039\u0033\u0033\u0036\u0036","\u0033\u0033\u0033\u0033\u0039\u0039","\u0033\u0033\u0033\u0033\u0033\u0033"};func (_dacc *convertContext )getStyleFromCell (_dfac _ef .Cell ,_caeg ,_adcd *style )*style {_fdfb :=_dfac .X ();_cgec :=_dacc .getStyle (_fdfb .SAttr );_gfee (_cgec ,_caeg );_gfee (_cgec ,_adcd );return _cgec ;};