mirror of
https://github.com/unidoc/unioffice.git
synced 2025-04-25 13:48:53 +08:00
24 lines
59 KiB
Go
24 lines
59 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 (_e "bytes";_g "errors";_bfc "github.com/unidoc/unioffice/common/logger";_caa "github.com/unidoc/unioffice/common/tempstorage";_ef "github.com/unidoc/unioffice/internal/convertutils";_d "github.com/unidoc/unioffice/measurement";_cb "github.com/unidoc/unioffice/presentation";_gd "github.com/unidoc/unioffice/schema/soo/dml";_ag "github.com/unidoc/unioffice/schema/soo/dml/chart";_fd "github.com/unidoc/unioffice/schema/soo/pml";_ae "github.com/unidoc/unipdf/v3/contentstream/draw";_efg "github.com/unidoc/unipdf/v3/creator";_ab "github.com/unidoc/unipdf/v3/model";_f "github.com/unidoc/unipdf/v3/render";_ca "image";_c "image/color";_a "image/draw";_ba "strconv";_bf "strings";);func (_dbfa *convertContext )getColorFromFontReference (_bcbf *_gd .CT_FontReference )_efg .Color {var _gfeb _efg .Color ;var _eacda string ;if _eaab :=_bcbf .SrgbClr ;_eaab !=nil {_eacda =_eaab .ValAttr ;}else if _gccb :=_bcbf .SchemeClr ;_gccb !=nil {_eacda =_ef .GetColorStringFromDmlColor (_dbfa ._abed .GetColorBySchemeColor (_gccb .ValAttr ));_eacda =_ef .AdjustColor (_eacda ,_gccb .EG_ColorTransform );};if _eacda !=""{_gfeb =_efg .ColorRGBFromHex ("\u0023"+_eacda );};return _gfeb ;};type line struct{_eae float64 ;_bbcd float64 ;_bcca float64 ;_gbfa float64 ;_defe float64 ;_daf []*word ;};func (_ea *convertContext )stretchImage (_edf *_efg .Image ,_dbe *_gd .CT_StretchInfoProperties ,_cde ,_fda ,_ffe ,_cbcc float64 )(*_efg .Image ,float64 ,float64 ){_feg :=_dbe .FillRect ;if _feg ==nil {_gba :=_edf .Width ()/_edf .Height ();_cg :=_ffe /_cbcc ;var _agf ,_feec float64 ;if _gba > _cg {_feec =_cbcc ;_agf =_cbcc *_gba ;}else {_agf =_ffe ;_feec =_ffe /_gba ;};_edf .Scale (_agf /_edf .Width (),_feec /_edf .Height ());return _edf ,_cde ,_fda ;};var _cf ,_bbac ,_bad ,_gaa float64 ;if _abeb :=_feg .LAttr ;_abeb !=nil {_bad =_ef .FromSTPercentage (_abeb );};if _deg :=_feg .TAttr ;_deg !=nil {_cf =_ef .FromSTPercentage (_deg );};if _bda :=_feg .RAttr ;_bda !=nil {_gaa =_ef .FromSTPercentage (_bda );};if _cac :=_feg .BAttr ;_cac !=nil {_bbac =_ef .FromSTPercentage (_cac );};_bgf :=_ffe *(1-_bad -_gaa );_dbeb :=_cbcc *(1-_cf -_bbac );_edf .Scale (_bgf /_edf .Width (),_dbeb /_edf .Height ());return _edf ,_cde +_bad *_ffe ,_fda +_cf *_cbcc ;};func (_gdf *convertContext )makeSlide (){_dfe :=_gdf ._acfa .X ().CSld ;if _dfe ==nil {return ;};_efb :=&background {};if _ge :=_dfe .Bg ;_ge !=nil {if _af :=_ge .BgPr ;_af !=nil {if _af .NoFill ==nil {if _eeef :=_af .SolidFill ;_eeef !=nil {_gdb ,_gcf :=_gdf .getColorFromSolidFill (_eeef );if _gdb !=nil {_efb ._fea =_gdb ;_efb ._bdeb =_gcf ;};}else if _bcg :=_af .BlipFill ;_bcg !=nil {_efb ._bbaeb =_bcg ;};};};};_gdf ._gggf =_efb ;if _fca :=_dfe .SpTree ;_fca !=nil {for _ ,_ce :=range _fca .Choice {if _ce !=nil {for _ ,_dg :=range _ce .Sp {if _dg !=nil {_adg :=_gdf .getShapes (_dg );_gdf ._egcc =append (_gdf ._egcc ,_adg ...);};};for _ ,_bdb :=range _ce .GraphicFrame {if _bdb !=nil {var _gde ,_baa ,_add ,_eeeb float64 ;if _afd :=_bdb .Xfrm ;_afd !=nil {_gde ,_baa ,_add ,_eeeb =_ef .GetDataFromXfrm (_afd );};if _cae :=_bdb .Graphic ;_cae !=nil {if _ddg :=_cae .GraphicData ;_ddg !=nil {for _ ,_gcd :=range _ddg .Any {if _de ,_eb :=_gcd .(*_ag .Chart );_eb {_dff ,_bb :=_gdf .makePdfBlockFromChart (_de ,_add ,_eeeb );if _bb !=nil {_bfc .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_bb );};if _dff !=nil {_dff .SetPos (_gde ,_baa );_gdf ._egcc =append (_gdf ._egcc ,_dff );};}else if _cc ,_eff :=_gcd .(*_gd .Tbl );_eff {_edc :=_gdf .makePdfBlockFromTable (_cc ,_add );if _edc !=nil {_bcf :=_efg .NewBlock (_add ,_eeeb );_bcf .SetPos (_gde ,_baa );_bcf .Draw (_edc );_gdf ._egcc =append (_gdf ._egcc ,_bcf );};};};};};};};for _ ,_gdc :=range _ce .CxnSp {if _gdc !=nil {_efgg :=_gdf .getConnectors (_gdc );_gdf ._egcc =append (_gdf ._egcc ,_efgg ...);};};for _ ,_bcge :=range _ce .Pic {if _bcge !=nil {var _adc ,_aea ,_bcfb ,_fg float64 ;if _fef :=_bcge .SpPr ;_fef !=nil {if _afg :=_fef .Xfrm ;_afg !=nil {_adc ,_aea ,_bcfb ,_fg =_ef .GetDataFromXfrm (_afg );};};if _eg :=_bcge .BlipFill ;_eg !=nil {_ec :=_gdf .getShapeFromBlipFill (_eg ,_adc ,_aea ,_bcfb ,_fg );_gdf ._egcc =append (_gdf ._egcc ,_ec );};};};};};};};func (_dgef *textboxContext )addTextRun (_gac *_gd .EG_TextRun ,_ccd *_gd .CT_TextCharacterProperties ,_bec _efg .Color ,_cgb *prefixData ){if _cfc :=_gac .Br ;_cfc !=nil {_dgef .addCurrentWordToParagraph ();_dgef .newLine ();_dgef .newWord ();}else if _dfg :=_gac .R ;_dfg !=nil {var _bcfa _efg .Color ;if _dfg .RPr .SolidFill !=nil {_bcfa ,_ =_dgef ._eacd .getColorFromSolidFill (_dfg .RPr .SolidFill );}else if _bec !=nil {_bcfa =_bec ;}else if _ccd .SolidFill !=nil {_bcfa ,_ =_dgef ._eacd .getColorFromSolidFill (_ccd .SolidFill );}else {_bcfa =_efg .ColorBlack ;};_edb :=_eca (_dfg .RPr ,_ccd );_dbfe ,_dabg ,_bbf ,_fbcg :=_dgef ._eacd .makeStyleFromRPr (_edb );_dbfe .Color =_bcfa ;if _cgb !=nil {_dgef .addPrefix (_cgb ,_dbfe );};_bdg :=_aegf (_dfg .T );for _ ,_agcf :=range _bdg {_agcf ._gda =_dbfe ;_agcf ._fae =_dabg ;_agcf ._gcfg =_bbf ;_agcf ._agb =_fbcg ;if _edb .CapAttr ==_gd .ST_TextCapsTypeAll {_agcf ._egd =_bf .ToUpper (_agcf ._egd );};_dgef .addTextSymbol (_agcf );};};};func (_ebge *convertContext )getConnectors (_eea *_fd .CT_Connector )[]_efg .Drawable {_cfg ,_ ,_ ,_ ,_ ,_ ,_ :=_ebge .getShapesFromSpPr (_eea .SpPr ,_eea .Style ,false );return _cfg ;};
|
|
|
|
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
|
|
type FontStyle =_ef .FontStyle ;func (_fgd *convertContext )tileImage (_gfe *_efg .Image ,_gce *_gd .CT_TileInfoProperties ,_gae ,_cbg float64 )*_efg .Image {_fcaa ,_ffc :=1.0,1.0;if _ede :=_gce .SxAttr ;_ede !=nil {_fcaa =_ef .FromSTPercentage (_ede );};if _bgb :=_gce .SyAttr ;_bgb !=nil {_ffc =_ef .FromSTPercentage (_bgb );};_gfc :=_ef .MakeTempCreator (_gae ,_cbg );_gfe .Scale (_fcaa ,_ffc );_edg ,_bbc :=_gfe .Width (),_gfe .Height ();var _db ,_fbcf float64 ;if _bcc :=_gce .TxAttr ;_bcc !=nil {_db =_d .FromEMU (_ef .FromSTCoordinate (*_bcc ));};if _gcee :=_gce .TyAttr ;_gcee !=nil {_fbcf =_d .FromEMU (_ef .FromSTCoordinate (*_gcee ));};if _db > 0{_db -=_edg ;};if _fbcf > 0{_fbcf -=_bbc ;};_fga :=_fgd ._bcfe /_edg +1;_ebg :=_fgd ._fabbd /_bbc +1;for _bac :=0.0;_bac <=_fga ;_bac ++{_cab :=_bac *_edg ;for _cdd :=0.0;_cdd <=_ebg ;_cdd ++{_fag :=_cdd *_bbc ;_gfe .SetPos (_cab +_db ,_fag +_fbcf );_gfc .Draw (_gfe );};};_bgg ,_abe :=_ef .GetPageFromCreator (_gfc );if _abe !=nil {_bfc .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074 \u0067\u0065\u0074\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0066\u0072\u006fm\u0020\u0063\u0072\u0065\u0061\u0074\u006fr\u003a\u0020\u0025\u0073",_abe );return nil ;};_adge ,_abe :=_f .NewImageDevice ().Render (_bgg );if _abe !=nil {_bfc .Log .Debug ("\u0043\u0061\u006eno\u0074\u0020\u0072\u0065\u006e\u0064\u0065\u0072\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_abe );return nil ;};_abg ,_abe :=_fgd ._ebe .NewImageFromGoImage (_adge );if _abe !=nil {_bfc .Log .Debug ("\u0043\u0061nn\u006f\u0074\u0020c\u0072\u0065\u0061\u0074e i\u006dag\u0065\u0020\u0066\u0072\u006f\u006d\u0020Go\u0049\u006d\u0061\u0067\u0065\u003a\u0020%\u0073",_abe );return nil ;};return _abg ;};func _fbbb (_egcd float64 )float64 {return _egcd *_d .Millimeter };func (_fbe *convertContext )drawSlide (){_fbe ._ebe .NewPage ();for _ ,_ff :=range _fbe ._egcc {if _ff !=nil {_fbe ._ebe .MoveTo (0,0);_fbe ._ebe .Draw (_ff );};};};
|
|
|
|
// ConvertToPdf converts a presentation to a PDF file. This package is beta, breaking changes can take place.
|
|
func ConvertToPdf (pr *_cb .Presentation )*_efg .Creator {_bag :=pr .X ().SldSz ;_fee :=_d .FromEMU (int64 (_bag .CxAttr ));_ed :=_d .FromEMU (int64 (_bag .CyAttr ));_bc :=_efg .PageSize {_fee ,_ed };_fb :=_efg .New ();_fb .SetPageSize (_bc );var _fc *_gd .Theme ;if len (pr .Themes ())> 0{_fc =pr .Themes ()[0];};for _ ,_bg :=range pr .Slides (){if _bg .X ()==nil {continue ;};_fcg :=&convertContext {_ebe :_fb ,_acfa :&_bg ,_aged :_bg .GetSlideLayout (),_fgc :pr .SlideMasters ()[0].X (),_abed :pr ,_ccfe :_fc ,_beg :_bg .X ().ClrMapOvr ,_fabbd :_bc [1],_bcfe :_bc [0]};_fcg ._aged =_bg .GetSlideLayout ();_fcg .extractDefaultProperties ();_fcg .makeSlide ();_fcg .drawSlide ();};return _fb ;};func _cdgc (_bgbef *bool )bool {return _bgbef !=nil &&*_bgbef };func _efafc (_cgbc *_gd .CT_TableCellProperties ,_gcgd *_gd .CT_TableStyleCellStyle ,_aeda ,_bdag ,_cacb ,_ggcd bool )*_gd .CT_TableCellProperties {_egccf :=_gd .NewCT_TableCellProperties ();if _cgbc !=nil {*_egccf =*_cgbc ;};if _gcgd ==nil {return _egccf ;};if _beebb :=_gcgd .FillRef ;_beebb !=nil {_defg :=_gd .NewCT_SolidColorFillProperties ();_defg .ScrgbClr =_beebb .ScrgbClr ;_defg .SrgbClr =_beebb .SrgbClr ;_defg .HslClr =_beebb .HslClr ;_defg .SysClr =_beebb .SysClr ;_defg .SchemeClr =_beebb .SchemeClr ;_defg .PrstClr =_beebb .PrstClr ;_egccf .SolidFill =_defg ;};if _egccf .NoFill ==nil &&_egccf .SolidFill ==nil {if _gagc :=_gcgd .Fill ;_gagc !=nil {if _egccf .NoFill ==nil {_egccf .NoFill =_gagc .NoFill ;};if _egccf .SolidFill ==nil {_egccf .SolidFill =_gagc .SolidFill ;};};};if _eaea :=_gcgd .TcBdr ;_eaea !=nil {if _egccf .LnL ==nil {var _cbf *_gd .CT_ThemeableLineStyle ;if _cacb {_cbf =_eaea .Left ;}else {_cbf =_eaea .InsideV ;};if _cbf !=nil {_egccf .LnL =_cbf .Ln ;};};if _egccf .LnR ==nil {var _fgca *_gd .CT_ThemeableLineStyle ;if _ggcd {_fgca =_eaea .Right ;}else {_fgca =_eaea .InsideV ;};if _fgca !=nil {_egccf .LnR =_fgca .Ln ;};};if _egccf .LnT ==nil {var _ded *_gd .CT_ThemeableLineStyle ;if _aeda {_ded =_eaea .Top ;}else {_ded =_eaea .InsideH ;};if _ded !=nil {_egccf .LnT =_ded .Ln ;};};if _egccf .LnB ==nil {var _gge *_gd .CT_ThemeableLineStyle ;if _bdag {_gge =_eaea .Bottom ;}else {_gge =_eaea .InsideH ;};if _gge !=nil {_egccf .LnB =_gge .Ln ;};};};return _egccf ;};func _eca (_bcfbd ,_dged *_gd .CT_TextCharacterProperties )*_gd .CT_TextCharacterProperties {_ggace :=_gd .NewCT_TextCharacterProperties ();if _bcfbd !=nil {*_ggace =*_bcfbd ;};if _dged ==nil {return _ggace ;};if _ggace .KumimojiAttr ==nil {_ggace .KumimojiAttr =_dged .KumimojiAttr ;};if _ggace .LangAttr ==nil {_ggace .LangAttr =_dged .LangAttr ;};if _ggace .AltLangAttr ==nil {_ggace .AltLangAttr =_dged .AltLangAttr ;};if _ggace .SzAttr ==nil {_ggace .SzAttr =_dged .SzAttr ;};if _ggace .BAttr ==nil {_ggace .BAttr =_dged .BAttr ;};if _ggace .IAttr ==nil {_ggace .IAttr =_dged .IAttr ;};if _ggace .UAttr ==_gd .ST_TextUnderlineTypeUnset {_ggace .UAttr =_dged .UAttr ;};if _ggace .StrikeAttr ==_gd .ST_TextStrikeTypeUnset {_ggace .StrikeAttr =_dged .StrikeAttr ;};if _ggace .KernAttr ==nil {_ggace .KernAttr =_dged .KernAttr ;};if _ggace .CapAttr ==_gd .ST_TextCapsTypeUnset {_ggace .CapAttr =_dged .CapAttr ;};if _ggace .SpcAttr ==nil {_ggace .SpcAttr =_dged .SpcAttr ;};if _ggace .NormalizeHAttr ==nil {_ggace .NormalizeHAttr =_dged .NormalizeHAttr ;};if _ggace .BaselineAttr ==nil {_ggace .BaselineAttr =_dged .BaselineAttr ;};if _ggace .NoProofAttr ==nil {_ggace .NoProofAttr =_dged .NoProofAttr ;};if _ggace .DirtyAttr ==nil {_ggace .DirtyAttr =_dged .DirtyAttr ;};if _ggace .ErrAttr ==nil {_ggace .ErrAttr =_dged .ErrAttr ;};if _ggace .SmtCleanAttr ==nil {_ggace .SmtCleanAttr =_dged .SmtCleanAttr ;};if _ggace .SmtIdAttr ==nil {_ggace .SmtIdAttr =_dged .SmtIdAttr ;};if _ggace .BmkAttr ==nil {_ggace .BmkAttr =_dged .BmkAttr ;};if _ggace .Ln ==nil {_ggace .Ln =_dged .Ln ;};if _ggace .NoFill ==nil {_ggace .NoFill =_dged .NoFill ;};if _ggace .SolidFill ==nil {_ggace .SolidFill =_dged .SolidFill ;};if _ggace .BlipFill ==nil {_ggace .BlipFill =_dged .BlipFill ;};if _ggace .EffectLst ==nil {_ggace .EffectLst =_dged .EffectLst ;};if _ggace .EffectDag ==nil {_ggace .EffectDag =_dged .EffectDag ;};if _ggace .Highlight ==nil {_ggace .Highlight =_dged .Highlight ;};if _ggace .ULnTx ==nil {_ggace .ULnTx =_dged .ULnTx ;};if _ggace .ULn ==nil {_ggace .ULn =_dged .ULn ;};if _ggace .UFillTx ==nil {_ggace .UFillTx =_dged .UFillTx ;};if _ggace .UFill ==nil {_ggace .UFill =_dged .UFill ;};if _ggace .Latin ==nil {_ggace .Latin =_dged .Latin ;};if _ggace .Ea ==nil {_ggace .Ea =_dged .Ea ;};if _ggace .Cs ==nil {_ggace .Cs =_dged .Cs ;};if _ggace .Sym ==nil {_ggace .Sym =_dged .Sym ;};if _ggace .Rtl ==nil {_ggace .Rtl =_dged .Rtl ;};return _ggace ;};func (_gfgd *textboxContext )alignParagraph (){_cgea :=_gfgd ._cgef ;if _cgea ._eecc ==_gd .ST_TextAlignTypeL {return ;};_fgbf :=len (_cgea ._fffe )-1;for _cce ,_eacgc :=range _cgea ._fffe {_dgdf :=true ;_edbc :=len (_eacgc ._daf );_efac :=0.0;for _bgbe :=len (_eacgc ._daf )-1;_bgbe >=0;_bgbe --{_bagb :=_eacgc ._daf [_bgbe ];if _dgdf &&_bagb ._gdff {_edbc =_bgbe ;}else {_dgdf =false ;for _ ,_fafc :=range _bagb ._cdba {_efac +=_fafc ._ggce ;};};};_eacgc ._daf =_eacgc ._daf [:_edbc ];_babc :=_eacgc ._bcca -_eacgc ._bbcd -_efac ;switch _cgea ._eecc {case _gd .ST_TextAlignTypeR :_eacgc .moveRight (_babc );case _gd .ST_TextAlignTypeCtr :_eacgc .moveRight (_babc /2);case _gd .ST_TextAlignTypeJust :if _cce !=_fgbf {_afa :=[]*word {};for _ ,_cbde :=range _eacgc ._daf {if _cbde ._gdff {_afa =append (_afa ,_cbde );};};_ecb :=_babc /float64 (len (_afa ));for _ ,_dbed :=range _afa {_dbed ._bfa +=_ecb ;};var _baae *word ;for _ ,_edbg :=range _eacgc ._daf {if _baae !=nil {_edbg ._edcb =_baae ._edcb +_baae ._bfa ;};_baae =_edbg ;};};};};};func (_ddaa *convertContext )applyBlipEffectsOnImg (_bggb *_efg .Image ,_gcdd ,_cfdb float64 ,_bege []*_gd .CT_BlipChoice )*_efg .Image {if len (_bege )==0{return _bggb ;};_bggb .SetPos (_gcdd ,_cfdb );_baga ,_effd :=_ddaa .renderPageWithDrawableToGoImage (_bggb );if _effd !=nil {_bfc .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0072\u0065\u006e\u0064\u0065\u0072\u0020a\u006e\u0020\u0069\u006d\u0061\u0067e\u0020\u0074\u006f\u0020\u0061\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_effd );return _bggb ;};_ggca ,_effd :=_ddaa .renderCurrentStateToGoImage ();if _effd !=nil {_bfc .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0072\u0065n\u0064\u0065\u0072 t\u0068\u0065\u0020\u0063\u0075\u0072r\u0065\u006e\u0074\u0020\u0073\u0074\u0061\u0074\u0065\u0020\u0074\u006f\u0020\u0061\u0020G\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a \u0025\u0073",_effd );return _bggb ;};_gaaca :=_baga .Bounds ();_badg :=_ca .NewRGBA (_gaaca );_fgdff ,_ecf :=_bggb .Width (),_bggb .Height ();for _ ,_dabf :=range _bege {for _ ,_aad :=range _dabf .AlphaModFix {if _aadd :=_aad .AmtAttr ;_aadd !=nil {if _efad :=_aadd .ST_PositivePercentageDecimal ;_efad !=nil {_aac :=uint8 (255*(*_efad )/100000);_egccd :=_ca .NewUniform (_c .Alpha {_aac });_a .Draw (_badg ,_gaaca ,_ggca ,_ca .Point {0,0},_a .Src );_a .DrawMask (_badg ,_gaaca ,_baga ,_ca .Point {0,0},_egccd ,_ca .Point {0,0},_a .Over );};};};};_bgfg :=_ca .Rect (int (_gcdd ),int (_cfdb ),int (_gcdd +_fgdff )+1,int (_cfdb +_ecf )+1);_ebfc :=_ef .CropImageByRect (_badg ,_bgfg );_acce ,_effd :=_ddaa ._ebe .NewImageFromGoImage (_ebfc );if _effd !=nil {_bfc .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065\u0020t\u006f \u0061\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_effd );return _bggb ;};return _acce ;};func (_fcga *convertContext )getInfoFromLn (_dac *_gd .CT_LineProperties )(_efg .Color ,float64 ,float64 ){if _dac ==nil ||_dac .NoFill !=nil {return nil ,0,0;};var _feb float64 ;_gfca ,_feced :=_fcga .getColorFromSolidFill (_dac .SolidFill );if _dgac :=_dac .WAttr ;_dgac !=nil {_feb =_d .FromEMU (int64 (*_dgac ));}else {_feb =1;};return _gfca ,_feb ,_feced ;};func (_efc *textboxContext )alignVertically (_egfa _gd .ST_TextAnchoringType ){_efc .alignParagraphsVertically (_egfa );_efc .alignSymbolsVertically ();};type prefixData struct{_faf string ;_cgcf bool ;_gcec float64 ;_cbcb float64 ;};type romanMatch struct{_eagc int ;_ddfb string ;};type symbolStyle struct{_aeea *string ;_aage *float64 ;_fdag *string ;_dea *bool ;_dca *bool ;_cfe *bool ;_ffcc *bool ;_bbaf *bool ;};func (_fabgb *convertContext )getPhData (_cfbc *_fd .CT_Shape )(*_gd .CT_Transform2D ,*_gd .CT_TextBodyProperties ,*_gd .CT_TextListStyle ,bool ,bool ){_dgcgb ,_bdbd :=_ggdb (_cfbc );_cfde :=_bdbd ==nil ;_ebcf ,_degc ,_fdf ,_dbgc :=_agac (_fabgb ._fgc .CSld ,_dgcgb ,_bdbd ,_cfde );_begf ,_afe ,_egb ,_abgag :=_agac (_fabgb ._aged .CSld ,_dgcgb ,_bdbd ,_cfde );if _begf ==nil {_begf =_ebcf ;};_cdf ,_acc :=_abgc (_afe ,_degc );var _abd ,_bbec bool ;if _egb ==nil {if _fdf !=nil {_abd =*_fdf ;};}else {_abd =*_egb ;};if _abgag ==nil {if _dbgc !=nil {_bbec =*_dbgc ;};}else {_bbec =*_abgag ;};return _begf ,_cdf ,_acc ,_abd ,_bbec ;};func (_bgfce *convertContext )getColorFromSolidFill (_bacc *_gd .CT_SolidColorFillProperties )(_efg .Color ,float64 ){if _bacc ==nil {return nil ,1;};var _fafb string ;_dcdg :=1.0;if _caaf :=_bacc .SrgbClr ;_caaf !=nil {_fafb =_caaf .ValAttr ;_dcdg =_ef .GetOpacityFromColorTransform (_caaf .EG_ColorTransform );}else if _cbee :=_bacc .SchemeClr ;_cbee !=nil {_fafb =_ef .GetColorStringFromDmlColor (_bgfce ._acfa .GetColorBySchemeColor (_cbee .ValAttr ));_fafb =_ef .AdjustColor (_fafb ,_cbee .EG_ColorTransform );_dcdg =_ef .GetOpacityFromColorTransform (_cbee .EG_ColorTransform );};if _fafb !=""{_cecc :=_efg .ColorRGBFromHex ("\u0023"+_fafb );return _cecc ,_dcdg ;};return nil ,1;};func (_edef *textboxContext )adjustHeights (_fagbc float64 ){if _edef ._bfcd ._defe < _fagbc {_edef ._cgef ._fgfb +=(_fagbc -_edef ._bfcd ._defe );_edef ._bfcd ._defe =_fagbc ;};};func (_gbca *convertContext )getStyleColors (_bae *_gd .CT_ShapeStyle )(_efg .Color ,_efg .Color ,_efg .Color ){var _cefa ,_gbed ,_gdbeg _efg .Color ;if _gbcb :=_bae .LnRef ;_gbcb !=nil {_gbed =_gbca .getColorFromMatrixReference (_gbcb );};if _ecbe :=_bae .FillRef ;_ecbe !=nil {_gdbeg =_gbca .getColorFromMatrixReference (_ecbe );};if _bdc :=_bae .FontRef ;_bdc !=nil {_cefa =_gbca .getColorFromFontReference (_bdc );};return _cefa ,_gdbeg ,_gbed ;};func (_abcbd *line )moveRight (_fbdc float64 ){for _ ,_bbcb :=range _abcbd ._daf {_bbcb ._edcb +=_fbdc ;};};type convertContext struct{_ebe *_efg .Creator ;_ggbf *_ef .Rectangle ;_abed *_cb .Presentation ;_acfa *_cb .Slide ;_fgc *_fd .SldMaster ;_aged *_fd .SldLayout ;_fabbd float64 ;_bcfe float64 ;_egcc []_efg .Drawable ;_gggf *background ;_gef *_gd .CT_TextParagraphProperties ;_agdb *_gd .CT_TextCharacterProperties ;_fgaf *_gd .CT_TextParagraphProperties ;_fbbd *_gd .CT_TextCharacterProperties ;_dbf *_gd .CT_TextParagraphProperties ;_fdac *_gd .CT_TextCharacterProperties ;_dab []*_gd .CT_TextParagraphProperties ;_faag []*_gd .CT_TextParagraphProperties ;_abcc []*_gd .CT_TextParagraphProperties ;_ccfe *_gd .Theme ;_beg *_gd .CT_ColorMappingOverride ;};func _ggdb (_baad *_fd .CT_Shape )(_fd .ST_PlaceholderType ,*uint32 ){if _fcac :=_baad .NvSpPr ;_fcac !=nil {if _ecbg :=_fcac .NvPr ;_ecbg !=nil {if _eda :=_ecbg .Ph ;_eda !=nil {return _eda .TypeAttr ,_eda .IdxAttr ;};};};return _fd .ST_PlaceholderTypeUnset ,nil ;};func (_fa *convertContext )makePdfBlockFromChart (_aa *_ag .Chart ,_ee ,_bfb float64 )(*_efg .Block ,error ){_fe :=_aa .CT_RelId .IdAttr ;_bfbd :=_fa ._acfa .GetChartSpaceByRelId (_fe );if _bfbd ==nil {return nil ,_g .New ("\u004e\u006f\u0020\u0063\u0068\u0061\u0072\u0074\u0073\u0070\u0061\u0063\u0065");};var _df *_gd .Theme ;_gf :=_fa ._abed .Themes ();if len (_gf )> 0{_df =_gf [0];};return _ef .MakeBlockFromChartSpace (_bfbd ,_ee ,_bfb ,_df );};func (_eddf *textboxContext )addCurrentParagraph (){_eddf ._bde =_eddf ._cgef ._efaa +_eddf ._cgef ._bded +_eddf ._cgef ._fgfb +_eddf ._cgef ._aeef ;_eddf ._gcg =append (_eddf ._gcg ,_eddf ._cgef );_eddf .alignParagraph ();};func (_ceb *convertContext )makePdfBlockFromTxBody (_fbag *_gd .CT_TextBody ,_degg *_gd .CT_TextBodyProperties ,_fage *_gd .CT_TextListStyle ,_bbdd ,_dcg float64 ,_ace _efg .Color ,_afge ,_adb bool )(*_efg .Block ,error ){var _gggc *_gd .CT_TextParagraphProperties ;if _aff :=_fbag .LstStyle ;_aff !=nil {var _bdf *_gd .CT_TextParagraphProperties ;if _aff .Lvl1pPr !=nil {_bdf =_aff .Lvl1pPr ;};_gggc =_affg (_bdf ,_aff .DefPPr );};var _bgfd *_gd .CT_TextParagraphProperties ;if _gggc !=nil {if _afge {_bgfd =_ceb ._faag [0];}else if _adb {_bgfd =_ceb ._abcc [0];}else {_bgfd =_ceb ._dab [0];};if _fage !=nil {_bgfd =_affg (_affg (_fage .Lvl1pPr ,_fage .DefPPr ),_bgfd );};_bgfd =_affg (_gggc ,_bgfd );}else {if _afge {_bgfd =_ceb ._fgaf ;}else if _adb {_bgfd =_ceb ._dbf ;}else {_bgfd =_ceb ._gef ;};};_efa ,_geg :=_fbbb (2.5),_fbbb (2.5);_ebd ,_ced :=_fbbb (1.3),_fbbb (1.3);_abcb :=true ;_bagg :=_gd .ST_TextAnchoringTypeT ;if _degg !=nil {if _gbe :=_degg .AnchorAttr ;_gbe !=_gd .ST_TextAnchoringTypeUnset {_bagg =_gbe ;};};if _eacb :=_fbag .BodyPr ;_eacb !=nil {if _fdbe :=_eacb .LInsAttr ;_fdbe !=nil {_efa =_d .FromEMU (_ef .FromSTCoordinate32 (*_fdbe ));};if _ecd :=_eacb .TInsAttr ;_ecd !=nil {_ebd =_d .FromEMU (_ef .FromSTCoordinate32 (*_ecd ));};if _deggf :=_eacb .RInsAttr ;_deggf !=nil {_geg =_d .FromEMU (_ef .FromSTCoordinate32 (*_deggf ));};if _fbae :=_eacb .BInsAttr ;_fbae !=nil {_ced =_d .FromEMU (_ef .FromSTCoordinate32 (*_fbae ));};_abcb =_eacb .WrapAttr !=_gd .ST_TextWrappingTypeNone ;if _fbf :=_eacb .AnchorAttr ;_fbf !=_gd .ST_TextAnchoringTypeUnset {_bagg =_eacb .AnchorAttr ;};};_dfb :=_ef .MakeTempCreator (_bbdd ,_dcg );_dfb .SetPageMargins (_efa ,_geg ,_ebd ,_ced );_cgg :=&textboxContext {_eacd :_ceb ,_aeaa :_abcb ,_fge :_bbdd -_efa -_geg ,_acfg :_dcg -_ebd -_ced ,_gbd :_dfb ,_gcg :[]*paragraph {}};_aca :=1;for _ ,_bfg :=range _fbag .P {if _bfg !=nil {_cdc :=_bfg .PPr ;var _bgfb *prefixData ;if _cdc !=nil &&_cdc .BuNone ==nil {var _ggb string ;var _fagb bool ;if _fabc :=_cdc .BuAutoNum ;_fabc !=nil {var _abga string ;if _gdg :=_fabc .StartAtAttr ;_gdg !=nil {_aca =int (*_gdg );};var _efgf string ;switch _fabc .TypeAttr {case _gd .ST_TextAutonumberSchemeAlphaUcParenBoth ,_gd .ST_TextAutonumberSchemeAlphaUcParenR ,_gd .ST_TextAutonumberSchemeAlphaUcPeriod :_efgf =_gdba (_aca ,true );case _gd .ST_TextAutonumberSchemeAlphaLcParenBoth ,_gd .ST_TextAutonumberSchemeAlphaLcParenR ,_gd .ST_TextAutonumberSchemeAlphaLcPeriod :_efgf =_gdba (_aca ,false );case _gd .ST_TextAutonumberSchemeRomanUcParenBoth ,_gd .ST_TextAutonumberSchemeRomanUcParenR ,_gd .ST_TextAutonumberSchemeRomanUcPeriod :_efgf =_cdbfa (_aca ,true );case _gd .ST_TextAutonumberSchemeRomanLcParenBoth ,_gd .ST_TextAutonumberSchemeRomanLcParenR ,_gd .ST_TextAutonumberSchemeRomanLcPeriod :_efgf =_cdbfa (_aca ,false );default:_efgf =_ba .Itoa (_aca );};switch _fabc .TypeAttr {case _gd .ST_TextAutonumberSchemeAlphaLcPeriod ,_gd .ST_TextAutonumberSchemeAlphaUcPeriod ,_gd .ST_TextAutonumberSchemeArabicPeriod ,_gd .ST_TextAutonumberSchemeRomanLcPeriod ,_gd .ST_TextAutonumberSchemeRomanUcPeriod ,_gd .ST_TextAutonumberSchemeArabicDbPeriod ,_gd .ST_TextAutonumberSchemeEa1ChsPeriod ,_gd .ST_TextAutonumberSchemeEa1ChtPeriod ,_gd .ST_TextAutonumberSchemeEa1JpnChsDbPeriod ,_gd .ST_TextAutonumberSchemeEa1JpnKorPeriod ,_gd .ST_TextAutonumberSchemeThaiAlphaPeriod ,_gd .ST_TextAutonumberSchemeThaiNumPeriod ,_gd .ST_TextAutonumberSchemeHindiAlphaPeriod ,_gd .ST_TextAutonumberSchemeHindiNumPeriod ,_gd .ST_TextAutonumberSchemeHindiAlpha1Period :_abga ="\u002e";case _gd .ST_TextAutonumberSchemeAlphaLcParenR ,_gd .ST_TextAutonumberSchemeAlphaUcParenR ,_gd .ST_TextAutonumberSchemeArabicParenR ,_gd .ST_TextAutonumberSchemeRomanLcParenR ,_gd .ST_TextAutonumberSchemeRomanUcParenR ,_gd .ST_TextAutonumberSchemeThaiAlphaParenR ,_gd .ST_TextAutonumberSchemeThaiNumParenR ,_gd .ST_TextAutonumberSchemeHindiNumParenR :_abga ="\u0029";};_ggb =_efgf +_abga ;_aca ++;}else if _acg :=_cdc .BuChar ;_acg !=nil {_aae :=_acg .CharAttr ;if _gfac ,_efe :=_fcdf [_aae ];_efe {_aae =string (rune (_gfac ));}else {_aae ="\u2022";};_ggb =_aae ;_fagb =true ;};if _ggb !=""{var _deef ,_fbaa float64 ;if _cdc .MarLAttr !=nil {_deef =_d .FromEMU (int64 (*_cdc .MarLAttr ));};if _cdc .IndentAttr !=nil {_fbaa =_d .FromEMU (int64 (*_cdc .IndentAttr ));};_bgfb =&prefixData {_faf :_ggb ,_cgcf :_fagb ,_gcec :_deef ,_cbcb :_fbaa };};};_cdc =_affg (_cdc ,_bgfd );_aeae :=_eca (_bfg .EndParaRPr ,_cdc .DefRPr );_cgg .newParagraph ();_cgg .assignPropsToCurrentParagraph (_cdc );_cgg .newLine ();_cgg .newWord ();for _dcb ,_eegd :=range _bfg .EG_TextRun {_cgg .addTextRun (_eegd ,_aeae ,_ace ,_bgfb );if _dcb > 0{_bgfb =nil ;};};_cgg .addCurrentWordToParagraph ();};_cgg .addCurrentParagraph ();};_cgg .alignVertically (_bagg );_cgg .drawParagraphs ();return _ef .MakeBlockFromCreator (_dfb );};func (_adea *textboxContext )addTextSymbol (_bbg *symbol ){_dcaa :=_efg .New ();_dbg :=_dcaa .NewStyledParagraph ();_dbg .SetMargins (0,0,0,0);_ead :=_dbg .Append (_bbg ._egd );_cddf :=0.0;if _bbg ._gda !=nil {_ead .Style =*_bbg ._gda ;if _bbg ._gda .CharSpacing !=0{_cddf =_bbg ._gda .CharSpacing ;};};_bbg ._ggac =_dbg .Height ();_bbg ._dfecc =_dbg .Height ()*1.2;if _bbg ._dfecc < _adea ._cgef ._fcaaa {_bbg ._dfecc =_adea ._cgef ._fcaaa ;};if _bbg ._ggce ==0{_bbg ._ggce =_dbg .Width ()+_cddf ;};if len (_adea ._dbd ._cdba )> 0{_gade :=_adea ._dbd ._cdba [len (_adea ._dbd ._cdba )-1]._egd ;if _adea ._cgef ._fcd ||_ef .IsNoSpaceLanguage (_gade )||(_gade =="\u0020")!=(_bbg ._egd =="\u0020"){_adea .addCurrentWordToParagraph ();_adea .newWord ();};};_adea ._dbd ._cdba =append (_adea ._dbd ._cdba ,_bbg );_bbg ._bbeg =_adea ._dbd ._bfa ;_adea ._dbd ._bfa +=_bbg ._ggce ;if _bbg ._egd !="\u0020"{_adea ._dbd ._gdff =false ;};};func (_dadd *textboxContext )alignSymbolsVertically (){for _ ,_adbd :=range _dadd ._gcg {for _ ,_bgfc :=range _adbd ._fffe {_aeb :=0.0;for _ ,_dgge :=range _bgfc ._daf {for _ ,_dgde :=range _dgge ._cdba {if _dgde ._dfecc > _aeb {_aeb =_dgde ._dfecc ;};};};for _ ,_ededb :=range _bgfc ._daf {for _ ,_acd :=range _ededb ._cdba {if _acd ._ggac < _aeb {_acd ._efaaf =_aeb -_acd ._ggac ;};};};};};};type word struct{_cdba []*symbol ;_edcb float64 ;_bfa float64 ;_gdff bool ;};func (_dcdc *convertContext )getShapeFromBlipFill (_babg *_gd .CT_BlipFillProperties ,_dbfc ,_ddef ,_gdaf ,_caga float64 )_efg .Drawable {_efgb ,_aeag ,_gff :=_dcdc .makePdfImageFromBlipFill (_babg );if _gff !=nil {_bfc .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074\u0020\u006d\u0061\u006b\u0065\u0020\u0050D\u0046\u0020\u0069\u006d\u0061\u0067e\u0020\u0066\u0072\u006f\u006d\u0020\u0042\u006c\u0069\u0070\u0046\u0069\u006cl\u003a\u0020\u0025\u0073",_gff );return nil ;};if _efgb ==nil {return nil ;};if _dda :=_babg .Tile ;_dda !=nil {_efgb =_dcdc .tileImage (_efgb ,_babg .Tile ,_gdaf ,_caga );};if _afac :=_babg .Stretch ;_afac !=nil {_efgb ,_dbfc ,_ddef =_dcdc .stretchImage (_efgb ,_babg .Stretch ,_dbfc ,_ddef ,_gdaf ,_caga );};if len (_aeag )==0{_efgb .SetPos (_dbfc ,_ddef );return _efgb ;};_efgb =_dcdc .applyBlipEffectsOnImg (_efgb ,_dbfc ,_ddef ,_aeag );_efgb .SetPos (_dbfc ,_ddef );return _efgb ;};func _eab (_geea ,_eagg *_gd .CT_TextBodyProperties )*_gd .CT_TextBodyProperties {_dag :=_gd .NewCT_TextBodyProperties ();if _geea !=nil {*_dag =*_geea ;};if _eagg ==nil {return _dag ;};if _dag .RotAttr ==nil {_dag .RotAttr =_eagg .RotAttr ;};if _dag .SpcFirstLastParaAttr ==nil {_dag .SpcFirstLastParaAttr =_eagg .SpcFirstLastParaAttr ;};if _dag .VertOverflowAttr ==_gd .ST_TextVertOverflowTypeUnset {_dag .VertOverflowAttr =_eagg .VertOverflowAttr ;};if _dag .HorzOverflowAttr ==_gd .ST_TextHorzOverflowTypeUnset {_dag .HorzOverflowAttr =_eagg .HorzOverflowAttr ;};if _dag .VertAttr ==_gd .ST_TextVerticalTypeUnset {_dag .VertAttr =_eagg .VertAttr ;};if _dag .WrapAttr ==_gd .ST_TextWrappingTypeUnset {_dag .WrapAttr =_eagg .WrapAttr ;};if _dag .LInsAttr ==nil {_dag .LInsAttr =_eagg .LInsAttr ;};if _dag .TInsAttr ==nil {_dag .TInsAttr =_eagg .TInsAttr ;};if _dag .RInsAttr ==nil {_dag .RInsAttr =_eagg .RInsAttr ;};if _dag .BInsAttr ==nil {_dag .BInsAttr =_eagg .BInsAttr ;};if _dag .NumColAttr ==nil {_dag .NumColAttr =_eagg .NumColAttr ;};if _dag .SpcColAttr ==nil {_dag .SpcColAttr =_eagg .SpcColAttr ;};if _dag .RtlColAttr ==nil {_dag .RtlColAttr =_eagg .RtlColAttr ;};if _dag .AnchorAttr ==_gd .ST_TextAnchoringTypeUnset {_dag .AnchorAttr =_eagg .AnchorAttr ;};if _dag .AnchorCtrAttr ==nil {_dag .AnchorCtrAttr =_eagg .AnchorCtrAttr ;};if _dag .ForceAAAttr ==nil {_dag .ForceAAAttr =_eagg .ForceAAAttr ;};if _dag .UprightAttr ==nil {_dag .UprightAttr =_eagg .UprightAttr ;};if _dag .CompatLnSpcAttr ==nil {_dag .CompatLnSpcAttr =_eagg .CompatLnSpcAttr ;};if _dag .PrstTxWarp ==nil {_dag .PrstTxWarp =_eagg .PrstTxWarp ;};if _dag .NoAutofit ==nil {_dag .NoAutofit =_eagg .NoAutofit ;};if _dag .NormAutofit ==nil {_dag .NormAutofit =_eagg .NormAutofit ;};if _dag .SpAutoFit ==nil {_dag .SpAutoFit =_eagg .SpAutoFit ;};if _dag .Scene3d ==nil {_dag .Scene3d =_eagg .Scene3d ;};if _dag .Sp3d ==nil {_dag .Sp3d =_eagg .Sp3d ;};if _dag .FlatTx ==nil {_dag .FlatTx =_eagg .FlatTx ;};if _dag .ExtLst ==nil {_dag .ExtLst =_eagg .ExtLst ;};return _dag ;};func (_cgce *textboxContext )drawParagraphs (){_cgce ._gbd .NewPage ();for _ ,_acfaa :=range _cgce ._gcg {for _ ,_ccgdf :=range _acfaa ._fffe {for _ ,_edec :=range _ccgdf ._daf {for _ ,_dceg :=range _edec ._cdba {_beeb :=_cgce ._gbd .NewStyledParagraph ();if _dceg ._fae {_dceg ._efaaf =0;}else if _dceg ._gcfg {_dceg ._efaaf =1.2*_ccgdf ._defe -_dceg ._ggac ;};_eecdf :=_edec ._edcb +_dceg ._bbeg ;_gcge :=_acfaa ._efaa +_ccgdf ._eae +_dceg ._efaaf ;_beeb .SetPos (_eecdf ,_gcge );_cdac :=_beeb .Append (_dceg ._egd );if _dceg ._gda !=nil {_cdac .Style =*_dceg ._gda ;};_cgce ._gbd .Draw (_beeb );if _dceg ._agb {_feab :=_gcge +_dceg ._ggac +2;_ef .DrawLine (_cgce ._gbd ,_eecdf ,_feab ,_eecdf +_dceg ._ggce ,_feab ,1,_dceg ._gda .Color );};};};};};};func (_cgcg *convertContext )getColorFromMatrixReference (_gace *_gd .CT_StyleMatrixReference )_efg .Color {if _gace ==nil {return nil ;};var _ccbd _efg .Color ;var _ggag string ;if _efef :=_gace .SrgbClr ;_efef !=nil {_ggag =_efef .ValAttr ;}else if _efga :=_gace .SchemeClr ;_efga !=nil {_ggag =_ef .GetColorStringFromDmlColor (_cgcg ._abed .GetColorBySchemeColor (_efga .ValAttr ));_ggag =_ef .AdjustColor (_ggag ,_efga .EG_ColorTransform );};if _ggag !=""{_ccbd =_efg .ColorRGBFromHex ("\u0023"+_ggag );};return _ccbd ;};type symbol struct{_egd string ;_bbeg float64 ;_dfecc float64 ;_ggac float64 ;_efaaf float64 ;_ggce float64 ;_gda *_efg .TextStyle ;_gab string ;_fae bool ;_gcfg bool ;_agb bool ;};var _gg =_fbbb (1.9);func _edcc (_fade ,_cgff *_gd .CT_TableStyleTextStyle )*_gd .CT_TableStyleTextStyle {_efceg :=_gd .NewCT_TableStyleTextStyle ();if _fade !=nil {*_efceg =*_fade ;};if _cgff ==nil {return _efceg ;};if _efceg .BAttr ==_gd .ST_OnOffStyleTypeUnset {_efceg .BAttr =_cgff .BAttr ;};if _efceg .IAttr ==_gd .ST_OnOffStyleTypeUnset {_efceg .IAttr =_cgff .IAttr ;};if _efceg .Font ==nil {_efceg .Font =_cgff .Font ;};if _efceg .FontRef ==nil {_efceg .FontRef =_cgff .FontRef ;};if _efceg .ScrgbClr ==nil {_efceg .ScrgbClr =_cgff .ScrgbClr ;};if _efceg .SrgbClr ==nil {_efceg .SrgbClr =_cgff .SrgbClr ;};if _efceg .HslClr ==nil {_efceg .HslClr =_cgff .HslClr ;};if _efceg .SysClr ==nil {_efceg .SysClr =_cgff .SysClr ;};if _efceg .SchemeClr ==nil {_efceg .SchemeClr =_cgff .SchemeClr ;};if _efceg .PrstClr ==nil {_efceg .PrstClr =_cgff .PrstClr ;};return _efceg ;};func _agac (_fgce *_fd .CT_CommonSlideData ,_afdc _fd .ST_PlaceholderType ,_cebd *uint32 ,_bebg bool )(*_gd .CT_Transform2D ,*_gd .CT_TextBody ,*bool ,*bool ){if _fgce !=nil &&(_afdc !=_fd .ST_PlaceholderTypeUnset ||!_bebg ){if _ecae :=_fgce .SpTree ;_ecae !=nil {for _ ,_geca :=range _ecae .Choice {if _geca !=nil {for _ ,_beef :=range _geca .Sp {if _beef !=nil {_egbf ,_aefgb :=_ggdb (_beef );if _afdc ==_egbf {if (_bebg &&_aefgb ==nil )||(!_bebg &&_aefgb !=nil &&*_aefgb ==*_cebd ){var _aefb *_gd .CT_Transform2D ;if _beef .SpPr !=nil {_aefb =_beef .SpPr .Xfrm ;};_bbfa :=_afdc ==_fd .ST_PlaceholderTypeTitle ||_afdc ==_fd .ST_PlaceholderTypeCtrTitle ;_efgc :=!_bbfa &&_afdc !=_fd .ST_PlaceholderTypeUnset ;return _aefb ,_beef .TxBody ,&_bbfa ,&_efgc ;};};};};};};};};return nil ,nil ,nil ,nil ;};func _cgf (_fadd *_gd .CT_AdjPoint2D )(float64 ,float64 ){var _feca ,_gbaeg float64 ;_dcda ,_adeb :=_fadd .XAttr ,_fadd .YAttr ;if _gabd :=_dcda .ST_Coordinate ;_gabd !=nil {_feca =_d .FromEMU (_ef .FromSTCoordinate (*_gabd ));};if _ddfda :=_adeb .ST_Coordinate ;_ddfda !=nil {_gbaeg =_d .FromEMU (_ef .FromSTCoordinate (*_ddfda ));};return _feca ,_gbaeg ;};type paragraph struct{_ffd float64 ;_bded float64 ;_aeef float64 ;_cagb float64 ;_eafc float64 ;_bed float64 ;_efaa float64 ;_fgfb float64 ;_eecc _gd .ST_TextAlignType ;_fcaaa float64 ;_fcd bool ;_fffe []*line ;};var _dcd =[]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 _fadc (_cba ,_cagf *_gd .CT_TablePartStyle )*_gd .CT_TablePartStyle {_acdd :=_gd .NewCT_TablePartStyle ();if _cba !=nil {*_acdd =*_cba ;};if _cagf ==nil {return _acdd ;};if _acdd .TcTxStyle ==nil {_acdd .TcTxStyle =_cagf .TcTxStyle ;}else {_acdd .TcTxStyle =_edcc (_acdd .TcTxStyle ,_cagf .TcTxStyle );};if _acdd .TcStyle ==nil {_acdd .TcStyle =_cagf .TcStyle ;}else {_acdd .TcStyle =_agae (_acdd .TcStyle ,_cagf .TcStyle );};return _acdd ;};func (_ffaa *textboxContext )addPrefix (_adfb *prefixData ,_agdc *_efg .TextStyle ){_fcad :=_aegf (_adfb ._faf );_gceec :=*_agdc ;if _adfb ._cgcf {_gceec .Font =_ef .AssignStdFontByName (_gceec ,"\u0053\u0079\u006d\u0062\u006f\u006c");};for _ ,_ccgd :=range _fcad {_ccgd ._gda =&_gceec ;_ffaa .addTextSymbol (_ccgd );};_aefg :=-(_adfb ._cbcb +_ffaa ._dbd ._bfa );if _aefg < 0{_aefg =0;};_cdg :=&symbol {_egd :"\u0020",_ggce :_aefg };_ffaa .addTextSymbol (_cdg );_ffaa ._dbd ._edcb +=(_adfb ._cbcb +_adfb ._gcec );};func (_age *convertContext )getShapesFromSpPr (_bee *_gd .CT_ShapeProperties ,_adf *_gd .CT_ShapeStyle ,_ecg bool )([]_efg .Drawable ,float64 ,float64 ,float64 ,float64 ,_efg .Color ,bool ){_bbd :=[]_efg .Drawable {};var _dgc ,_eac ,_dec ,_eeg ,_dffg float64 ;var _gec ,_abac ,_edfe ,_fgad _efg .Color ;var _ggg *_gd .CT_BlipFillProperties ;_eeed ,_ggf :=1.0,1.0;if _adf !=nil {_gec ,_abac ,_fgad =_age .getStyleColors (_adf );};if _ccfd :=_bee .Ln ;_ccfd !=nil {if _ccfd .NoFill !=nil {_edfe ,_dffg =nil ,0;}else {_edfe ,_dffg ,_eeed =_age .getInfoFromLn (_ccfd );if _edfe ==nil {_edfe =_fgad ;};};};if _bee .NoFill !=nil {_abac ,_ggf =nil ,0;}else if _ecg {_abac =_age ._gggf ._fea ;_ggf =_age ._gggf ._bdeb ;_ggg =_age ._gggf ._bbaeb ;}else if _dee :=_bee .SolidFill ;_dee !=nil {_abac ,_ggf =_age .getColorFromSolidFill (_dee );};var _fed bool ;if _ega :=_bee .Xfrm ;_ega !=nil {_dgc ,_eac ,_dec ,_eeg =_ef .GetDataFromXfrm (_ega );_fed =true ;};if _baab :=_bee .CustGeom ;_baab !=nil {_bbb :=[]_ae .Point {};_cgd ,_eaa :=1.0,1.0;if _cbe :=_baab .PathLst ;_cbe !=nil {for _ ,_eaf :=range _cbe .Path {if _eaf !=nil {if _dfec :=_eaf .WAttr ;_dfec !=nil {_cgd =_dec /_d .FromEMU (*_dfec );};if _gga :=_eaf .HAttr ;_gga !=nil {_eaa =_eeg /_d .FromEMU (*_gga );};for _ ,_bfbb :=range _eaf .Close {if _bfbb !=nil {};};for _ ,_ccc :=range _eaf .MoveTo {if _ccc !=nil &&_ccc .Pt !=nil {_fgf ,_aegb :=_cgf (_ccc .Pt );_bbb =append (_bbb ,_ae .Point {X :_fgf *_cgd +_dgc ,Y :_aegb *_eaa +_eac });};};for _ ,_cag :=range _eaf .LnTo {if _cag !=nil &&_cag .Pt !=nil {_effa ,_ebc :=_cgf (_cag .Pt );_bbb =append (_bbb ,_ae .Point {X :_effa *_cgd +_dgc ,Y :_ebc *_eaa +_eac });};};_dgeg :=_age ._ebe .NewPolygon ([][]_ae .Point {_bbb });_dgeg .SetFillColor (_abac );_dgeg .SetFillOpacity (_ggf );_dgeg .SetBorderWidth (_dffg );if _edfe !=nil {_dgeg .SetBorderColor (_edfe );_dgeg .SetBorderOpacity (_eeed );};_bbd =append (_bbd ,_dgeg );};};};};if _fccf :=_bee .PrstGeom ;_fccf !=nil {switch _fccf .PrstAttr {case _gd .ST_ShapeTypeRect :if _ggg !=nil {_gea :=_age .getShapeFromBlipFill (_ggg ,_dgc ,_eac ,_dec ,_eeg );_bbd =append (_bbd ,_gea );}else {_cbd :=_age ._ebe .NewRectangle (_dgc ,_eac ,_dec ,_eeg );_cbd .SetFillColor (_abac );_cbd .SetFillOpacity (_ggf );_cbd .SetBorderWidth (_dffg );if _edfe !=nil {_cbd .SetBorderColor (_edfe );_cbd .SetBorderOpacity (_eeed );};_bbd =append (_bbd ,_cbd );};case _gd .ST_ShapeTypeLine :_fgdf :=_age ._ebe .NewLine (_dgc ,_eac ,_dgc +_dec ,_eac +_eeg );_fgdf .SetLineWidth (_dffg );if _edfe !=nil {_fgdf .SetColor (_edfe );};_bbd =append (_bbd ,_fgdf );};};return _bbd ,_dgc ,_eac ,_dec ,_eeg ,_gec ,_fed ;};
|
|
|
|
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles.
|
|
func RegisterFontsFromDirectory (dirName string )error {return _ef .RegisterFontsFromDirectory (dirName )};
|
|
|
|
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
|
|
func RegisterFont (name string ,style FontStyle ,font *_ab .PdfFont ){_ef .RegisterFont (name ,style ,font );};func (_dfc *textboxContext )addCurrentWordToParagraph (){if _dfc ._aeaa &&_dfc ._bfcd ._gbfa +_dfc ._dbd ._bfa > _dfc ._bfcd ._bcca {_dfc .newLine ();};if !_dfc ._dbd ._gdff ||len (_dfc ._bfcd ._daf )> 0{_dfc ._dbd ._edcb =_dfc ._bfcd ._gbfa ;_dfc ._bfcd ._daf =append (_dfc ._bfcd ._daf ,_dfc ._dbd );_dfc ._bfcd ._gbfa +=_dfc ._dbd ._bfa ;for _ ,_deee :=range _dfc ._dbd ._cdba {_dfc .adjustHeights (_deee ._dfecc );};};};func (_fbd *textboxContext )newParagraph (){_eaff :=¶graph {};_eaff ._efaa =_fbd ._bde ;_fbd ._cgef =_eaff ;};func _gdba (_gcff int ,_acec bool )string {_dce :=(_gcff -1)/26+1;_ebf :=byte ((_gcff -1)%26);if _acec {_ebf +=byte (65);}else {_ebf +=byte (97);};_eded :=_e .NewBuffer ([]byte {});for _fbba :=0;_fbba < _dce ;_fbba ++{_eded .Write ([]byte {_ebf });};return _eded .String ();};func (_gdfb *convertContext )makeStyleFromRPr (_gaac *_gd .CT_TextCharacterProperties )(*_efg .TextStyle ,bool ,bool ,bool ){var _bcd ,_eacg ,_fdbf bool ;_afc :=_gdfb ._ebe .NewTextStyle ();if _gaac !=nil {_bdd :=_ef .FontStyle_Regular ;_dfba :=_cdgc (_gaac .BAttr );_gbfg :=_cdgc (_gaac .IAttr );if _dfba &&_gbfg {_bdd =_ef .FontStyle_BoldItalic ;}else if _dfba {_bdd =_ef .FontStyle_Bold ;}else if _gbfg {_bdd =_ef .FontStyle_Italic ;};_fdbf =_gaac .UAttr !=_gd .ST_TextUnderlineTypeUnset &&_gaac .UAttr !=_gd .ST_TextUnderlineTypeNone ;_fbed :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _cacc :=_gaac .Latin ;_cacc !=nil {_fbed =_cacc .TypefaceAttr ;}else if _cfb :=_gaac .Ea ;_cfb !=nil {_fbed =_cfb .TypefaceAttr ;}else if _eedg :=_gaac .Cs ;_eedg !=nil {_fbed =_eedg .TypefaceAttr ;}else if _eba :=_gaac .Sym ;_eba !=nil {_fbed =_eba .TypefaceAttr ;};if _fedd ,_ccg :=_ef .StdFontsMap [_fbed ];_ccg {_afc .Font =_ef .AssignStdFontByName (_afc ,_fedd [_bdd ]);}else if _cdcd :=_ef .GetRegisteredFont (_fbed ,_bdd );_cdcd !=nil {_afc .Font =_cdcd ;}else {_bfc .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",_fbed ,_bdd );_afc .Font =_ef .AssignStdFontByName (_afc ,_ef .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_bdd ]);};var _aga float64 ;if _eecd :=_gaac .SzAttr ;_eecd !=nil {_aga =float64 (*_eecd )/100;}else {_aga =_ef .DefaultFontSize ;};if _cga :=_gaac .BaselineAttr ;_cga !=nil {if _gggb :=_cga .ST_PercentageDecimal ;_gggb !=nil {if *_gggb > 0{_bcd =true ;}else if *_gggb < 0{_eacg =true ;};};};if _bcd ||_eacg {_aga *=0.64;};_afc .FontSize =_aga ;_dad :=0.0;if _dfa :=_gaac .SpcAttr ;_dfa !=nil {if _bbca :=_dfa .ST_TextPointUnqualified ;_bbca !=nil {_dad =float64 (*_bbca )/100;};};_afc .CharSpacing =_dad ;};return &_afc ,_bcd ,_eacg ,_fdbf ;};func (_cbdf *textboxContext )alignParagraphsVertically (_feecg _gd .ST_TextAnchoringType ){if _feecg ==_gd .ST_TextAnchoringTypeT {return ;};_defa :=0.0;for _ ,_bcb :=range _cbdf ._gcg {_defa +=_bcb ._bded +_bcb ._fgfb +_bcb ._aeef ;};var _fgeg float64 ;switch _feecg {case _gd .ST_TextAnchoringTypeCtr :_fgeg =(_cbdf ._acfg -_defa )/2;case _gd .ST_TextAnchoringTypeB :_fgeg =_cbdf ._acfg -_defa ;};for _ ,_bfgd :=range _cbdf ._gcg {_bfgd ._efaa +=_fgeg ;};};func (_fabb *convertContext )getBorderStyle (_bab *_gd .CT_LineProperties )(_efg .CellBorderStyle ,*_efg .Color ,float64 ){if _bab ==nil ||_bab .NoFill !=nil {return _efg .CellBorderStyleNone ,nil ,0;};var _bbed _efg .Color ;if _cecg :=_bab .SolidFill ;_cecg !=nil {_bbed ,_ =_fabb .getColorFromSolidFill (_cecg );};_dga :=0.0;if _ggbe :=_bab .WAttr ;_ggbe !=nil {_dga =_d .FromEMU (int64 (*_ggbe ));};return _efg .CellBorderStyleSingle ,&_bbed ,_dga ;};func (_ga *convertContext )extractDefaultProperties (){_cd :=_ga ._abed .X ();_gag :=_cd .DefaultTextStyle ;var _fcf ,_faa ,_be ,_ac ,_fbc ,_gb ,_gc ,_gbf ,_eeec ,_ad *_gd .CT_TextParagraphProperties ;if _gag !=nil {_fcf =_gag .DefPPr ;_faa =_affg (_gag .Lvl1pPr ,_fcf );_be =_affg (_gag .Lvl2pPr ,_fcf );_ac =_affg (_gag .Lvl3pPr ,_fcf );_fbc =_affg (_gag .Lvl4pPr ,_fcf );_gb =_affg (_gag .Lvl5pPr ,_fcf );_gc =_affg (_gag .Lvl6pPr ,_fcf );_gbf =_affg (_gag .Lvl7pPr ,_fcf );_eeec =_affg (_gag .Lvl8pPr ,_fcf );_ad =_affg (_gag .Lvl9pPr ,_fcf );_ga ._gef =_fcf ;_ga ._agdb =_fcf .DefRPr ;};_ga ._dab =make ([]*_gd .CT_TextParagraphProperties ,9);_ga ._dab [0]=_faa ;_ga ._dab [1]=_be ;_ga ._dab [2]=_ac ;_ga ._dab [3]=_fbc ;_ga ._dab [4]=_gb ;_ga ._dab [5]=_gc ;_ga ._dab [6]=_gbf ;_ga ._dab [7]=_eeec ;_ga ._dab [8]=_ad ;_agd :=_ga ._abed .SlideMasters ()[0].X ();_fab :=_agd .TxStyles ;_gcc :=_fab .TitleStyle ;_ga ._fgaf =_affg (_gcc .DefPPr ,_fcf );_ga ._fbbd =_ga ._fgaf .DefRPr ;_ga ._faag =make ([]*_gd .CT_TextParagraphProperties ,9);_ga ._faag [0]=_affg (_gcc .Lvl1pPr ,_faa );_ga ._faag [1]=_affg (_gcc .Lvl2pPr ,_be );_ga ._faag [2]=_affg (_gcc .Lvl3pPr ,_ac );_ga ._faag [3]=_affg (_gcc .Lvl4pPr ,_fbc );_ga ._faag [4]=_affg (_gcc .Lvl5pPr ,_gb );_ga ._faag [5]=_affg (_gcc .Lvl6pPr ,_gc );_ga ._faag [6]=_affg (_gcc .Lvl7pPr ,_gbf );_ga ._faag [7]=_affg (_gcc .Lvl8pPr ,_eeec );_ga ._faag [8]=_affg (_gcc .Lvl9pPr ,_ad );_bd :=_fab .BodyStyle ;_ga ._dbf =_affg (_bd .DefPPr ,_fcf );_ga ._fdac =_ga ._dbf .DefRPr ;_ga ._abcc =make ([]*_gd .CT_TextParagraphProperties ,9);_ga ._abcc [0]=_affg (_bd .Lvl1pPr ,_faa );_ga ._abcc [1]=_affg (_bd .Lvl2pPr ,_be );_ga ._abcc [2]=_affg (_bd .Lvl3pPr ,_ac );_ga ._abcc [3]=_affg (_bd .Lvl4pPr ,_fbc );_ga ._abcc [4]=_affg (_bd .Lvl5pPr ,_gb );_ga ._abcc [5]=_affg (_bd .Lvl6pPr ,_gc );_ga ._abcc [6]=_affg (_bd .Lvl7pPr ,_gbf );_ga ._abcc [7]=_affg (_bd .Lvl8pPr ,_eeec );_ga ._abcc [8]=_affg (_bd .Lvl9pPr ,_ad );};func _feddg (_eaagf ,_eaage *_gd .CT_TextListStyle )*_gd .CT_TextListStyle {_acga :=_gd .NewCT_TextListStyle ();if _eaagf !=nil {*_acga =*_eaagf ;};if _eaage ==nil {return _acga ;};_acga .DefPPr =_affg (_acga .DefPPr ,_eaage .DefPPr );_acga .Lvl1pPr =_affg (_acga .Lvl1pPr ,_eaage .Lvl1pPr );_acga .Lvl2pPr =_affg (_acga .Lvl2pPr ,_eaage .Lvl2pPr );_acga .Lvl3pPr =_affg (_acga .Lvl3pPr ,_eaage .Lvl3pPr );_acga .Lvl4pPr =_affg (_acga .Lvl4pPr ,_eaage .Lvl4pPr );_acga .Lvl5pPr =_affg (_acga .Lvl5pPr ,_eaage .Lvl5pPr );_acga .Lvl6pPr =_affg (_acga .Lvl6pPr ,_eaage .Lvl6pPr );_acga .Lvl7pPr =_affg (_acga .Lvl7pPr ,_eaage .Lvl7pPr );_acga .Lvl8pPr =_affg (_acga .Lvl8pPr ,_eaage .Lvl8pPr );_acga .Lvl9pPr =_affg (_acga .Lvl9pPr ,_eaage .Lvl9pPr );return _acga ;};func (_agea *convertContext )renderCurrentStateToGoImage ()(_ca .Image ,error ){_fgdb :=_ef .MakeTempCreator (_agea ._bcfe ,_agea ._fabbd );_fgdb .NewPage ();for _ ,_feecef :=range _agea ._egcc {if _feecef !=nil {_fgdb .MoveTo (0,0);_fgdb .Draw (_feecef );};};_agcg ,_cdcc :=_ef .GetPageFromCreator (_fgdb );if _cdcc !=nil {return nil ,_cdcc ;};return _f .NewImageDevice ().Render (_agcg );};func (_cfcc *convertContext )makePdfImageFromBlipFill (_dgcba *_gd .CT_BlipFillProperties )(*_efg .Image ,[]*_gd .CT_BlipChoice ,error ){if _ece :=_dgcba .Blip ;_ece !=nil {if _daa :=_ece .EmbedAttr ;_daa !=nil {_ddgd ,_cefe :=_cfcc ._acfa .GetImageByRelID (*_daa );if _cefe {_gefa ,_adgeb :=_caa .Open (_ddgd .Path ());if _adgeb !=nil {_bfc .Log .Debug ("\u0046\u0069\u006c\u0065 o\u0070\u0065\u006e\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_adgeb );return nil ,nil ,_adgeb ;};defer _gefa .Close ();_aed ,_ ,_adgeb :=_ca .Decode (_gefa );if _adgeb !=nil {_bfc .Log .Debug ("\u0044\u0065\u0063\u006fde\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020%\u0073",_adgeb );return nil ,nil ,_adgeb ;};if _dgcg :=_dgcba .SrcRect ;_dgcg !=nil {_caec :=_aed .Bounds ().Size ();_fagd :=_caec .X ;_fabg :=_caec .Y ;var _fede ,_gaae ,_cgge ,_abf int ;var _bcgf bool ;if _fafg :=_dgcg .LAttr ;_fafg !=nil {_fede =int (float64 (_fagd )*_ef .FromSTPercentage (_fafg ));_bcgf =true ;}else {_fede =0;};if _fbef :=_dgcg .TAttr ;_fbef !=nil {_cgge =int (float64 (_fabg )*_ef .FromSTPercentage (_fbef ));_bcgf =true ;}else {_cgge =0;};if _bbbc :=_dgcg .RAttr ;_bbbc !=nil {_gaae =int (float64 (_fagd )*(1-_ef .FromSTPercentage (_bbbc )));_bcgf =true ;}else {_gaae =_fagd ;};if _beab :=_dgcg .BAttr ;_beab !=nil {_abf =int (float64 (_fabg )*(1-_ef .FromSTPercentage (_beab )));_bcgf =true ;}else {_abf =_fabg ;};if _bcgf {_aed =_ef .CropImageByRect (_aed ,_ca .Rect (_fede ,_cgge ,_gaae +1,_abf +1));};};_dae ,_adgeb :=_cfcc ._ebe .NewImageFromGoImage (_aed );if _adgeb !=nil {_bfc .Log .Debug ("\u0043\u0061\u006e\u006e\u006ft\u0020\u0063\u0072\u0065\u0061\u0074\u0065\u0020\u0050\u0044\u0046\u0020\u0069m\u0061\u0067\u0065\u0020\u0066\u0072\u006f\u006d\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_adgeb );return nil ,nil ,_adgeb ;};return _dae ,_ece .Choice ,nil ;};};};return nil ,nil ,nil ;};func _cdbfa (_dgcb int ,_beb bool )string {_gee :=_e .NewBuffer ([]byte {});for _ ,_dfd :=range _dcd {for {if _dgcb < _dfd ._eagc {break ;};_gee .WriteString (_dfd ._ddfb );_dgcb -=_dfd ._eagc ;};};_ebb :=_gee .String ();if _beb {_ebb =_bf .ToUpper (_ebb );};return _ebb ;};var _fcdf =map[string ]int32 {"\u0076":9830,"\u00d8":8594,"\u00fc":8730};func _abgc (_ccdf ,_cabb *_gd .CT_TextBody )(*_gd .CT_TextBodyProperties ,*_gd .CT_TextListStyle ){if _ccdf ==nil &&_cabb ==nil {return nil ,nil ;};if _ccdf ==nil {return _cabb .BodyPr ,_cabb .LstStyle ;};if _cabb ==nil {return _ccdf .BodyPr ,_ccdf .LstStyle ;};_edfb ,_bgc :=_ccdf .BodyPr ,_ccdf .LstStyle ;_fcfe ,_gdee :=_cabb .BodyPr ,_cabb .LstStyle ;_cea :=_eab (_edfb ,_fcfe );_cfd :=_feddg (_bgc ,_gdee );return _cea ,_cfd ;};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func _bfgde (_ebaca *_gd .CT_TextCharacterProperties ,_dada *_gd .CT_TableStyleTextStyle )*_gd .CT_TextCharacterProperties {_ebca :=_gd .NewCT_TextCharacterProperties ();if _ebaca !=nil {*_ebca =*_ebaca ;};if _dada ==nil {return _ebca ;};if _ebca .BAttr ==nil &&_dada .BAttr !=_gd .ST_OnOffStyleTypeUnset {_dagg :=_dada .BAttr ==_gd .ST_OnOffStyleTypeOn ;_ebca .BAttr =&_dagg ;};if _ebca .IAttr ==nil &&_dada .IAttr !=_gd .ST_OnOffStyleTypeUnset {_fcce :=_dada .IAttr ==_gd .ST_OnOffStyleTypeOn ;_ebca .IAttr =&_fcce ;};if _ebca .NoFill ==nil &&_ebca .SolidFill ==nil {_ebca .SolidFill =_gd .NewCT_SolidColorFillProperties ();_ebca .SolidFill .ScrgbClr =_dada .ScrgbClr ;_ebca .SolidFill .SrgbClr =_dada .SrgbClr ;_ebca .SolidFill .HslClr =_dada .HslClr ;_ebca .SolidFill .SysClr =_dada .SysClr ;_ebca .SolidFill .SchemeClr =_dada .SchemeClr ;_ebca .SolidFill .PrstClr =_dada .PrstClr ;};if _feaf :=_dada .Font ;_feaf !=nil &&_ebca .Latin ==nil &&_ebca .Ea ==nil &&_ebca .Cs ==nil {_ebca .Latin =_feaf .Latin ;_ebca .Ea =_feaf .Ea ;_ebca .Cs =_feaf .Cs ;};return _ebca ;};func (_ggdc *textboxContext )newLine (){if _ggdc ._cgef ==nil {_ggdc .newParagraph ();};_bcea :=_ggdc ._cgef ._fgfb +_ggdc ._cgef ._bded ;_dggg :=&line {};_dggg ._bbcd =_ggdc ._cgef ._eafc ;if len (_ggdc ._cgef ._fffe )==0{_dggg ._bbcd +=_ggdc ._cgef ._cagb ;};_dggg ._bcca =_ggdc ._cgef ._bed ;_dggg ._gbfa =_dggg ._bbcd ;_dggg ._eae =_bcea ;_ggdc ._cgef ._fffe =append (_ggdc ._cgef ._fffe ,_dggg );_ggdc ._bfcd =_dggg ;};func _agae (_cgde ,_fbbe *_gd .CT_TableStyleCellStyle )*_gd .CT_TableStyleCellStyle {_dgca :=_gd .NewCT_TableStyleCellStyle ();if _cgde !=nil {*_dgca =*_cgde ;};if _fbbe ==nil {return _dgca ;};if _dgca .TcBdr ==nil {_dgca .TcBdr =_fbbe .TcBdr ;};if _dgca .Fill ==nil {_dgca .Fill =_fbbe .Fill ;};if _dgca .FillRef ==nil {_dgca .FillRef =_fbbe .FillRef ;};return _dgca ;};type background struct{_fea _efg .Color ;_bdeb float64 ;_bbaeb *_gd .CT_BlipFillProperties ;};func (_ecab *convertContext )renderPageWithDrawableToGoImage (_gegg _efg .Drawable )(_ca .Image ,error ){_accee :=_ef .MakeTempCreator (_ecab ._bcfe ,_ecab ._fabbd );_accee .NewPage ();_accee .Draw (_gegg );_abge ,_ggcb :=_ef .GetPageFromCreator (_accee );if _ggcb !=nil {return nil ,_ggcb ;};return _f .NewImageDevice ().Render (_abge );};type textboxContext struct{_eacd *convertContext ;_fge float64 ;_acfg float64 ;_gbd *_efg .Creator ;_bde float64 ;_gcg []*paragraph ;_cgef *paragraph ;_bfcd *line ;_dbd *word ;_aeaa bool ;};func _aegf (_abag string )[]*symbol {_fece :=[]*symbol {};for _ ,_cca :=range _abag {_fece =append (_fece ,&symbol {_egd :string (_cca )});};return _fece ;};func (_aee *convertContext )addCellToTable (_acaf *_efg .Table ,_ceff *_gd .CT_TableCell ,_bcdg *_gd .CT_TablePartStyle ,_agc float64 ,_egce ,_gdga ,_affb ,_fcgb bool )float64 {var _gdca *_efg .TableCell ;_ade :=1;if _ceff .GridSpanAttr !=nil {_ade =int (*_ceff .GridSpanAttr );};_gdca =_acaf .MultiColCell (_ade );_bbbg :=_ceff .TcPr ;var _fgbc *_gd .CT_TableStyleTextStyle ;if _bcdg !=nil {_bbbg =_efafc (_bbbg ,_bcdg .TcStyle ,_egce ,_gdga ,_affb ,_fcgb );_fgbc =_bcdg .TcTxStyle ;};_dde :=_gg ;_aec :=_efg .CellVerticalAlignmentMiddle ;if _bbbg !=nil {if _ddge :=_bbbg .LnL ;_ddge !=nil {_ccb ,_eefg ,_egfe :=_aee .getBorderStyle (_ddge );_gdca .SetBorder (_efg .CellBorderSideLeft ,_ccb ,_egfe );if _eefg !=nil &&*_eefg !=nil {_gdca .SetSideBorderColor (_efg .CellBorderSideLeft ,*_eefg );};};if _adef :=_bbbg .LnT ;_adef !=nil {_bfbe ,_aaec ,_bbae :=_aee .getBorderStyle (_adef );_gdca .SetBorder (_efg .CellBorderSideTop ,_bfbe ,_bbae );if _aaec !=nil &&*_aaec !=nil {_gdca .SetSideBorderColor (_efg .CellBorderSideTop ,*_aaec );};};if _dgga :=_bbbg .LnR ;_dgga !=nil {_fbaaf ,_cbgb ,_cgac :=_aee .getBorderStyle (_dgga );_gdca .SetBorder (_efg .CellBorderSideRight ,_fbaaf ,_cgac );if _cbgb !=nil &&*_cbgb !=nil {_gdca .SetSideBorderColor (_efg .CellBorderSideRight ,*_cbgb );};};if _fbcb :=_bbbg .LnB ;_fbcb !=nil {_bce ,_ddd ,_aeaea :=_aee .getBorderStyle (_fbcb );_gdca .SetBorder (_efg .CellBorderSideBottom ,_bce ,_aeaea );if _ddd !=nil &&*_ddd !=nil {_gdca .SetSideBorderColor (_efg .CellBorderSideBottom ,*_ddd );};};if _agcd :=_bbbg .MarLAttr ;_agcd !=nil {_dde =float64 (_ef .FromSTCoordinate32 (*_agcd ));};switch _bbbg .AnchorAttr {case _gd .ST_TextAnchoringTypeT :_aec =_efg .CellVerticalAlignmentTop ;case _gd .ST_TextAnchoringTypeB :_aec =_efg .CellVerticalAlignmentBottom ;};if _bbbg .NoFill ==nil {if _ggc :=_bbbg .SolidFill ;_ggc !=nil {_ebac ,_ :=_aee .getColorFromSolidFill (_ggc );_gdca .SetBackgroundColor (_ebac );};};};_gdca .SetVerticalAlignment (_aec );_gdca .SetIndent (_dde );var _cdbf float64 ;if _cfag :=_ceff .TxBody ;_cfag !=nil {_ecc :=_aee .makePdfDivisionFromTxBody (_cfag ,_agc ,_cdbf ,_fgbc );_cdbf =_ecc .Height ();_gdca .SetContent (_ecc );};return _cdbf ;};func _affg (_aaf ,_gbbf *_gd .CT_TextParagraphProperties )*_gd .CT_TextParagraphProperties {_cccd :=_gd .NewCT_TextParagraphProperties ();if _aaf !=nil {*_cccd =*_aaf ;};if _gbbf ==nil {return _cccd ;};if _cccd .MarLAttr ==nil {_cccd .MarLAttr =_gbbf .MarLAttr ;};if _cccd .MarRAttr ==nil {_cccd .MarRAttr =_gbbf .MarRAttr ;};if _cccd .LvlAttr ==nil {_cccd .LvlAttr =_gbbf .LvlAttr ;};if _cccd .IndentAttr ==nil {_cccd .IndentAttr =_gbbf .IndentAttr ;};if _cccd .AlgnAttr ==_gd .ST_TextAlignTypeUnset {_cccd .AlgnAttr =_gbbf .AlgnAttr ;};if _cccd .DefTabSzAttr ==nil {_cccd .DefTabSzAttr =_gbbf .DefTabSzAttr ;};if _cccd .RtlAttr ==nil {_cccd .RtlAttr =_gbbf .RtlAttr ;};if _cccd .EaLnBrkAttr ==nil {_cccd .EaLnBrkAttr =_gbbf .EaLnBrkAttr ;};if _cccd .FontAlgnAttr ==_gd .ST_TextFontAlignTypeUnset {_cccd .FontAlgnAttr =_gbbf .FontAlgnAttr ;};if _cccd .LatinLnBrkAttr ==nil {_cccd .LatinLnBrkAttr =_gbbf .LatinLnBrkAttr ;};if _cccd .HangingPunctAttr ==nil {_cccd .HangingPunctAttr =_gbbf .HangingPunctAttr ;};if _cccd .LnSpc ==nil {_cccd .LnSpc =_gbbf .LnSpc ;};if _cccd .SpcBef ==nil {_cccd .SpcBef =_gbbf .SpcBef ;};if _cccd .SpcAft ==nil {_cccd .SpcAft =_gbbf .SpcAft ;};if _cccd .BuClrTx ==nil {_cccd .BuClrTx =_gbbf .BuClrTx ;};if _cccd .BuClr ==nil {_cccd .BuClr =_gbbf .BuClr ;};if _cccd .BuSzTx ==nil {_cccd .BuSzTx =_gbbf .BuSzTx ;};if _cccd .BuSzPct ==nil {_cccd .BuSzPct =_gbbf .BuSzPct ;};if _cccd .BuSzPts ==nil {_cccd .BuSzPts =_gbbf .BuSzPts ;};if _cccd .BuFontTx ==nil {_cccd .BuFontTx =_gbbf .BuFontTx ;};if _cccd .BuFont ==nil {_cccd .BuFont =_gbbf .BuFont ;};if _cccd .BuNone ==nil {_cccd .BuNone =_gbbf .BuNone ;};if _cccd .BuAutoNum ==nil {_cccd .BuAutoNum =_gbbf .BuAutoNum ;};if _cccd .BuChar ==nil {_cccd .BuChar =_gbbf .BuChar ;};if _cccd .BuBlip ==nil {_cccd .BuBlip =_gbbf .BuBlip ;};if _cccd .TabLst ==nil {_cccd .TabLst =_gbbf .TabLst ;};if _cccd .ExtLst ==nil {_cccd .ExtLst =_gbbf .ExtLst ;};_cccd .DefRPr =_eca (_cccd .DefRPr ,_gbbf .DefRPr );return _cccd ;};func (_fcca *convertContext )makePdfBlockFromTable (_afcf *_gd .Tbl ,_acbd float64 )*_efg .Table {_ccga :=_afcf .TblGrid ;if _ccga ==nil {return nil ;};_cfa :=len (_ccga .GridCol );if _cfa ==0{return nil ;};_gfbf :=[]float64 {};_bbab :=0.0;for _ ,_bfd :=range _ccga .GridCol {_fgb :=_d .FromEMU (_ef .FromSTCoordinate (_bfd .WAttr ));_gfbf =append (_gfbf ,_fgb );_bbab +=_fgb ;};_fcfc :=[]float64 {};for _ggd :=0;_ggd < _cfa ;_ggd ++{_fcfc =append (_fcfc ,_gfbf [_ggd ]/_bbab );};_fcb :=_fcca ._ebe .NewTable (_cfa );_fcb .SetColumnWidths (_fcfc ...);_aegg :=_afcf .TblPr ;var _fbb *_gd .CT_TableStyle ;if _bbe :=_aegg .Choice ;_bbe !=nil {if _bbe .TableStyle !=nil {_fbb =_bbe .TableStyle ;}else if _bbe .TableStyleId !=nil {_fbb =_fcca ._abed .GetTableStyleById (*_bbe .TableStyleId );};};_ddfg :=_gd .NewCT_TablePartStyle ();_ddfg .TcStyle =_gd .NewCT_TableStyleCellStyle ();_ddfg .TcTxStyle =_gd .NewCT_TableStyleTextStyle ();if _fbb !=nil {if _fbb .WholeTbl !=nil {*_ddfg =*_fbb .WholeTbl ;};if _fbb .TblBg !=nil {if _ddfg .TcStyle .Fill ==nil {_ddfg .TcStyle .Fill =_fbb .TblBg .Fill ;};};};if _ddfg .TcStyle .Fill ==nil {_ddfg .TcStyle .Fill =_gd .NewCT_FillProperties ();_ddfg .TcStyle .Fill .NoFill =_aegg .NoFill ;_ddfg .TcStyle .Fill .SolidFill =_aegg .SolidFill ;};_ddfd :=len (_afcf .Tr );for _dade ,_fdba :=range _afcf .Tr {_cgcc :=_dade ==0;_gaag :=_dade ==_ddfd -1;_cge :=_dade %2==0;_effc :=len (_fdba .Tc );var _cbgd *_gd .CT_TablePartStyle ;if _cgcc {_cbgd =_fbb .FirstRow ;}else if _cge {_cbgd =_fbb .Band2H ;}else {_cbgd =_fbb .Band1H ;};var _gcdf float64 ;for _bcfg ,_egae :=range _fdba .Tc {_adff :=_bcfg ==0;_cff :=_bcfg ==_effc -1;_ccae :=_bcfg %2==0;var _fff *_gd .CT_TablePartStyle ;if _adff {_fff =_fbb .FirstCol ;}else if _ccae {_fff =_fbb .Band2V ;}else {_fff =_fbb .Band1V ;};_eef :=_fadc (_fadc (_fff ,_cbgd ),_ddfg );_gdfea :=_fcca .addCellToTable (_fcb ,_egae ,_eef ,_acbd *_fcfc [_bcfg ],_cgcc ,_gaag ,_adff ,_cff );if _gdfea > _gcdf {_gcdf =_gdfea ;};};_eag :=_d .FromEMU (_ef .FromSTCoordinate (_fdba .HAttr ));if _eag < _gcdf {_eag =_gcdf ;};if _eag < _fbbb (4){_eag =_fbbb (4);};_fcb .SetRowHeight (_fcb .CurRow (),_eag );};return _fcb ;};func (_bdaf *textboxContext )assignPropsToCurrentParagraph (_gdfg *_gd .CT_TextParagraphProperties ){_dgaa :=12.4;if _gdfg ==nil {_bdaf ._cgef ._fcaaa =_dgaa ;return ;};if _dcbb :=_gdfg .DefRPr ;_dcbb !=nil {_gccg :=_dcbb .SzAttr ;if _gccg !=nil {_gfaf :=float64 (*_gccg )/1200;if _dgaa <=_gfaf {_dgaa =_gfaf ;};};};if _efbd :=_gdfg .MarLAttr ;_efbd !=nil {_bdaf ._cgef ._eafc =_d .FromEMU (int64 (*_efbd ));};_bdaf ._cgef ._bed =_bdaf ._fge ;if _babd :=_gdfg .MarRAttr ;_babd !=nil {_bdaf ._cgef ._bed -=_d .FromEMU (int64 (*_babd ));};if _caab :=_gdfg .IndentAttr ;_caab !=nil {_bdaf ._cgef ._cagb =_d .FromEMU (int64 (*_caab ));};if _acfgb :=_gdfg .LatinLnBrkAttr ;_acfgb !=nil {_bdaf ._cgef ._fcd =*_acfgb ;};if _dcc :=_gdfg .LnSpc ;_dcc !=nil {if _abaca :=_dcc .SpcPct ;_abaca !=nil {if _efbc :=_abaca .ValAttr .ST_TextSpacingPercent ;_efbc !=nil {_dgaa =float64 (*_efbc )/5000;};};};var _fgba float64 ;if _dgd :=_gdfg .SpcBef ;_dgd !=nil {if _degb :=_dgd .SpcPts ;_degb !=nil {_fgba =float64 (_degb .ValAttr )/100;};};_ebdd :=_bdaf ._gcg ;if len (_ebdd )> 0{_fgba -=_ebdd [len (_ebdd )-1]._aeef ;if _fgba < 0{_fgba =0;};};_bdaf ._cgef ._bded =_fgba ;if _aagb :=_gdfg .SpcAft ;_aagb !=nil {if _ccbc :=_aagb .SpcPts ;_ccbc !=nil {_bdaf ._cgef ._aeef =float64 (_ccbc .ValAttr )/100;};};_bdaf ._cgef ._fcaaa =_dgaa ;_bdaf ._cgef ._eecc =_gdfg .AlgnAttr ;};func (_fba *convertContext )makePdfDivisionFromTxBody (_fcfg *_gd .CT_TextBody ,_gfd ,_gdfe float64 ,_gfcg *_gd .CT_TableStyleTextStyle )*_efg .Division {_ffa :=_fba ._ebe .NewDivision ();_gad :=_fba ._gef ;_ceef :=_gd .ST_TextAnchoringTypeT ;if _dgg :=_fcfg .BodyPr ;_dgg !=nil {if _gfa :=_dgg .AnchorAttr ;_gfa !=_gd .ST_TextAnchoringTypeUnset {_ceef =_dgg .AnchorAttr ;};};if _fdb :=_fcfg .LstStyle ;_fdb !=nil {var _bgdd *_gd .CT_TextParagraphProperties ;if _fdb .Lvl1pPr !=nil {_bgdd =_fdb .Lvl1pPr ;}else {_bgdd =_fba ._dab [0];};_gad =_affg (_bgdd ,_affg (_fdb .DefPPr ,_gad ));};for _ ,_dc :=range _fcfg .P {if _dc !=nil {_bdbc :=_fba ._ebe .NewStyledParagraph ();_abb :=_affg (_dc .PPr ,_gad );_gbcc :=_eca (_dc .EndParaRPr ,_abb .DefRPr );if len (_dc .EG_TextRun )==0{_bdbc .Append ("\u000a");_ffa .Add (_bdbc );continue ;};for _ ,_cda :=range _dc .EG_TextRun {if _cef :=_cda .Br ;_cef !=nil {_bdbc .Append ("\u000a");}else if _fec :=_cda .R ;_fec !=nil {_dgb :=_bfgde (_fec .RPr ,_gfcg );_dgb =_eca (_dgb ,_gbcc );var _fbac _efg .Color ;if _dgb .SolidFill !=nil {_fbac ,_ =_fba .getColorFromSolidFill (_dgb .SolidFill );}else {_fbac =_efg .ColorBlack ;};_ffg ,_gca ,_fdgf ,_ :=_fba .makeStyleFromRPr (_dgb );_ffg .Color =_fbac ;if _gca {_ffg .TextRise =0.5;}else if _fdgf {_ffg .TextRise =-0.5;};_fddb :=_fec .T ;if _dgb .CapAttr ==_gd .ST_TextCapsTypeAll {for _ ,_abc :=range _fddb {_abc =[]rune (_bf .ToUpper (string (_abc )))[0];};};_gcad :=_bdbc .Append (_fddb );_gcad .Style =*_ffg ;};};_ =_ceef ;_ffa .Add (_bdbc );};};return _ffa ;};func (_eed *convertContext )getShapes (_cec *_fd .CT_Shape )[]_efg .Drawable {_ccf :=[]_efg .Drawable {};_dffe :=_cec .SpPr ;if _dffe ==nil {return _ccf ;};var _aeg bool ;if _fdg :=_cec .UseBgFillAttr ;_fdg !=nil {_aeg =*_fdg ;};_gaeg ,_cgc ,_dge ,_fcc ,_cee ,_edd ,_acb :=_eed .getShapesFromSpPr (_dffe ,_cec .Style ,_aeg );_ccf =append (_ccf ,_gaeg ...);if _eec :=_cec .TxBody ;_eec !=nil {_def ,_gcdg ,_gbb ,_bff ,_bgd :=_eed .getPhData (_cec );if _def !=nil &&!_acb {_cgc ,_dge ,_fcc ,_cee =_ef .GetDataFromXfrm (_def );};_gdd ,_aag :=_eed .makePdfBlockFromTxBody (_eec ,_gcdg ,_gbb ,_fcc ,_cee ,_edd ,_bff ,_bgd );if _aag !=nil {_bfc .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074\u0020\u006d\u0061\u006b\u0065\u0020\u0050\u0044\u0046\u0020\u0062\u006c\u006f\u0063\u006b\u0020\u0066\u0072o\u006d\u0020\u0074\u0065\u0078t\u0062\u006fx\u003a\u0020\u0025\u0073",_aag );}else if _gdd !=nil {_gdd .SetPos (_cgc ,_dge );_ccf =append (_ccf ,_gdd );};};return _ccf ;};func (_gbad *textboxContext )newWord (){_gbad ._dbd =&word {_gdff :true ,_edcb :_gbad ._bfcd ._gbfa }}; |