2021-09-22 16:41:01 +00:00
|
|
|
//
|
|
|
|
// 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/
|
|
|
|
|
2023-04-15 17:27:31 +00:00
|
|
|
package convert ;import (_dc "bytes";_ef "errors";_ec "github.com/unidoc/unioffice/common/logger";_ea "github.com/unidoc/unioffice/common/tempstorage";_gf "github.com/unidoc/unioffice/internal/convertutils";_be "github.com/unidoc/unioffice/measurement";_a "github.com/unidoc/unioffice/presentation";_eg "github.com/unidoc/unioffice/schema/soo/dml";_aa "github.com/unidoc/unioffice/schema/soo/dml/chart";_ad "github.com/unidoc/unioffice/schema/soo/pml";_db "github.com/unidoc/unipdf/v3/contentstream/draw";_ae "github.com/unidoc/unipdf/v3/creator";_f "github.com/unidoc/unipdf/v3/model";_cd "github.com/unidoc/unipdf/v3/render";_g "image";_d "image/color";_c "image/draw";_b "strconv";_ee "strings";);func (_acbf *textboxContext )newLine (){if _acbf ._cfg ==nil {_acbf .newParagraph ();};_dgg :=_acbf ._cfg ._edec +_acbf ._cfg ._ffdf ;_dac :=&line {};_dac ._beab =_acbf ._cfg ._gbfe ;if len (_acbf ._cfg ._egdc )==0{_dac ._beab +=_acbf ._cfg ._bfea ;};_dac ._ffb =_acbf ._cfg ._gdda ;_dac ._caf =_dac ._beab ;_dac ._dgae =_dgg ;_acbf ._cfg ._egdc =append (_acbf ._cfg ._egdc ,_dac );_acbf ._cfbb =_dac ;};type word struct{_gfa []*symbol ;_eeg float64 ;_facb float64 ;_aaf bool ;};func (_gaff *textboxContext )drawParagraphs (){_gaff ._febfb .NewPage ();for _ ,_fce :=range _gaff ._ageb {for _ ,_eeff :=range _fce ._egdc {for _ ,_bfdc :=range _eeff ._cgc {for _ ,_dabcg :=range _bfdc ._gfa {_ceea :=_gaff ._febfb .NewStyledParagraph ();if _dabcg ._efg {_dabcg ._daaf =0;}else if _dabcg ._gcc {_dabcg ._daaf =1.2*_eeff ._ggde -_dabcg ._befb ;};_fabc :=_bfdc ._eeg +_dabcg ._ffe ;_baca :=_fce ._gagg +_eeff ._dgae +_dabcg ._daaf ;_ceea .SetPos (_fabc ,_baca );_dddga :=_ceea .Append (_dabcg ._cbfe );if _dabcg ._cfaf !=nil {_dddga .Style =*_dabcg ._cfaf ;};_gaff ._febfb .Draw (_ceea );if _dabcg ._egb {_ddad :=_baca +_dabcg ._befb +2;_gf .DrawLine (_gaff ._febfb ,_fabc ,_ddad ,_fabc +_dabcg ._feff ,_ddad ,1,_dabcg ._cfaf .Color );};};};};};};func _dcgc (_eaea ,_dabe *_eg .CT_TableStyleCellStyle )*_eg .CT_TableStyleCellStyle {_fegc :=_eg .NewCT_TableStyleCellStyle ();if _eaea !=nil {*_fegc =*_eaea ;};if _dabe ==nil {return _fegc ;};if _fegc .TcBdr ==nil {_fegc .TcBdr =_dabe .TcBdr ;};if _fegc .Fill ==nil {_fegc .Fill =_dabe .Fill ;};if _fegc .FillRef ==nil {_fegc .FillRef =_dabe .FillRef ;};return _fegc ;};type convertContext struct{_gacd *_ae .Creator ;_aggac *_gf .Rectangle ;_eff *_a .Presentation ;_ddcd *_a .Slide ;_bffg *_ad .SldMaster ;_efec *_ad .SldLayout ;_febg float64 ;_gbag float64 ;_ggba []_ae .Drawable ;_ceff *background ;_aeca *_eg .CT_TextParagraphProperties ;_fgf *_eg .CT_TextCharacterProperties ;_fdg *_eg .CT_TextParagraphProperties ;_eabc *_eg .CT_TextCharacterProperties ;_deg *_eg .CT_TextParagraphProperties ;_cee *_eg .CT_TextCharacterProperties ;_bdga []*_eg .CT_TextParagraphProperties ;_acf []*_eg .CT_TextParagraphProperties ;_bcd []*_eg .CT_TextParagraphProperties ;_febe *_eg .Theme ;_ccg *_eg .CT_ColorMappingOverride ;};func _ddccg (_eaegf *bool )bool {return _eaegf !=nil &&*_eaegf };func (_cdc *textboxContext )addCurrentParagraph (){_cdc ._cfd =_cdc ._cfg ._gagg +_cdc ._cfg ._ffdf +_cdc ._cfg ._edec +_cdc ._cfg ._cge ;_cdc ._ageb =append (_cdc ._ageb ,_cdc ._cfg );_cdc .alignParagraph ();};func _gfdf (_faa ,_ddea *_eg .CT_TextBody )(*_eg .CT_TextBodyProperties ,*_eg .CT_TextListStyle ){if _faa ==nil &&_ddea ==nil {return nil ,nil ;};if _faa ==nil {return _ddea .BodyPr ,_ddea .LstStyle ;};if _ddea ==nil {return _faa .BodyPr ,_faa .LstStyle ;};_fcgb ,_dcde :=_faa .BodyPr ,_faa .LstStyle ;_dbd ,_fega :=_ddea .BodyPr ,_ddea .LstStyle ;_bccd :=_gbfd (_fcgb ,_dbd );_adga :=_bcb (_dcde ,_fega );return _bccd ,_adga ;};func _dee (_bdfa *_ad .CT_Shape )(_ad .ST_PlaceholderType ,*uint32 ){if _fdfb :=_bdfa .NvSpPr ;_fdfb !=nil {if _degf :=_fdfb .NvPr ;_degf !=nil {if _bde :=_degf .Ph ;_bde !=nil {return _bde .TypeAttr ,_bde .IdxAttr ;};};};return _ad .ST_PlaceholderTypeUnset ,nil ;};func _abce (_dddg int ,_cfcf bool )string {_defe :=(_dddg -1)/26+1;_ffde :=byte ((_dddg -1)%26);if _cfcf {_ffde +=byte (65);}else {_ffde +=byte (97);};_dfcc :=_dc
|
2022-06-27 19:44:23 +00:00
|
|
|
|
|
|
|
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
|
2023-04-15 17:27:31 +00:00
|
|
|
type FontStyle =_gf .FontStyle ;func (_gffb *textboxContext )alignParagraph (){_afcb :=_gffb ._cfg ;if _afcb ._gafd ==_eg .ST_TextAlignTypeL {return ;};_dabcb :=len (_afcb ._egdc )-1;for _ddac ,_cefb :=range _afcb ._egdc {_gfda :=true ;_ddcbd :=len (_cefb ._cgc );_fcbb :=0.0;for _cdgd :=len (_cefb ._cgc )-1;_cdgd >=0;_cdgd --{_cfbg :=_cefb ._cgc [_cdgd ];if _gfda &&_cfbg ._aaf {_ddcbd =_cdgd ;}else {_gfda =false ;for _ ,_dcfe :=range _cfbg ._gfa {_fcbb +=_dcfe ._feff ;};};};_cefb ._cgc =_cefb ._cgc [:_ddcbd ];_feggg :=_cefb ._ffb -_cefb ._beab -_fcbb ;switch _afcb ._gafd {case _eg .ST_TextAlignTypeR :_cefb .moveRight (_feggg );case _eg .ST_TextAlignTypeCtr :_cefb .moveRight (_feggg /2);case _eg .ST_TextAlignTypeJust :if _ddac !=_dabcb {_becc :=[]*word {};for _ ,_dfgd :=range _cefb ._cgc {if _dfgd ._aaf {_becc =append (_becc ,_dfgd );};};_ggdb :=_feggg /float64 (len (_becc ));for _ ,_fdfc :=range _becc {_fdfc ._facb +=_ggdb ;};var _gacf *word ;for _ ,_dggg :=range _cefb ._cgc {if _gacf !=nil {_dggg ._eeg =_gacf ._eeg +_gacf ._facb ;};_gacf =_dggg ;};};};};};func (_feea *textboxContext )assignPropsToCurrentParagraph (_dccca *_eg .CT_TextParagraphProperties ){_gcbb :=12.4;if _dccca ==nil {_feea ._cfg ._ccga =_gcbb ;return ;};if _aeba :=_dccca .DefRPr ;_aeba !=nil {_fbbd :=_aeba .SzAttr ;if _fbbd !=nil {_gcgc :=float64 (*_fbbd )/1200;if _gcbb <=_gcgc {_gcbb =_gcgc ;};};};if _gcad :=_dccca .MarLAttr ;_gcad !=nil {_feea ._cfg ._gbfe =_be .FromEMU (int64 (*_gcad ));};_feea ._cfg ._gdda =_feea ._eedg ;if _bda :=_dccca .MarRAttr ;_bda !=nil {_feea ._cfg ._gdda -=_be .FromEMU (int64 (*_bda ));};if _ccdd :=_dccca .IndentAttr ;_ccdd !=nil {_feea ._cfg ._bfea =_be .FromEMU (int64 (*_ccdd ));};if _cbcd :=_dccca .LatinLnBrkAttr ;_cbcd !=nil {_feea ._cfg ._caec =*_cbcd ;};if _bdc :=_dccca .LnSpc ;_bdc !=nil {if _ddde :=_bdc .SpcPct ;_ddde !=nil {if _ggf :=_ddde .ValAttr .ST_TextSpacingPercent ;_ggf !=nil {_gcbb =float64 (*_ggf )/5000;};};};var _ccee float64 ;if _ggcd :=_dccca .SpcBef ;_ggcd !=nil {if _ebd :=_ggcd .SpcPts ;_ebd !=nil {_ccee =float64 (_ebd .ValAttr )/100;};};_bbeb :=_feea ._ageb ;if len (_bbeb )> 0{_ccee -=_bbeb [len (_bbeb )-1]._cge ;if _ccee < 0{_ccee =0;};};_feea ._cfg ._ffdf =_ccee ;if _aaaf :=_dccca .SpcAft ;_aaaf !=nil {if _fcdc :=_aaaf .SpcPts ;_fcdc !=nil {_feea ._cfg ._cge =float64 (_fcdc .ValAttr )/100;};};_feea ._cfg ._ccga =_gcbb ;_feea ._cfg ._gafd =_dccca .AlgnAttr ;};func _fggf (_dfdg ,_efaae *_eg .CT_TablePartStyle )*_eg .CT_TablePartStyle {_efda :=_eg .NewCT_TablePartStyle ();if _dfdg !=nil {*_efda =*_dfdg ;};if _efaae ==nil {return _efda ;};if _efda .TcTxStyle ==nil {_efda .TcTxStyle =_efaae .TcTxStyle ;}else {_efda .TcTxStyle =_cgfd (_efda .TcTxStyle ,_efaae .TcTxStyle );};if _efda .TcStyle ==nil {_efda .TcStyle =_efaae .TcStyle ;}else {_efda .TcStyle =_dcgc (_efda .TcStyle ,_efaae .TcStyle );};return _efda ;};func _gbfd (_dfa ,_eebeg *_eg .CT_TextBodyProperties )*_eg .CT_TextBodyProperties {_cbb :=_eg .NewCT_TextBodyProperties ();if _dfa !=nil {*_cbb =*_dfa ;};if _eebeg ==nil {return _cbb ;};if _cbb .RotAttr ==nil {_cbb .RotAttr =_eebeg .RotAttr ;};if _cbb .SpcFirstLastParaAttr ==nil {_cbb .SpcFirstLastParaAttr =_eebeg .SpcFirstLastParaAttr ;};if _cbb .VertOverflowAttr ==_eg .ST_TextVertOverflowTypeUnset {_cbb .VertOverflowAttr =_eebeg .VertOverflowAttr ;};if _cbb .HorzOverflowAttr ==_eg .ST_TextHorzOverflowTypeUnset {_cbb .HorzOverflowAttr =_eebeg .HorzOverflowAttr ;};if _cbb .VertAttr ==_eg .ST_TextVerticalTypeUnset {_cbb .VertAttr =_eebeg .VertAttr ;};if _cbb .WrapAttr ==_eg .ST_TextWrappingTypeUnset {_cbb .WrapAttr =_eebeg .WrapAttr ;};if _cbb .LInsAttr ==nil {_cbb .LInsAttr =_eebeg .LInsAttr ;};if _cbb .TInsAttr ==nil {_cbb .TInsAttr =_eebeg .TInsAttr ;};if _cbb .RInsAttr ==nil {_cbb .RInsAttr =_eebeg .RInsAttr ;};if _cbb .BInsAttr ==nil {_cbb .BInsAttr =_eebeg .BInsAttr ;};if _cbb .NumColAttr ==nil {_cbb .NumColAttr =_eebeg .NumColAttr ;};if _cbb .SpcColAttr ==nil {_cbb .SpcColAttr =_eebeg .SpcColAttr ;};if _cbb .RtlColAttr ==nil {_cbb .RtlColAttr =_eebeg .RtlColAttr ;};if _cbb .AnchorAttr ==_eg
|
2023-03-01 18:42:44 +00:00
|
|
|
|
|
|
|
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
|
2023-04-15 17:27:31 +00:00
|
|
|
func RegisterFont (name string ,style FontStyle ,font *_f .PdfFont ){_gf .RegisterFont (name ,style ,font );};type line struct{_dgae float64 ;_beab float64 ;_ffb float64 ;_caf float64 ;_ggde float64 ;_cgc []*word ;};type symbol struct{_cbfe string ;_ffe float64 ;_fbfc float64 ;_befb float64 ;_daaf float64 ;_feff float64 ;_cfaf *_ae .TextStyle ;_cbacd string ;_efg bool ;_gcc bool ;_egb bool ;};func (_bdgg *convertContext )getStyleColors (_eegg *_eg .CT_ShapeStyle )(_ae .Color ,_ae .Color ,_ae .Color ){var _gfdad ,_acdg ,_edgbf _ae .Color ;if _cfbe :=_eegg .LnRef ;_cfbe !=nil {_acdg =_bdgg .getColorFromMatrixReference (_cfbe );};if _agb :=_eegg .FillRef ;_agb !=nil {_edgbf =_bdgg .getColorFromMatrixReference (_agb );};if _bbbf :=_eegg .FontRef ;_bbbf !=nil {_gfdad =_bdgg .getColorFromFontReference (_bbbf );};return _gfdad ,_edgbf ,_acdg ;};func _cgfd (_ccgd ,_fabf *_eg .CT_TableStyleTextStyle )*_eg .CT_TableStyleTextStyle {_bgdf :=_eg .NewCT_TableStyleTextStyle ();if _ccgd !=nil {*_bgdf =*_ccgd ;};if _fabf ==nil {return _bgdf ;};if _bgdf .BAttr ==_eg .ST_OnOffStyleTypeUnset {_bgdf .BAttr =_fabf .BAttr ;};if _bgdf .IAttr ==_eg .ST_OnOffStyleTypeUnset {_bgdf .IAttr =_fabf .IAttr ;};if _bgdf .Font ==nil {_bgdf .Font =_fabf .Font ;};if _bgdf .FontRef ==nil {_bgdf .FontRef =_fabf .FontRef ;};if _bgdf .ScrgbClr ==nil {_bgdf .ScrgbClr =_fabf .ScrgbClr ;};if _bgdf .SrgbClr ==nil {_bgdf .SrgbClr =_fabf .SrgbClr ;};if _bgdf .HslClr ==nil {_bgdf .HslClr =_fabf .HslClr ;};if _bgdf .SysClr ==nil {_bgdf .SysClr =_fabf .SysClr ;};if _bgdf .SchemeClr ==nil {_bgdf .SchemeClr =_fabf .SchemeClr ;};if _bgdf .PrstClr ==nil {_bgdf .PrstClr =_fabf .PrstClr ;};return _bgdf ;};func (_fcdeg *convertContext )renderCurrentStateToGoImage ()(_g .Image ,error ){_adaae :=_gf .MakeTempCreator (_fcdeg ._gbag ,_fcdeg ._febg );_adaae .NewPage ();for _ ,_gdab :=range _fcdeg ._ggba {if _gdab !=nil {_adaae .MoveTo (0,0);_adaae .Draw (_gdab );};};_bccc ,_fbcg :=_gf .GetPageFromCreator (_adaae );if _fbcg !=nil {return nil ,_fbcg ;};return _cd .NewImageDevice ().Render (_bccc );};type textboxContext struct{_gdf *convertContext ;_eedg float64 ;_cfcd float64 ;_febfb *_ae .Creator ;_cfd float64 ;_ageb []*paragraph ;_cfg *paragraph ;_cfbb *line ;_dfcd *word ;_aeeg bool ;};func (_dadb *textboxContext )addTextSymbol (_gdgee *symbol ){_fgd :=_ae .New ();_cfaa :=_fgd .NewStyledParagraph ();_cfaa .SetMargins (0,0,0,0);_gcab :=_cfaa .Append (_gdgee ._cbfe );_gbacd :=0.0;if _gdgee ._cfaf !=nil {_gcab .Style =*_gdgee ._cfaf ;if _gdgee ._cfaf .CharSpacing !=0{_gbacd =_gdgee ._cfaf .CharSpacing ;};};_gdgee ._befb =_cfaa .Height ();_gdgee ._fbfc =_cfaa .Height ()*1.2;if _gdgee ._fbfc < _dadb ._cfg ._ccga {_gdgee ._fbfc =_dadb ._cfg ._ccga ;};if _gdgee ._feff ==0{_gdgee ._feff =_cfaa .Width ()+_gbacd ;};if len (_dadb ._dfcd ._gfa )> 0{_ddfb :=_dadb ._dfcd ._gfa [len (_dadb ._dfcd ._gfa )-1]._cbfe ;if _dadb ._cfg ._caec ||_gf .IsNoSpaceLanguage (_ddfb )||(_ddfb =="\u0020")!=(_gdgee ._cbfe =="\u0020"){_dadb .addCurrentWordToParagraph ();_dadb .newWord ();};};_dadb ._dfcd ._gfa =append (_dadb ._dfcd ._gfa ,_gdgee );_gdgee ._ffe =_dadb ._dfcd ._facb ;_dadb ._dfcd ._facb +=_gdgee ._feff ;if _gdgee ._cbfe !="\u0020"{_dadb ._dfcd ._aaf =false ;};};func (_aada *convertContext )makePdfDivisionFromTxBody (_cfc *_eg .CT_TextBody ,_ede ,_agc float64 ,_gfe *_eg .CT_TableStyleTextStyle )*_ae .Division {_bcgb :=_aada ._gacd .NewDivision ();_dfgb :=_aada ._aeca ;_adg :=_eg .ST_TextAnchoringTypeT ;if _gaf :=_cfc .BodyPr ;_gaf !=nil {if _abg :=_gaf .AnchorAttr ;_abg !=_eg .ST_TextAnchoringTypeUnset {_adg =_gaf .AnchorAttr ;};};if _def :=_cfc .LstStyle ;_def !=nil {var _deb *_eg .CT_TextParagraphProperties ;if _def .Lvl1pPr !=nil {_deb =_def .Lvl1pPr ;}else {_deb =_aada ._bdga [0];};_dfgb =_cbdb (_deb ,_cbdb (_def .DefPPr ,_dfgb ));};for _ ,_aef :=range _cfc .P {if _aef !=nil {_dcb :=_aada ._gacd .NewStyledParagraph ();_bddg :=_cbdb (_aef .PPr ,_dfgb );_cbaf :=_fddc (_aef .EndParaRPr ,_bddg .DefRPr );if len (_aef .EG_TextRun )==0{_dcb .Append ("\u000a");_bcgb .Add (_dcb );continue ;};for _ ,_fcd :
|
|
|
|
|
|
|
|
// ConvertToPdf converts a presentation to a PDF file. This package is beta, breaking changes can take place.
|
|
|
|
func ConvertToPdf (pr *_a .Presentation )*_ae .Creator {_af :=pr .X ().SldSz ;_gfg :=_be .FromEMU (int64 (_af .CxAttr ));_efb :=_be .FromEMU (int64 (_af .CyAttr ));_fe :=_ae .PageSize {_gfg ,_efb };_ac :=_ae .New ();_ac .SetPageSize (_fe );var _dcc *_eg .Theme ;if len (pr .Themes ())> 0{_dcc =pr .Themes ()[0];};for _ ,_de :=range pr .Slides (){if _de .X ()==nil {continue ;};_dd :=&convertContext {_gacd :_ac ,_ddcd :&_de ,_efec :_de .GetSlideLayout (),_bffg :pr .SlideMasters ()[0].X (),_eff :pr ,_febe :_dcc ,_ccg :_de .X ().ClrMapOvr ,_febg :_fe [1],_gbag :_fe [0]};_dd ._efec =_de .GetSlideLayout ();_dd .extractDefaultProperties ();_dd .makeSlide ();_dd .drawSlide ();};return _ac ;};func (_gac *convertContext )stretchImage (_aaag *_ae .Image ,_fee *_eg .CT_StretchInfoProperties ,_egdd ,_bce ,_ge ,_dbb float64 )(*_ae .Image ,float64 ,float64 ){_ggdf :=_fee .FillRect ;if _ggdf ==nil {_bdb :=_aaag .Width ()/_aaag .Height ();_ada :=_ge /_dbb ;var _ddcb ,_bcec float64 ;if _bdb > _ada {_bcec =_dbb ;_ddcb =_dbb *_bdb ;}else {_ddcb =_ge ;_bcec =_ge /_bdb ;};_aaag .Scale (_ddcb /_aaag .Width (),_bcec /_aaag .Height ());return _aaag ,_egdd ,_bce ;};var _feg ,_ecg ,_ecb ,_ebg float64 ;if _afaa :=_ggdf .LAttr ;_afaa !=nil {_ecb =_gf .FromSTPercentage (_afaa );};if _abe :=_ggdf .TAttr ;_abe !=nil {_feg =_gf .FromSTPercentage (_abe );};if _bca :=_ggdf .RAttr ;_bca !=nil {_ebg =_gf .FromSTPercentage (_bca );};if _ddeg :=_ggdf .BAttr ;_ddeg !=nil {_ecg =_gf .FromSTPercentage (_ddeg );};_fa :=_ge *(1-_ecb -_ebg );_bcef :=_dbb *(1-_feg -_ecg );_aaag .Scale (_fa /_aaag .Width (),_bcef /_aaag .Height ());return _aaag ,_egdd +_ecb *_ge ,_bce +_feg *_dbb ;};type background struct{_eabg _ae .Color ;_dce float64 ;_cdfd *_eg .CT_BlipFillProperties ;};func (_bgc *convertContext )addCellToTable (_bead *_ae .Table ,_abcbd *_eg .CT_TableCell ,_fegd *_eg .CT_TablePartStyle ,_fecd float64 ,_gbaa ,_beba ,_agf ,_feeb bool )float64 {var _befa *_ae .TableCell ;_egga :=1;if _abcbd .GridSpanAttr !=nil {_egga =int (*_abcbd .GridSpanAttr );};_befa =_bead .MultiColCell (_egga );_dcf :=_abcbd .TcPr ;var _dbc *_eg .CT_TableStyleTextStyle ;if _fegd !=nil {_dcf =_cbeb (_dcf ,_fegd .TcStyle ,_gbaa ,_beba ,_agf ,_feeb );_dbc =_fegd .TcTxStyle ;};_ddgg :=_dca ;_aecf :=_ae .CellVerticalAlignmentMiddle ;if _dcf !=nil {if _afe :=_dcf .LnL ;_afe !=nil {_ded ,_fcde ,_dfbc :=_bgc .getBorderStyle (_afe );_befa .SetBorder (_ae .CellBorderSideLeft ,_ded ,_dfbc );if _fcde !=nil &&*_fcde !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideLeft ,*_fcde );};};if _ffa :=_dcf .LnT ;_ffa !=nil {_dcbb ,_ggbb ,_eddg :=_bgc .getBorderStyle (_ffa );_befa .SetBorder (_ae .CellBorderSideTop ,_dcbb ,_eddg );if _ggbb !=nil &&*_ggbb !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideTop ,*_ggbb );};};if _dagb :=_dcf .LnR ;_dagb !=nil {_cag ,_eccec ,_dccc :=_bgc .getBorderStyle (_dagb );_befa .SetBorder (_ae .CellBorderSideRight ,_cag ,_dccc );if _eccec !=nil &&*_eccec !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideRight ,*_eccec );};};if _bagf :=_dcf .LnB ;_bagf !=nil {_ecf ,_adef ,_affa :=_bgc .getBorderStyle (_bagf );_befa .SetBorder (_ae .CellBorderSideBottom ,_ecf ,_affa );if _adef !=nil &&*_adef !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideBottom ,*_adef );};};if _dadd :=_dcf .MarLAttr ;_dadd !=nil {_ddgg =float64 (_gf .FromSTCoordinate32 (*_dadd ));};switch _dcf .AnchorAttr {case _eg .ST_TextAnchoringTypeT :_aecf =_ae .CellVerticalAlignmentTop ;case _eg .ST_TextAnchoringTypeB :_aecf =_ae .CellVerticalAlignmentBottom ;};if _dcf .NoFill ==nil {if _gag :=_dcf .SolidFill ;_gag !=nil {_dgac ,_ :=_bgc .getColorFromSolidFill (_gag );_befa .SetBackgroundColor (_dgac );};};};_befa .SetVerticalAlignment (_aecf );_befa .SetIndent (_ddgg );var _cddf float64 ;if _gcec :=_abcbd .TxBody ;_gcec !=nil {_cbcg :=_bgc .makePdfDivisionFromTxBody (_gcec ,_fecd ,_cddf ,_dbc );_cddf =_cbcg .Height ();_befa .SetContent (_cbcg );};return _cddf ;};func _ggfe (_adcg *_ad .CT_CommonSlideData ,_bgge _ad .ST_PlaceholderType ,_bceg *uint32 ,_dccb bool )(*_eg .CT_Transform2D ,*_eg .CT_TextBody ,*bool
|
|
|
|
|
|
|
|
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles.
|
|
|
|
func RegisterFontsFromDirectory (dirName string )error {return _gf .RegisterFontsFromDirectory (dirName )};func (_ccdf *textboxContext )alignVertically (_dcff _eg .ST_TextAnchoringType ){_ccdf .alignParagraphsVertically (_dcff );_ccdf .alignSymbolsVertically ();};func (_efbe *convertContext )makePdfBlockFromTxBody (_gab *_eg .CT_TextBody ,_ce *_eg .CT_TextBodyProperties ,_gfd *_eg .CT_TextListStyle ,_fgeb ,_feed float64 ,_ffc _ae .Color ,_edd ,_ddgf bool )(*_ae .Block ,error ){var _dfff *_eg .CT_TextParagraphProperties ;if _fcg :=_gab .LstStyle ;_fcg !=nil {var _gce *_eg .CT_TextParagraphProperties ;if _fcg .Lvl1pPr !=nil {_gce =_fcg .Lvl1pPr ;};_dfff =_cbdb (_gce ,_fcg .DefPPr );};var _cgd *_eg .CT_TextParagraphProperties ;if _dfff !=nil {if _edd {_cgd =_efbe ._acf [0];}else if _ddgf {_cgd =_efbe ._bcd [0];}else {_cgd =_efbe ._bdga [0];};if _gfd !=nil {_cgd =_cbdb (_cbdb (_gfd .Lvl1pPr ,_gfd .DefPPr ),_cgd );};_cgd =_cbdb (_dfff ,_cgd );}else {if _edd {_cgd =_efbe ._fdg ;}else if _ddgf {_cgd =_efbe ._deg ;}else {_cgd =_efbe ._aeca ;};};_dcbe ,_ebgd :=_febee (2.5),_febee (2.5);_gea ,_ccd :=_febee (1.3),_febee (1.3);_fab :=true ;_bcc :=_eg .ST_TextAnchoringTypeT ;if _ce !=nil {if _ged :=_ce .AnchorAttr ;_ged !=_eg .ST_TextAnchoringTypeUnset {_bcc =_ged ;};};if _cef :=_gab .BodyPr ;_cef !=nil {if _dece :=_cef .LInsAttr ;_dece !=nil {_dcbe =_be .FromEMU (_gf .FromSTCoordinate32 (*_dece ));};if _ecbb :=_cef .TInsAttr ;_ecbb !=nil {_gea =_be .FromEMU (_gf .FromSTCoordinate32 (*_ecbb ));};if _afab :=_cef .RInsAttr ;_afab !=nil {_ebgd =_be .FromEMU (_gf .FromSTCoordinate32 (*_afab ));};if _dccf :=_cef .BInsAttr ;_dccf !=nil {_ccd =_be .FromEMU (_gf .FromSTCoordinate32 (*_dccf ));};_fab =_cef .WrapAttr !=_eg .ST_TextWrappingTypeNone ;if _dae :=_cef .AnchorAttr ;_dae !=_eg .ST_TextAnchoringTypeUnset {_bcc =_cef .AnchorAttr ;};};_agga :=_gf .MakeTempCreator (_fgeb ,_feed );_agga .SetPageMargins (_dcbe ,_ebgd ,_gea ,_ccd );_gfdg :=&textboxContext {_gdf :_efbe ,_aeeg :_fab ,_eedg :_fgeb -_dcbe -_ebgd ,_cfcd :_feed -_gea -_ccd ,_febfb :_agga ,_ageb :[]*paragraph {}};_aae :=1;for _ ,_beec :=range _gab .P {if _beec !=nil {_caa :=_beec .PPr ;var _gba *prefixData ;if _caa !=nil &&_caa .BuNone ==nil {var _cefc string ;var _fec bool ;if _dfeg :=_caa .BuAutoNum ;_dfeg !=nil {var _dcad string ;if _egf :=_dfeg .StartAtAttr ;_egf !=nil {_aae =int (*_egf );};var _daa string ;switch _dfeg .TypeAttr {case _eg .ST_TextAutonumberSchemeAlphaUcParenBoth ,_eg .ST_TextAutonumberSchemeAlphaUcParenR ,_eg .ST_TextAutonumberSchemeAlphaUcPeriod :_daa =_abce (_aae ,true );case _eg .ST_TextAutonumberSchemeAlphaLcParenBoth ,_eg .ST_TextAutonumberSchemeAlphaLcParenR ,_eg .ST_TextAutonumberSchemeAlphaLcPeriod :_daa =_abce (_aae ,false );case _eg .ST_TextAutonumberSchemeRomanUcParenBoth ,_eg .ST_TextAutonumberSchemeRomanUcParenR ,_eg .ST_TextAutonumberSchemeRomanUcPeriod :_daa =_dcg (_aae ,true );case _eg .ST_TextAutonumberSchemeRomanLcParenBoth ,_eg .ST_TextAutonumberSchemeRomanLcParenR ,_eg .ST_TextAutonumberSchemeRomanLcPeriod :_daa =_dcg (_aae ,false );default:_daa =_b .Itoa (_aae );};switch _dfeg .TypeAttr {case _eg .ST_TextAutonumberSchemeAlphaLcPeriod ,_eg .ST_TextAutonumberSchemeAlphaUcPeriod ,_eg .ST_TextAutonumberSchemeArabicPeriod ,_eg .ST_TextAutonumberSchemeRomanLcPeriod ,_eg .ST_TextAutonumberSchemeRomanUcPeriod ,_eg .ST_TextAutonumberSchemeArabicDbPeriod ,_eg .ST_TextAutonumberSchemeEa1ChsPeriod ,_eg .ST_TextAutonumberSchemeEa1ChtPeriod ,_eg .ST_TextAutonumberSchemeEa1JpnChsDbPeriod ,_eg .ST_TextAutonumberSchemeEa1JpnKorPeriod ,_eg .ST_TextAutonumberSchemeThaiAlphaPeriod ,_eg .ST_TextAutonumberSchemeThaiNumPeriod ,_eg .ST_TextAutonumberSchemeHindiAlphaPeriod ,_eg .ST_TextAutonumberSchemeHindiNumPeriod ,_eg .ST_TextAutonumberSchemeHindiAlpha1Period :_dcad ="\u002e";case _eg .ST_TextAutonumberSchemeAlphaLcParenR ,_eg .ST_TextAutonumberSchemeAlphaUcParenR ,_eg .ST_TextAutonumberSchemeArabicParenR ,_eg .ST_TextAutonumberSchemeRomanLcParenR ,_eg .ST_TextAutonumberSchemeRomanUcParenR ,_eg .ST_TextAutonumberSchemeThaiAlphaParenR ,_eg .ST_TextAutonumberSc
|