mirror of
https://github.com/unidoc/unioffice.git
synced 2025-05-10 19:29:15 +08:00
47 lines
93 KiB
Go
47 lines
93 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 (_ed "bytes";_a "errors";_c "github.com/unidoc/unioffice/common/logger";_fb "github.com/unidoc/unioffice/common/tempstorage";_gg "github.com/unidoc/unioffice/document";_ecb "github.com/unidoc/unioffice/internal/convertutils";_fcd "github.com/unidoc/unioffice/internal/formatutils";_ga "github.com/unidoc/unioffice/measurement";_ba "github.com/unidoc/unioffice/schema/soo/dml";_d "github.com/unidoc/unioffice/schema/soo/dml/chart";_fc "github.com/unidoc/unioffice/schema/soo/dml/picture";_ecd "github.com/unidoc/unioffice/schema/soo/ofc/sharedTypes";_edg "github.com/unidoc/unioffice/schema/soo/wml";_ggd "github.com/unidoc/unioffice/schema/urn/schemas_microsoft_com/vml";_ggb "github.com/unidoc/unioffice/vmldrawing";_ec "github.com/unidoc/unipdf/v3/creator";_cg "github.com/unidoc/unipdf/v3/model";_e "io/ioutil";_f "regexp";_g "strconv";_ag "strings";);func _afccb (_gcff *_gg .Document ,_fffa string ,_cgab *_edg .CT_TblPr ,_adeb *_edg .CT_PPrGeneral ,_gaad *_edg .CT_RPr )(*_edg .CT_TblPr ,*_edg .CT_PPrGeneral ,*_edg .CT_RPr ){if _cgab .TblStyle !=nil {_gdecf :=_gcff .GetStyleByID (_fffa );if _dggb :=_gdecf .X ();_dggb !=nil {if _dffe :=_dggb .TblPr ;_dffe !=nil {_fgae :=_cgab .TblBorders ;var _dce *_edg .CT_TblBorders ;if _dffe .TblBorders !=nil {_dce =_dffe .TblBorders ;};if _fgae ==nil {_fgae =_dce ;}else {if _dce !=nil {if _fgae .Top ==nil {_fgae .Top =_dce .Top ;};if _fgae .Bottom ==nil {_fgae .Bottom =_dce .Bottom ;};if _fgae .Left ==nil {_fgae .Left =_dce .Left ;};if _fgae .Right ==nil {_fgae .Right =_dce .Right ;};if _fgae .InsideH ==nil {_fgae .InsideH =_dce .InsideH ;};if _fgae .InsideV ==nil {_fgae .InsideV =_dce .InsideV ;};};};_cgab .TblBorders =_fgae ;_adbc :=_cgab .Shd ;_cgce :=_dffe .Shd ;if _adbc ==nil {_adbc =_cgce ;}else {if _cgce !=nil &&_adbc .FillAttr ==nil {_adbc .FillAttr =_cgce .FillAttr ;};};_cgab .Shd =_adbc ;_gegab :=_cgab .TblCellMar ;_fffg :=_dffe .TblCellMar ;if _gegab ==nil {_gegab =_fffg ;}else {if _fffg !=nil &&_gegab .Left ==nil {_gegab .Left =_fffg .Left ;};};_cgab .TblCellMar =_gegab ;if _cgab .TblInd ==nil {_cgab .TblInd =_dffe .TblInd ;};if _cgab .Jc ==nil {_cgab .Jc =_dffe .Jc ;};};if _dggb .PPr !=nil {_adeb =_bcaa (_dggb .PPr ,_adeb );};if _dggb .RPr !=nil {_gaad =_egfe (_dggb .RPr ,_gaad );};if _ececd :=_dggb .BasedOn ;_ececd !=nil {return _afccb (_gcff ,_ececd .ValAttr ,_cgab ,_adeb ,_gaad );};};};return _cgab ,_adeb ,_gaad ;};type word struct{_ace []*symbol ;_edd float64 ;_gfe float64 ;_eg bool ;};var _cead =[]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 (_faag *convertContext )addCurrentWordToParagraph (){for {_ecde :=_faag ._eebc ._cc ;_abbc :=_ecde +_faag ._abbf ._gfe ;if _abbc > _faag ._eebc ._ca {_faag .newLine ();};_gefc :=_faag ._eeeg ._bb +_faag ._eebc ._dg ;_bdde :=_gefc +_faag ._eebc ._cef ;_egcfg :=false ;_ggc :=append (_faag ._gcda ._ef ,_faag ._eeeg ._ged ...);for _ ,_badf :=range _ggc {_agga :=_badf ._acc ;if ((_gefc > _agga .Top &&_gefc < _agga .Bottom )||(_bdde > _agga .Top &&_bdde < _agga .Bottom ))&&((_ecde > _agga .Left &&_ecde < _agga .Right )||(_abbc > _agga .Left &&_abbc < _agga .Right )){_egcfg =true ;if _faag ._eebc ._cc < _agga .Right {_faag ._eaac ._dc =_agga .Left ;_faag ._eebc ._cc =_agga .Right ;_faag .newSpan ();};};};if !_egcfg {break ;};};if !_faag ._abbf ._eg ||len (_faag ._eaac ._aaaa )> 0{_faag ._abbf ._edd =_faag ._eebc ._cc ;_faag ._eaac ._aaaa =append (_faag ._eaac ._aaaa ,_faag ._abbf );_faag ._eebc ._cc +=_faag ._abbf ._gfe ;for _ ,_ccf :=range _faag ._abbf ._ace {_faag .adjustHeights (_ccf ._eff );};};};func (_cgf *convertContext )drawPages (){for _ ,_adf :=range _cgf ._afdbf {_cgf ._baba .NewPage ();_cgf .drawPage (_adf );};};func _agf (_cfg *_ec .Creator ,_eb *block ){_eb ._ee .SetPos (_eb ._ecbg ,_eb ._eccg );_cfg .Draw (_eb ._ee );if _eb ._edde {_ecb .DrawRectangle (_cfg ,&_ecb .Rectangle {Top :_eb ._eccg ,Bottom :_eb ._eccg +_eb ._ee .Height (),Left :_eb ._ecbg ,Right :_eb ._ecbg +_eb ._ee .Width ()},_eb ._gdb ,_eb ._ad );};};func (_cbbd *convertContext )newSpan (){_ggff :=&span {_ffd :_cbbd ._eebc ._cc ,_dc :_cbbd ._eebc ._ca };_cbbd ._eaac =_ggff ;_cbbd ._eebc ._efe =append (_cbbd ._eebc ._efe ,_ggff );};func (_bcde *convertContext )makePdfBlockFromChart (_geab *_d .Chart ,_dgab ,_bgd float64 )(*_ec .Block ,error ){_dcaa :=_geab .CT_RelId .IdAttr ;_dggc :=_bcde ._fbfe .GetChartSpaceByRelId (_dcaa );if _dggc ==nil {return nil ,_a .New ("\u004e\u006f\u0020\u0063\u0068\u0061\u0072\u0074\u0073\u0070\u0061\u0063\u0065");};var _eabc *_ba .Theme ;_bace :=_bcde ._fbfe .Themes ();if len (_bace )> 0{_eabc =_bace [0];};return _ecb .MakeBlockFromChartSpace (_dggc ,_dgab ,_bgd ,_eabc );};func _edag (_agadg ,_cacf *_edg .CT_RPr )*_edg .CT_RPr {if _agadg ==nil {return _cacf ;};if _cacf ==nil {if _agadg .B !=nil {_agadg .B =nil ;};if _agadg .BCs !=nil {_agadg .BCs =nil ;};if _agadg .I !=nil {_agadg .I =nil ;};if _agadg .ICs !=nil {_agadg .ICs =nil ;};return _agadg ;};if _agadg .RStyle ==nil {_agadg .RStyle =_cacf .RStyle ;};if _agadg .RFonts ==nil {_agadg .RFonts =_cacf .RFonts ;};if _agadg .B ==nil {_agadg .B =_cacf .B ;};if _agadg .BCs ==nil {_agadg .BCs =_cacf .BCs ;};if _agadg .I ==nil {_agadg .I =_cacf .I ;};if _agadg .ICs ==nil {_agadg .ICs =_cacf .ICs ;};if _agadg .Caps ==nil {_agadg .Caps =_cacf .Caps ;};if _agadg .SmallCaps ==nil {_agadg .SmallCaps =_cacf .SmallCaps ;};if _agadg .Strike ==nil {_agadg .Strike =_cacf .Strike ;};if _agadg .Dstrike ==nil {_agadg .Dstrike =_cacf .Dstrike ;};if _agadg .Outline ==nil {_agadg .Outline =_cacf .Outline ;};if _agadg .Shadow ==nil {_agadg .Shadow =_cacf .Shadow ;};if _agadg .Emboss ==nil {_agadg .Emboss =_cacf .Emboss ;};if _agadg .Imprint ==nil {_agadg .Imprint =_cacf .Imprint ;};if _agadg .NoProof ==nil {_agadg .NoProof =_cacf .NoProof ;};if _agadg .SnapToGrid ==nil {_agadg .SnapToGrid =_cacf .SnapToGrid ;};if _agadg .Vanish ==nil {_agadg .Vanish =_cacf .Vanish ;};if _agadg .WebHidden ==nil {_agadg .WebHidden =_cacf .WebHidden ;};if _agadg .Color ==nil {_agadg .Color =_cacf .Color ;};if _agadg .Spacing ==nil {_agadg .Spacing =_cacf .Spacing ;};if _agadg .W ==nil {_agadg .W =_cacf .W ;};if _agadg .Kern ==nil {_agadg .Kern =_cacf .Kern ;};if _agadg .Position ==nil {_agadg .Position =_cacf .Position ;};if _agadg .Sz ==nil {_agadg .Sz =_cacf .Sz ;};if _agadg .SzCs ==nil {_agadg .SzCs =_cacf .SzCs ;};if _agadg .Highlight ==nil {_agadg .Highlight =_cacf .Highlight ;};if _agadg .U ==nil {_agadg .U =_cacf .U ;};if _agadg .Effect ==nil {_agadg .Effect =_cacf .Effect ;};if _agadg .Bdr ==nil {_agadg .Bdr =_cacf .Bdr ;};if _agadg .Shd ==nil {_agadg .Shd =_cacf .Shd ;};if _agadg .FitText ==nil {_agadg .FitText =_cacf .FitText ;};if _agadg .VertAlign ==nil {_agadg .VertAlign =_cacf .VertAlign ;};if _agadg .Rtl ==nil {_agadg .Rtl =_cacf .Rtl ;};if _agadg .Cs ==nil {_agadg .Cs =_cacf .Cs ;};if _agadg .Em ==nil {_agadg .Em =_cacf .Em ;};if _agadg .Lang ==nil {_agadg .Lang =_cacf .Lang ;};if _agadg .EastAsianLayout ==nil {_agadg .EastAsianLayout =_cacf .EastAsianLayout ;};if _agadg .SpecVanish ==nil {_agadg .SpecVanish =_cacf .SpecVanish ;};if _agadg .OMath ==nil {_agadg .OMath =_cacf .OMath ;};if _agadg .RPrChange ==nil {_agadg .RPrChange =_cacf .RPrChange ;};return _agadg ;};func (_bgfb *convertContext )addAbsoluteTable (_bbba *_edg .CT_Tbl ){_gfcb :=_bbba .TblGrid ;if _gfcb ==nil {return ;};_gaee :=len (_gfcb .GridCol );if _gaee ==0{return ;};_ccd :=[]float64 {};_agc :=[]float64 {};_bdded :=0.0;for _ ,_fee :=range _gfcb .GridCol {_abgb :=0.0;if _fee .WAttr .ST_UnsignedDecimalNumber !=nil {_abgb =_ecb .PointsFromTwips (int64 (*_fee .WAttr .ST_UnsignedDecimalNumber ));};_ccd =append (_ccd ,_abgb );_bdded +=_abgb ;};for _ffce :=0;_ffce < _gaee ;_ffce ++{_agc =append (_agc ,_ccd [_ffce ]/_bdded );};_beb :=_bgfb ._baba .NewTable (_gaee );_beb .SetColumnWidths (_agc ...);_dabd :=_bgfb ._baba .NewTable (_gaee );_dabd .SetColumnWidths (_agc ...);_bddac ,_ebcf ,_abcd :=_eacg (_bgfb ._fbfe ,_bbba .TblPr );var _abff []*_edg .CT_TblStylePr ;if _bddac .TblStyle !=nil {_abff =_deac (_bgfb ._fbfe ,_bddac .TblStyle .ValAttr );};_gcdf :=_dcag (_bddac .TblW ,_bgfb ._gcda ._aga .Right -_bgfb ._gcda ._aga .Left ,0);_dgea :=_dcag (_bddac .TblInd ,_bgfb ._gcda ._aga .Right -_bgfb ._gcda ._aga .Left ,0);_bbag :=_bgfb ._gcda ._aga .Bottom -_bgfb ._eeeg ._bb ;_edfe :=len (_bbba .EG_ContentRowContent );for _bcbc ,_cfdf :=range _bbba .EG_ContentRowContent {if _cfdf ==nil {continue ;};_dbff :=_bgfb ._baba .NewTable (_gaee );_dbff .SetColumnWidths (_agc ...);if _bae :=_cfdf .Tr ;len (_bae )> 0{_cefec :=_bae [0];_gag :=_cefec .TblPrEx ;for _gfcd ,_ebbb :=range _cefec .EG_ContentCellContent {if _eebe :=_ebbb .Tc ;len (_eebe )> 0{if _ebcc :=_eebe [0];_ebcc !=nil {_bgfb .addCellToTable (_dabd ,_ebcc ,_bddac ,_gag ,_bcbc ,_gfcd ,_edfe ,_gaee ,_abff ,_ebcf ,_abcd );_bgfb .addCellToTable (_dbff ,_ebcc ,_bddac ,_gag ,_bcbc ,_gfcd ,_edfe ,_gaee ,_abff ,_ebcf ,_abcd );};};};var _dbd float64 ;if _eggb :=_cefec .TrPr ;_eggb !=nil {if len (_eggb .TrHeight )!=0{_dgeb :=_eggb .TrHeight [0];if _aeac :=_dgeb .ValAttr ;_aeac !=nil {if _aeac .ST_UnsignedDecimalNumber !=nil {_dbd =_ecb .PointsFromTwips (int64 (*_aeac .ST_UnsignedDecimalNumber ));};};};};if _dbd < _dbff .Height (){_dbd =_dbff .Height ();};if _dbd < _agadgg (4){_dbd =_agadgg (4);};_dabd .SetRowHeight (_dabd .CurRow (),_dbd );_dbff .SetRowHeight (_dbff .CurRow (),_dbd );if _gcdf ==0||_gcdf > _bgfb ._gcda ._aga .Right -_bgfb ._gcda ._aga .Left {_gcdf =_bgfb ._gcda ._aga .Right -_bgfb ._gcda ._aga .Left ;};_fffb :=_ecb .MakeTempCreator (_gcdf ,_agadgg (1000));_fffb .Draw (_dabd );if _dabd .Height ()>=_bbag {_bgfb .addParagraphWithTable (*_beb ,_gcdf ,_dgea );_bgfb .newPage ();*_dabd =*_dbff ;_dabd .SetRowHeight (_dabd .CurRow (),_dbd );_bbag =_bgfb ._gcda ._aga .Bottom -_bgfb ._gcda ._aga .Top ;_beb =nil ;}else {if _beb ==nil {_beb =_bgfb ._baba .NewTable (_gaee );_beb .SetColumnWidths (_agc ...);};*_beb =*_dabd ;};};};if _beb !=nil {_bgfb .addParagraphWithTable (*_beb ,_gcdf ,_dgea );};};func _da (_dcc *_ec .Creator ,_fcf *image ){_fcf ._dec .SetPos (_fcf ._ae ,_fcf ._gcb );_dcc .Draw (_fcf ._dec )};type prefix struct{_bfdc string ;_egbcb []float64 ;_eadc bool ;_bbfg bool ;};type styleAttributes struct{};func (_bcff *convertContext )adjustHeights (_cdb float64 ){if _bcff ._eebc ._cef < _cdb {_bcff ._eeeg ._ggf +=(_cdb -_bcff ._eebc ._cef );_bcff ._eebc ._cef =_cdb ;};};var _fef =_agadgg (0.25);func (_bbde *convertContext )addEndnotes (){for _efd ,_gegaa :=range _bbde ._gab {if _efd ==0{_bbde .addSeparator ();};_bbde ._eade =&prefix {_bfdc :_gegaa ._fa };for _aggc ,_cgfb :=range _gegaa ._aa {if _efd !=0||_aggc !=0{_bbde ._dedc =true ;};_bbde .addAbsoluteCBCs (_cgfb .EG_ContentBlockContent ,nil );};};_bbde ._dedc =false ;};func (_gdc *convertContext )drawPage (_afa *page ){if _afa ._ac {_bac :=_afa ._aga .Top +_dd *_fe ;_geaf :=_afa ._aga .Left ;_gaa :=_afa ._aga .Right ;_ecb .DrawLine (_gdc ._baba ,_geaf ,_bac ,_gaa ,_bac ,_fef ,_ec .ColorBlack );};for _ ,_dcd :=range _afa ._gf {_da (_gdc ._baba ,_dcd );};for _ ,_aac :=range _afa ._bag {_agf (_gdc ._baba ,_aac );};for _ ,_bef :=range _afa ._gd {if _bef ._ff {_ceb :=_bef ._bb +_dd *_fe ;_bce :=_afa ._aga .Left ;_caf :=_bce +_agadgg (50);_ecb .DrawLine (_gdc ._baba ,_bce ,_ceb ,_caf ,_ceb ,_fef ,_ec .ColorBlack );}else {for _ ,_fdg :=range _bef ._cea {for _ ,_afd :=range _fdg ._efe {for _ ,_gda :=range _afd ._aaaa {for _ ,_cag :=range _gda ._ace {if _cag ._bbc !=nil {_cag ._bbc .SetPos (_gda ._edd +_cag ._cf ,_bef ._bb +_fdg ._dg );_gdc ._baba .Draw (_cag ._bbc );}else if _cag ._ced !=nil {_cag ._ced ._ecbg =_gda ._edd +_cag ._cf ;_cag ._ced ._eccg =_bef ._bb +_fdg ._dg ;_agf (_gdc ._baba ,_cag ._ced );}else {_dad :=_gdc ._baba .NewStyledParagraph ();if _cag ._abb {_cag ._dba =0;}else if _cag ._ecc {_cag ._dba =1.2*_fdg ._cef -_cag ._eff ;};_dcf :=_gda ._edd +_cag ._cf ;_fabb :=_bef ._bb +_fdg ._dg +_cag ._dba ;_dad .SetPos (_dcf ,_fabb );var _ddg *_ec .TextChunk ;if _cag ._gb !=""{_ddg =_dad .AddExternalLink (_cag ._feg ,_cag ._gb );}else {_ddg =_dad .Append (_cag ._feg );};if _cag ._dbf !=nil {_ddg .Style =*_cag ._dbf ;};_gdc ._baba .Draw (_dad );if _cag ._dfg !=nil {_gbf :=_fabb +_cag ._af +2.0;_ecb .DrawLine (_gdc ._baba ,_dcf ,_gbf ,_dcf +_cag ._cgg ,_gbf ,1,*_cag ._dfg );};};};};};};if _bef ._db !=nil {_ebb :=_ec .NewBlock (_bef ._db ._de ,_bef ._fga .Top +_bef ._ggf +_bef ._fga .Bottom );_ebb .SetPos (_bef ._agb ,_bef ._bb +_bef ._fga .Top );_ebb .Draw (_bef ._db ._fd );_gdc ._baba .Draw (_ebb );};if _bef ._abe !=nil {_afb :=(_afa ._aga .Left /_ecb .DefaultFontSize -1);_bf :=1.5;for _ ,_dcb :=range _bef ._abe {switch _dcb ._cb {case _ecb .BorderPositionTop :_bg :=_bef ._bb +_dcb ._cbg ;_ecb .DrawLine (_gdc ._baba ,_bef ._ddc -_afb ,_bg ,_bef ._ddc +_dcb ._bbce +_afb ,_bg ,_dcb ._egg ,_dcb ._cfd );case _ecb .BorderPositionLeft :_fdgf :=_bef ._bb +_bef ._ggf -_bef ._fga .Top -_bef ._fga .Bottom -_dcb ._cbg -_bf ;_dbfg :=_fdgf +_bef ._ggf +_bef ._fga .Top +_bef ._fga .Bottom ;_cbd :=_bef ._ddc -_afb ;_ecb .DrawLine (_gdc ._baba ,_cbd ,_fdgf ,_cbd ,_dbfg ,_dcb ._bbce ,_dcb ._cfd );case _ecb .BorderPositionBottom :_bbb :=_bef ._bb +_dcb ._cbg +_bef ._fga .Top +_bef ._ggf +_bef ._fga .Bottom ;_ecb .DrawLine (_gdc ._baba ,_bef ._ddc -_afb ,_bbb ,_bef ._ddc +_dcb ._bbce +_afb ,_bbb ,_dcb ._egg ,_dcb ._cfd );case _ecb .BorderPositionRight :_bcf :=_bef ._bb +_bef ._ggf -_bef ._fga .Top -_bef ._fga .Bottom -_dcb ._cbg -_bf ;_bfe :=_bcf +_bef ._ggf +_bef ._fga .Top +_bef ._fga .Bottom ;_afaa :=_bef ._df +_afb ;_ecb .DrawLine (_gdc ._baba ,_afaa ,_bcf ,_afaa ,_bfe ,_dcb ._bbce ,_dcb ._cfd );};};};};};for _ ,_gfb :=range _afa ._be {_da (_gdc ._baba ,_gfb );};for _ ,_bcea :=range _afa ._ce {_agf (_gdc ._baba ,_bcea );};if len (_afa ._gc )> 0{_deb :=_afa ._aga .Bottom +_dd *_fe ;_dag :=_afa ._aga .Left ;_gedb :=_dag +_agadgg (50);_ecb .DrawLine (_gdc ._baba ,_dag ,_deb ,_gedb ,_deb ,_fef ,_ec .ColorBlack );_eaf :=_afa ._aga .Bottom +_dd ;for _ ,_baf :=range _afa ._gc {_baf ._aad .SetPos (_afa ._aga .Left ,_eaf );_gdc ._baba .Draw (_baf ._aad );_eaf +=_baf ._aad .Height ();};};};func (_gcge *convertContext )getStyleProps (_fgf string ,_abcg _gg .Style )(*_edg .CT_PPrGeneral ,*_edg .CT_RPr ){var _bbec *_edg .CT_PPrGeneral ;var _cgbb *_edg .CT_RPr ;_efbe :=_gcge ._fbfe .GetStyleByID (_fgf );_dcbg :=int64 (0);_cfbag :=false ;if _cdbc :=_efbe .X ();_cdbc !=nil {_bbec =_cdbc .PPr ;_cgbb =_cdbc .RPr ;if _cdbc .UiPriority !=nil {_dcbg =_cdbc .UiPriority .ValAttr ;};if _badgd :=_cdbc .BasedOn ;_badgd !=nil {_ebecb ,_gceb :=_gcge .getStyleProps (_badgd .ValAttr ,_efbe );if _dbbee :=_abcg .X ();_dbbee !=nil {if _dbbee .UiPriority !=nil &&_dcbg > 0{if _cdbc .UiPriority .ValAttr > _dcbg {_cfbag =false ;};};if _dbbee .QFormat !=nil &&_cdbc .QFormat !=nil &&_aabf (_dbbee .QFormat )&&_aabf (_cdbc .QFormat ){_cfbag =true ;};};if _cfbag {_bbec =_bcaa (_bbec ,_ebecb );_cgbb =_egfe (_cgbb ,_gceb );};};};return _bbec ,_cgbb ;};var _cege =_agadgg (2.5);func _ggae (_ggdde string )string {_eeec :=_bga .FindStringSubmatch (_ggdde );if len (_eeec )< 2{return "";};return _eeec [1];};func _fedge (_ecbbb *_edg .EG_RunInnerContent )bool {if _ccgg :=_ecbbb .Br ;_ccgg !=nil {return _ccgg .TypeAttr ==_edg .ST_BrTypePage ;};return false ;};func _fdeea (_ggdfc *_edg .CT_Border )(_ec .CellBorderStyle ,*_ec .Color ,float64 ){if _ggdfc ==nil {return _ec .CellBorderStyleNone ,nil ,0;};var _efef _ec .CellBorderStyle ;switch _ggdfc .ValAttr {case _edg .ST_BorderSingle :_efef =_ec .CellBorderStyleSingle ;case _edg .ST_BorderDouble :_efef =_ec .CellBorderStyleDouble ;default:_efef =_ec .CellBorderStyleNone ;};var _baae _ec .Color ;if _edddc :=_ggdfc .ColorAttr ;_edddc !=nil {if _ceea :=_edddc .ST_HexColorRGB ;_ceea !=nil {_baae =_ec .ColorRGBFromHex ("\u0023"+*_ceea );};};_gacb :=0.0;if _bbgf :=_ggdfc .SzAttr ;_bbgf !=nil {_gacb =float64 (*_bbgf )/8;};return _efef ,&_baae ,_gacb ;};
|
|
|
|
// ConvertToPdfWithOptions convert the document to PDF with file given options.
|
|
func ConvertToPdfWithOptions (d *_gg .Document ,opts *Options )*_ec .Creator {var _cfab map[string ]string ;if opts !=nil {if opts .ProcessFields {_cfab =_abaf (d );};if len (opts .FontFiles )> 0{_gfgeea :=_ecb .RegisterFontsFromFiles (opts .FontFiles );if _gfgeea !=nil {_c .Log .Debug ("\u0046\u0061\u0069\u006c t\u006f\u0020\u006c\u006f\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0073\u003a\u0020%\u0076",opts .FontDirectory );};};if opts .FontDirectory !=""{_cgfc :=_ecb .RegisterFontsFromDirectory (opts .FontDirectory );if _cgfc !=nil {_c .Log .Debug ("\u0046\u0061\u0069l\u0020\u0074\u006f\u0020l\u006f\u0061\u0064\u0020\u0066\u006f\u006et\u0020\u0064\u0069\u0072\u0065\u0063\u0074\u006f\u0072\u0079\u003a\u0020\u0025\u0076",_cgfc .Error ());};};};var _dbbe *_edg .CT_PPrGeneral ;var _gebg *_edg .CT_RPr ;if _acee :=d .Styles .X ().DocDefaults ;_acee !=nil {if _caa :=_acee .PPrDefault ;_caa !=nil {_dbbe =_caa .PPr ;};if _feef :=_acee .RPrDefault ;_feef !=nil {_gebg =_feef .RPr ;};};_ecee ,_bfge :=_agadgg (210),_agadgg (297);_eacf :=float64 (_ga .Inch *1);_agaa ,_bbeb ,_faca ,_cfbd :=_eacf ,_eacf ,_eacf ,_eacf ;var _eaca ,_deca float64 ;if _aagd :=d .BodySection ().X ();_aagd !=nil {if _cagfe :=_aagd .PgMar ;_cagfe !=nil {if _cagfe .LeftAttr .ST_UnsignedDecimalNumber !=nil {_agaa =_ecb .PointsFromTwips (int64 (*_cagfe .LeftAttr .ST_UnsignedDecimalNumber ));};if _cagfe .LeftAttr .ST_UnsignedDecimalNumber !=nil {_bbeb =_ecb .PointsFromTwips (int64 (*_cagfe .RightAttr .ST_UnsignedDecimalNumber ));};if _cagfe .TopAttr .Int64 !=nil {_faca =_ecb .PointsFromTwips (*_cagfe .TopAttr .Int64 );};if _cagfe .BottomAttr .Int64 !=nil {_cfbd =_ecb .PointsFromTwips (*_cagfe .BottomAttr .Int64 );};if _cagfe .HeaderAttr .ST_UnsignedDecimalNumber !=nil {_eaca =_ecb .PointsFromTwips (int64 (*_cagfe .HeaderAttr .ST_UnsignedDecimalNumber ));};if _cagfe .FooterAttr .ST_UnsignedDecimalNumber !=nil {_deca =_cfbd -_ecb .PointsFromTwips (int64 (*_cagfe .FooterAttr .ST_UnsignedDecimalNumber ));};};if _gegb :=_aagd .PgSz ;_gegb !=nil {if _gegb .WAttr !=nil {_ecee =_ecb .PointsFromTwips (int64 (*_gegb .WAttr .ST_UnsignedDecimalNumber ));};if _gegb .HAttr !=nil {_bfge =_ecb .PointsFromTwips (int64 (*_gegb .HAttr .ST_UnsignedDecimalNumber ));};};};if d .Settings .X ().DefaultTabStop ==nil {_gegf =_agadgg (12.7);}else {_gegf =_ecb .PointsFromTwips (int64 (*d .Settings .X ().DefaultTabStop .ValAttr .ST_UnsignedDecimalNumber ));};_fcba :=_ec .New ();_fcba .SetPageSize (_ec .PageSize {_ecee ,_bfge });_fcba .SetPageMargins (_agaa ,_bbeb ,_faca ,_cfbd );for _ ,_gcac :=range d .Headers (){_bcbe :=&convertContext {_baba :_fcba ,_fbfe :d ,_fdba :_dbbe ,_bebc :_gebg ,_abeb :true ,_aabg :_agaa ,_dfdf :_eaca ,_dace :opts };_bcbe .addRelativeCBCs (_gcac .X ().EG_ContentBlockContent );};for _ ,_agbd :=range d .Footers (){_ddb :=&convertContext {_baba :_fcba ,_fbfe :d ,_fdba :_dbbe ,_bebc :_gebg ,_aaad :true ,_aabg :_agaa ,_ffceg :_deca ,_dace :opts };_ddb .addRelativeCBCs (_agbd .X ().EG_ContentBlockContent );};_eegc :=&convertContext {_baba :_fcba ,_fbfe :d ,_fdba :_dbbe ,_bebc :_gebg ,_ccad :&_ecb .Rectangle {Top :_faca ,Bottom :_bfge -_cfbd ,Left :_agaa ,Right :_ecee -_bbeb },_gab :[]note {},_eece :map[int64 ]map[int64 ]int64 {},_agaf :_cfab ,_dace :opts };for _gba ,_bdgb :=range d .X ().Body .EG_BlockLevelElts {var _fecdg []*_edg .EG_ContentBlockContent ;if _gba < len (d .X ().Body .EG_BlockLevelElts )-1{_ecfd :=d .X ().Body .EG_BlockLevelElts [_gba +1];_fecdg =_ecfd .EG_ContentBlockContent ;};_eegc .addAbsoluteCBCs (_bdgb .EG_ContentBlockContent ,_fecdg );};_eegc .addEndnotes ();_eegc .alignSymbolsVertically ();_eegc .drawPages ();return _fcba ;};func (_ffg *convertContext )addParagraphWithTable (_dccb _ec .Table ,_ebef ,_afac float64 ){_ffg .newParagraph ();_ffg ._eeeg ._fga =&_ecb .Rectangle {Top :_agadgg (2),Bottom :_agadgg (2),Left :0,Right :0};_ffg ._eeeg ._db =&tableWrapper {_fd :&_dccb ,_de :_ebef };_ffg ._eeeg ._aaa =_afac ;_ffg ._eeeg ._ggf =_dccb .Height ();_ffg .determineParagraphBounds ();_ffg .addCurrentParagraphToCurrentPage ();};var _dd =_agadgg (6);func _ggea (_acfa int64 ,_cfdd _edg .ST_NumberFormat )string {_cfbg :=int (_acfa );switch _cfdd {case _edg .ST_NumberFormatDecimal :return _g .Itoa (_cfbg );case _edg .ST_NumberFormatUpperRoman :return _cbab (_cfbg ,true );case _edg .ST_NumberFormatLowerRoman :return _cbab (_cfbg ,false );case _edg .ST_NumberFormatUpperLetter :return _degd (_cfbg ,true );case _edg .ST_NumberFormatLowerLetter :return _degd (_cfbg ,false );default:return _g .Itoa (_cfbg );};};func (_effa *convertContext )moveCurrentParagraphToNewPage (){_effa .newPage ();_eccdg :=_effa ._eeeg ._bb -_effa ._gcda ._cd ;_effa ._eeeg ._bb -=_eccdg ;for _ ,_aegg :=range _effa ._eeeg ._ged {_aegg ._acc .Translate (0,-_eccdg );};for _ ,_egf :=range _effa ._eeeg ._gea {_egf ._eccg -=_eccdg ;};for _ ,_cgea :=range _effa ._eeeg ._ecf {_cgea ._eccg -=_eccdg ;};for _ ,_ebfa :=range _effa ._eeeg ._aae {_ebfa ._gcb -=_eccdg ;};for _ ,_dcdg :=range _effa ._eeeg ._gfc {_dcdg ._gcb -=_eccdg ;};};func (_fdf *convertContext )newParagraph (){if _fdf ._gcda ==nil {_fdf .newPage ();};_eegaf :=¶graph {};_eegaf ._fga =&_ecb .Rectangle {};_eegaf ._bb =_fdf ._gcda ._cd ;_fdf ._eeeg =_eegaf ;};func (_badg *convertContext )newPage (){_fbb :=&page {};_fbb ._aga =_badg ._ccad ;_fbb ._cd =_fbb ._aga .Top ;if _badg ._dedc {_fbb ._ac =true ;_fbb ._cd +=_dd ;};_badg ._afdbf =append (_badg ._afdbf ,_fbb );_badg ._gcda =_fbb ;};type convertContext struct{_baba *_ec .Creator ;_fbfe *_gg .Document ;_fdba *_edg .CT_PPrGeneral ;_bebc *_edg .CT_RPr ;_aed *_ec .StyledParagraph ;_afdbf []*page ;_gcda *page ;_ccad *_ecb .Rectangle ;_eeeg *paragraph ;_eebc *line ;_eaac *span ;_abbf *word ;_effd *_edg .CT_Hyperlink ;_edeb *_edg .CT_ParaRPr ;_cbad *_edg .CT_PPr ;_gab []note ;_eade *prefix ;_dbfb bool ;_abeb bool ;_aaad bool ;_aabg float64 ;_dfdf float64 ;_ffceg float64 ;_ddcb float64 ;_dedc bool ;_eece map[int64 ]map[int64 ]int64 ;_agaf map[string ]string ;_dace *Options ;};func _dcag (_fcg *_edg .CT_TblWidth ,_beg ,_ggcf float64 )float64 {if _fcg !=nil {if _abebb :=_fcg .WAttr ;_abebb !=nil {if _gaaa :=_abebb .ST_DecimalNumberOrPercent ;_gaaa !=nil {if _aacb :=_gaaa .ST_UnqualifiedPercentage ;_aacb !=nil {switch _fcg .TypeAttr {case _edg .ST_TblWidthDxa :return float64 (*_aacb )/20;case _edg .ST_TblWidthPct :return float64 (*_aacb )/100*_beg ;default:return _ggcf ;};};};};};return _ggcf ;};func _ecab (_baab string )bool {for _ ,_agdd :=range _baab {if _agdd > 255{return false ;};};return true ;};const (_ddga ="\u006di\u006e\u006f\u0072\u0046\u006f\u006et";_ceef ="\u006da\u006a\u006f\u0072\u0046\u006f\u006et";_gefcd ="\u006d\u0061\u006a\u006f\u0072\u0045\u0061\u0073\u0074\u0041\u0073\u0069a\u0046\u006f\u006e\u0074";_ddgbe ="\u006d\u0069\u006e\u006f\u0072\u0045\u0061\u0073\u0074\u0041\u0073\u0069a\u0046\u006f\u006e\u0074";);func (_ebee *convertContext )newLine (){if _ebee ._eeeg ==nil {_ebee .newParagraph ();};_dcdc :=_ebee ._eeeg ._ggf +_ebee ._eeeg ._fga .Top ;_fccg :=&line {};if len (_ebee ._eeeg ._cea )==0{_fccg ._cde =_ebee ._eeeg ._agb ;}else {_fccg ._cde =_ebee ._eeeg ._ddc ;};_fccg ._ca =_ebee ._eeeg ._df ;_fccg ._cc =_fccg ._cde ;_fccg ._dg =_dcdc ;_ebee ._eeeg ._cea =append (_ebee ._eeeg ._cea ,_fccg );_ebee ._eebc =_fccg ;_ebee .newSpan ();};
|
|
|
|
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
|
|
type FontStyle =_ecb .FontStyle ;func (_faaf *convertContext )addInlineSymbol (_eba *symbol ){if len (_faaf ._abbf ._ace )> 0{_ecbc :=_faaf ._abbf ._ace [len (_faaf ._abbf ._ace )-1]._feg ;if _ecbc =="\u0020"{_faaf .addCurrentWordToParagraph ();_faaf .newWord ();};};_faaf ._abbf ._ace =append (_faaf ._abbf ._ace ,_eba );_eba ._cf =_faaf ._abbf ._gfe ;_faaf ._abbf ._gfe +=_eba ._cgg ;_faaf ._abbf ._eg =false ;_faaf .adjustHeights (_eba ._eff );};func (_gcbe *convertContext )addSeparator (){_gcbe .newParagraph ();_gcbe ._eeeg ._ff =true ;_gcbe ._eeeg ._ggf =_dd ;if _gcbe .currentParagraphOverflowsCurrentPage (){_gcbe .moveCurrentParagraphToNewPage ();};_gcbe .addCurrentParagraphToCurrentPage ();};func _cebd (_fefe ,_aceeg *_edg .CT_HpsMeasure )float64 {var _fege float64 ;_eacc :=_ecb .DefaultFontSize ;if _fefe !=nil {_fege =float64 (*_fefe .ValAttr .ST_UnsignedDecimalNumber );}else if _aceeg !=nil {_fege =float64 (*_aceeg .ValAttr .ST_UnsignedDecimalNumber );};if _fege !=0{_eacc =_fege /24*_ecb .DefaultFontSize ;};return _eacc ;};func (_aec *convertContext )alignParagraph (){_eeb :=_aec ._eeeg ;if _eeb ._faa ==_ec .TextAlignmentLeft {return ;};_becf :=len (_eeb ._cea )-1;for _ebba ,_ebd :=range _eeb ._cea {_eee :=len (_ebd ._efe )-1;for _eca ,_abg :=range _ebd ._efe {_ada :=true ;_gdfa :=len (_abg ._aaaa );_bcg :=0.0;for _daa :=len (_abg ._aaaa )-1;_daa >=0;_daa --{_gfa :=_abg ._aaaa [_daa ];if _ada &&_gfa ._eg {_gdfa =_daa ;}else {_ada =false ;for _ ,_gdd :=range _gfa ._ace {_bcg +=_gdd ._cgg ;};};};_abg ._aaaa =_abg ._aaaa [:_gdfa ];_adb :=_abg ._dc -_abg ._ffd -_bcg ;switch _eeb ._faa {case _ec .TextAlignmentRight :_abg .moveRight (_adb );case _ec .TextAlignmentCenter :_abg .moveRight (_adb /2);case _ec .TextAlignmentJustify :if _ebba !=_becf ||_eca !=_eee {_cbb :=[]*word {};for _ ,_cfb :=range _abg ._aaaa {if _cfb ._eg {_cbb =append (_cbb ,_cfb );};};_acb :=_adb /float64 (len (_cbb ));for _ ,_gbe :=range _cbb {_gbe ._gfe +=_acb ;};var _gad *word ;for _ ,_eac :=range _abg ._aaaa {if _gad !=nil {_eac ._edd =_gad ._edd +_gad ._gfe ;};_gad =_eac ;};};};};};};type image struct{_dec *_ec .Image ;_ae float64 ;_gcb float64 ;};func (_fdff *convertContext )combinePPrWithStyles (_eeeb *_edg .CT_PPr )(*_edg .CT_PPr ,*prefix ){if _eeeb ==nil {return nil ,nil ;};var _ddgdb *prefix ;if _eeeb !=nil &&_eeeb .NumPr !=nil {if _fccf ,_gdbbd :=_eeeb .NumPr .Ilvl ,_eeeb .NumPr .NumId ;_fccf !=nil &&_gdbbd !=nil {if _ggde :=_fdff ._fbfe .GetNumberingLevelByIds (_gdbbd .ValAttr ,_fccf .ValAttr ).X ();_ggde !=nil {_eeeb =_dgad (_eeeb ,_ggde .PPr ,_ggde .RPr );if _cfbab :=_ggde .NumFmt ;_cfbab !=nil {if _dabg :=_cfbab .ValAttr ;_dabg ==_edg .ST_NumberFormatBullet ||_dabg ==_edg .ST_NumberFormatDecimal {var _bfga []float64 ;if _bcdb :=_eeeb .Tabs ;_bcdb !=nil &&len (_bcdb .Tab )!=0{for _ ,_ecef :=range _bcdb .Tab {_bfga =append (_bfga ,_ecb .PointsFromTwips (*_ecef .PosAttr .Int64 ));};};_ddgdb =&prefix {_egbcb :_bfga ,_eadc :true };if _dabg ==_edg .ST_NumberFormatBullet {if _gbc :=_ggde .LvlText ;_gbc !=nil {if _ecdf :=_gbc .ValAttr ;_ecdf !=nil &&*_ecdf !=""{_ddgdb ._bfdc =*_ecdf ;_ddgdb ._bbfg =true ;};};}else {_dgf ,_efff :=_gdbbd .ValAttr ,_fccf .ValAttr ;if _ ,_agba :=_fdff ._eece [_dgf ];!_agba {_fdff ._eece [_dgf ]=map[int64 ]int64 {};};if _ ,_acff :=_fdff ._eece [_dgf ][_efff ];!_acff {_fdff ._eece [_dgf ][_efff ]=1;};_gffdf :=_fdff ._eece [_dgf ][_efff ];_badb :=_fcd .FormatNumberingText (int64 (_gffdf ),_ggde .IlvlAttr ,*_ggde .LvlText .ValAttr ,_ggde .NumFmt ,_fdff ._eece [_dgf ]);_fdff ._eece [_dgf ][_efff ]++;_ddgdb ._bfdc =_badb ;};};};};};};if _eeeb !=nil &&_eeeb .PStyle !=nil {_bcee ,_ebge :=_fdff .getStyleProps (_eeeb .PStyle .ValAttr ,_gg .Style {});_eeeb =_dgad (_eeeb ,_bcee ,_ebge );};return _eeeb ,_ddgdb ;};func _bcaa (_abfg ,_eggf *_edg .CT_PPrGeneral )*_edg .CT_PPrGeneral {if _abfg ==nil {return _abfg ;};if _eggf ==nil {return _abfg ;};if _abfg .PStyle ==nil {_abfg .PStyle =_eggf .PStyle ;};if _abfg .KeepNext ==nil {_abfg .KeepNext =_eggf .KeepNext ;};if _abfg .KeepLines ==nil {_abfg .KeepLines =_eggf .KeepLines ;};if _abfg .PageBreakBefore ==nil {_abfg .PageBreakBefore =_eggf .PageBreakBefore ;};if _abfg .FramePr ==nil {_abfg .FramePr =_eggf .FramePr ;};if _abfg .WidowControl ==nil {_abfg .WidowControl =_eggf .WidowControl ;};if _abfg .NumPr ==nil {_abfg .NumPr =_eggf .NumPr ;};if _abfg .SuppressLineNumbers ==nil {_abfg .SuppressLineNumbers =_eggf .SuppressLineNumbers ;};if _abfg .PBdr ==nil {_abfg .PBdr =_eggf .PBdr ;};if _abfg .Shd ==nil {_abfg .Shd =_eggf .Shd ;};if _abfg .Tabs ==nil {_abfg .Tabs =_eggf .Tabs ;};if _abfg .SuppressAutoHyphens ==nil {_abfg .SuppressAutoHyphens =_eggf .SuppressAutoHyphens ;};if _abfg .Kinsoku ==nil {_abfg .Kinsoku =_eggf .Kinsoku ;};if _abfg .WordWrap ==nil {_abfg .WordWrap =_eggf .WordWrap ;};if _abfg .OverflowPunct ==nil {_abfg .OverflowPunct =_eggf .OverflowPunct ;};if _abfg .TopLinePunct ==nil {_abfg .TopLinePunct =_eggf .TopLinePunct ;};if _abfg .AutoSpaceDE ==nil {_abfg .AutoSpaceDE =_eggf .AutoSpaceDE ;};if _abfg .AutoSpaceDN ==nil {_abfg .AutoSpaceDN =_eggf .AutoSpaceDN ;};if _abfg .Bidi ==nil {_abfg .Bidi =_eggf .Bidi ;};if _abfg .AdjustRightInd ==nil {_abfg .AdjustRightInd =_eggf .AdjustRightInd ;};if _abfg .SnapToGrid ==nil {_abfg .SnapToGrid =_eggf .SnapToGrid ;};if _abfg .Spacing ==nil {_abfg .Spacing =_eggf .Spacing ;};if _abfg .Ind ==nil {_abfg .Ind =_eggf .Ind ;};if _abfg .ContextualSpacing ==nil {_abfg .ContextualSpacing =_eggf .ContextualSpacing ;};if _abfg .MirrorIndents ==nil {_abfg .MirrorIndents =_eggf .MirrorIndents ;};if _abfg .SuppressOverlap ==nil {_abfg .SuppressOverlap =_eggf .SuppressOverlap ;};if _abfg .Jc ==nil {_abfg .Jc =_eggf .Jc ;};if _abfg .TextDirection ==nil {_abfg .TextDirection =_eggf .TextDirection ;};if _abfg .TextAlignment ==nil {_abfg .TextAlignment =_eggf .TextAlignment ;};if _abfg .TextboxTightWrap ==nil {_abfg .TextboxTightWrap =_eggf .TextboxTightWrap ;};if _abfg .OutlineLvl ==nil {_abfg .OutlineLvl =_eggf .OutlineLvl ;};if _abfg .DivId ==nil {_abfg .DivId =_eggf .DivId ;};if _abfg .CnfStyle ==nil {_abfg .CnfStyle =_eggf .CnfStyle ;};if _abfg .PPrChange ==nil {_abfg .PPrChange =_eggf .PPrChange ;};return _abfg ;};func (_bedag *convertContext )makePdfImageFromRelId (_aggd *string )(*_ec .Image ,error ){if _aggd !=nil {_gdbd ,_bacg :=_bedag ._fbfe .GetImageObjByRelId (*_aggd );if _bacg !=nil {return nil ,_bacg ;};_feb ,_bacg :=_fb .Open (_gdbd .Path );if _bacg !=nil {return nil ,_bacg ;};_gbab ,_bacg :=_e .ReadAll (_feb );if _bacg !=nil {return nil ,_bacg ;};_cbbdb ,_bacg :=_bedag ._baba .NewImageFromData (_gbab );if _bacg !=nil {return nil ,_bacg ;};return _cbbdb ,nil ;};return nil ,nil ;};func _eacg (_dgfg *_gg .Document ,_feab *_edg .CT_TblPr )(*_edg .CT_TblPr ,*_edg .CT_PPrGeneral ,*_edg .CT_RPr ){_aggcg :=_edg .NewCT_PPrGeneral ();_efgg :=_edg .NewCT_RPr ();if _feab ==nil {_feab =_edg .NewCT_TblPr ();}else {if _feab .TblStyle !=nil {_feab ,_aggcg ,_efgg =_afccb (_dgfg ,_feab .TblStyle .ValAttr ,_feab ,_aggcg ,_efgg );};};return _feab ,_aggcg ,_efgg ;};func (_fbg *convertContext )addAbsoluteCRC (_dgg []*_edg .EG_ContentRunContent ,_efc *_edg .CT_PPr )bool {for _ ,_afaf :=range _dgg {if _fce :=_afaf .R ;_fce !=nil {if _efc !=nil &&_efc .PStyle !=nil {_aff :=_fbg ._fbfe .GetStyleByID (_efc .PStyle .ValAttr );if _cff :=_aff .X ();_cff !=nil {if _cff .QFormat !=nil &&_aabf (_cff .QFormat ){if _cff .RPr !=nil &&_efc .RPr !=nil {_efc .RPr =_efca (_efc .RPr ,_cff .RPr );};if _cff .RPr !=nil {_fce .RPr =_egfe (_fce .RPr ,_cff .RPr );};};};};_cbe :=_ceee (_fbg ._fbfe ,_fce .RPr ,_efc );if _fbg ._eade !=nil {_fbg .addAbsoluteRIC (nil ,_cbe );_fbg ._eade =nil ;};for _ ,_gdda :=range _fce .EG_RunInnerContent {if _fbg .addAbsoluteRIC (_gdda ,_cbe ){return true ;};};for _ ,_edf :=range _fce .Extra {if _aaab ,_ffca :=_edf .(*_edg .AlternateContentRun );_ffca {if _afdb :=_aaab .Choice ;_afdb !=nil {if _dacb :=_afdb .Drawing ;_dacb !=nil {if len (_dacb .Inline )> 0{for _ ,_bdb :=range _dacb .Inline {_dfab :=_bdb .Extent ;if _dfab ==nil {return false ;};_geb :=_ga .FromEMU (_dfab .CxAttr );_decd :=_ga .FromEMU (_dfab .CyAttr );if _cgd :=_bdb .Graphic ;_cgd !=nil {if _ceaa :=_cgd .GraphicData ;_ceaa !=nil {for _ ,_gdg :=range _ceaa .Any {if _gde ,_cdd :=_gdg .(*_edg .WdWsp );_cdd {_cda ,_dgc :=_fbg .makeBlockFromWdWsp (_gde );if _dgc !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_dgc );};if _cda ==nil {continue ;};_cda ._ee .Scale (_geb /_cda ._ee .Width (),_decd /_cda ._ee .Height ());_fbg .addInlineSymbol (&symbol {_eff :_decd ,_cgg :_geb ,_ced :_cda });};};};};};};};};};};};};return false ;};func (_fdgdb *convertContext )addRelativeCRC (_feda []*_edg .EG_ContentRunContent ,_abge *_edg .CT_PPr ){for _ ,_gfaa :=range _feda {if _edgc :=_gfaa .R ;_edgc !=nil {_adc :=_ceee (_fdgdb ._fbfe ,_edgc .RPr ,_abge );if _fdgdb ._eade !=nil {_fdgdb .addRelativeRIC (nil ,_adc );_fdgdb ._eade =nil ;};for _ ,_eag :=range _edgc .EG_RunInnerContent {_fdgdb .addRelativeRIC (_eag ,_adc );};};};};func (_cdcce *convertContext )makePdfBlockFromCBCs (_bcbce [][]*_edg .EG_ContentBlockContent ,_faadg ,_agac float64 ,_eadf *_ecb .Rectangle ,_gabg bool ,_dfgb *prefix )(*_ec .Block ,error ){if _eadf ==nil {_eadf =&_ecb .Rectangle {};};_acge :=&_ecb .Rectangle {Top :_eadf .Top ,Bottom :_agac -_eadf .Bottom ,Left :_eadf .Left ,Right :_faadg -_eadf .Right };_gadcc :=_ecb .MakeTempCreator (_faadg ,_agac );_agbeg :=&convertContext {_baba :_gadcc ,_fbfe :_cdcce ._fbfe ,_ccad :_acge ,_eade :_dfgb };for _ ,_ecec :=range _bcbce {_agbeg .addAbsoluteCBCs (_ecec ,nil );};if _gabg {_ebdff :=0.0;for _ ,_cbcg :=range _agbeg ._afdbf {for _ ,_eeacc :=range _cbcg ._gd {_ebdff +=(_eeacc ._ggf +_eeacc ._fga .Top +_eeacc ._fga .Bottom );};};_acge .Bottom =_ebdff -_eadf .Bottom ;_gadcc =_ecb .MakeTempCreator (_faadg ,_ebdff );_agbeg =&convertContext {_baba :_gadcc ,_fbfe :_cdcce ._fbfe ,_ccad :_acge ,_eade :_dfgb };for _ ,_aafb :=range _bcbce {_agbeg .addAbsoluteCBCs (_aafb ,nil );};};_agbeg .alignSymbolsVertically ();_agbeg ._baba .NewPage ();_agbeg .drawPage (_agbeg ._afdbf [len (_agbeg ._afdbf )-1]);return _ecb .MakeBlockFromCreator (_gadcc );};func (_fbe *convertContext )addAnchorBlocks (_dca []*_edg .EG_PContent ){for _ ,_dcdb :=range _dca {for _ ,_edgd :=range _dcdb .EG_ContentRunContent {if _aacd :=_edgd .R ;_aacd !=nil {for _ ,_fbf :=range _aacd .EG_RunInnerContent {if _eed :=_fbf .Drawing ;_eed !=nil {for _ ,_dbb :=range _eed .Anchor {var _afg ,_adbe ,_bgf ,_dcbcb float64 ;_agad ,_add :=_dbb .PositionH ,_dbb .PositionV ;if _bacb :=_agad .Choice ;_bacb !=nil {if _bacb .PosOffset !=nil {_afg =_ga .FromEMU (int64 (*_bacb .PosOffset ));};};if _bafe :=_add .Choice ;_bafe !=nil {if _bafe .PosOffset !=nil {_adbe =_ga .FromEMU (int64 (*_bafe .PosOffset ));};};if _abfb :=_dbb .Extent ;_abfb !=nil {_dcbcb =_ga .FromEMU (_abfb .CxAttr );_bgf =_ga .FromEMU (_abfb .CyAttr );};_ceaag :=_fbe ._eeeg ._bb +_adbe ;_def :=_ceaag +_bgf ;_aaac :=_fbe ._eeeg ._ddc +_afg ;_fcae :=_aaac +_dcbcb ;_feff :=_adbe +_bgf ;if _feff > _fbe ._eeeg ._fab {_fbe ._eeeg ._fab =_feff ;};if _dbb .Choice !=nil &&_dbb .Choice .WrapNone ==nil {_fbe ._eeeg ._ged =append (_fbe ._eeeg ._ged ,&zoneToSkip {_acc :&_ecb .Rectangle {Top :_ceaag ,Bottom :_def ,Left :_aaac ,Right :_fcae },_fg :_dbb .Choice });};if _gcg :=_dbb .Graphic ;_gcg !=nil {if _gcbf :=_gcg .GraphicData ;_gcbf !=nil {for _ ,_cedb :=range _gcbf .Any {if _bfb ,_bda :=_cedb .(*_fc .Pic );_bda {_deg ,_abd :=_fbe .makePdfImageFromGraphics (_bfb );if _abd !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0069\u006da\u0067\u0065\u003a\u0020\u0025\u0073",_abd );};if _deg !=nil {_deg .Scale (_dcbcb /_deg .Width (),_bgf /_deg .Height ());_fdc :=&image {_dec :_deg ,_ae :_aaac ,_gcb :_ceaag };if _dbb .BehindDocAttr {_fbe ._eeeg ._gfc =append (_fbe ._eeeg ._gfc ,_fdc );}else {_fbe ._eeeg ._aae =append (_fbe ._eeeg ._aae ,_fdc );};};}else if _eefe ,_fecd :=_cedb .(*_d .Chart );_fecd {_aab ,_bfba :=_fbe .makePdfBlockFromChart (_eefe ,_dcbcb ,_bgf );if _bfba !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_bfba );};if _aab !=nil {_cca :=&block {_ee :_aab ,_ecbg :_aaac ,_eccg :_ceaag };if _dbb .BehindDocAttr {_fbe ._eeeg ._ecf =append (_fbe ._eeeg ._ecf ,_cca );}else {_fbe ._eeeg ._gea =append (_fbe ._eeeg ._gea ,_cca );};};};};};};};};};};};};};func (_afacd *convertContext )makeBlockFromWdWsp (_fbec *_edg .WdWsp )(*block ,error ){if _dgead :=_fbec .WChoice ;_dgead !=nil {if _ebbacb :=_dgead .Txbx ;_ebbacb !=nil {if _gbde :=_ebbacb .TxbxContent ;_gbde !=nil {if _ccaa :=_gbde .EG_ContentBlockContent ;len (_ccaa )> 0{if _gfec :=_fbec .SpPr ;_gfec !=nil {if _ffbd :=_gfec .Xfrm ;_ffbd !=nil {if _fgfc :=_ffbd .Ext ;_fgfc !=nil {_bfeca :=_ga .FromEMU (_fgfc .CxAttr );_gfdc :=_ga .FromEMU (_fgfc .CyAttr );_facc :=&_ecb .Rectangle {Top :_cege ,Bottom :_cege ,Left :_cege ,Right :_cege };_eabg ,_bafee :=_afacd .makePdfBlockFromCBCs ([][]*_edg .EG_ContentBlockContent {_ccaa },_bfeca ,_gfdc ,_facc ,false ,nil );if _bafee !=nil {return nil ,_bafee ;};var _cfee bool ;var _eabd float64 ;var _bcbg _ec .Color ;if _ggbg :=_gfec .PrstGeom ;_ggbg !=nil {if _ggbg .PrstAttr ==_ba .ST_ShapeTypeRect {if _fgg :=_gfec .Ln ;_fgg !=nil {if _ecfg :=_fgg .WAttr ;_ecfg !=nil {_cfee =true ;_eabd =_ga .FromEMU (int64 (*_ecfg ));_bcbg =_ec .ColorBlack ;if _afe :=_fgg .SolidFill ;_afe !=nil {if _ggffb :=_afe .SrgbClr ;_ggffb !=nil {_bcbg =_ec .ColorRGBFromHex ("\u0023"+_ggffb .ValAttr );};};};};};};_face :=&block {_ee :_eabg ,_edde :_cfee ,_gdb :_eabd ,_ad :_bcbg };return _face ,nil ;};};};};};};};return nil ,nil ;};func _eafb (_acgga ,_fbgc *_edg .CT_TcPr )*_edg .CT_TcPr {if _acgga ==nil {return _fbgc ;};if _fbgc ==nil {return _acgga ;};if _acgga .CnfStyle ==nil {_acgga .CnfStyle =_fbgc .CnfStyle ;};if _acgga .TcW ==nil {_acgga .TcW =_fbgc .TcW ;};if _acgga .GridSpan ==nil {_acgga .GridSpan =_fbgc .GridSpan ;};if _acgga .HMerge ==nil {_acgga .HMerge =_fbgc .HMerge ;};if _acgga .VMerge ==nil {_acgga .VMerge =_fbgc .VMerge ;};if _acgga .TcBorders ==nil {_acgga .TcBorders =_fbgc .TcBorders ;};if _acgga .Shd ==nil {_acgga .Shd =_fbgc .Shd ;};if _acgga .NoWrap ==nil {_acgga .NoWrap =_fbgc .NoWrap ;};if _acgga .TcMar ==nil {_acgga .TcMar =_fbgc .TcMar ;};if _acgga .TextDirection ==nil {_acgga .TextDirection =_fbgc .TextDirection ;};if _acgga .TcFitText ==nil {_acgga .TcFitText =_fbgc .TcFitText ;};if _acgga .VAlign ==nil {_acgga .VAlign =_fbgc .VAlign ;};if _acgga .HideMark ==nil {_acgga .HideMark =_fbgc .HideMark ;};if _acgga .Headers ==nil {_acgga .Headers =_fbgc .Headers ;};if _acgga .CellIns ==nil {_acgga .CellIns =_fbgc .CellIns ;};if _acgga .CellDel ==nil {_acgga .CellDel =_fbgc .CellDel ;};if _acgga .CellMerge ==nil {_acgga .CellMerge =_fbgc .CellMerge ;};if _acgga .TcPrChange ==nil {_acgga .TcPrChange =_fbgc .TcPrChange ;};return _acgga ;};var _edgb ,_gcbd ,_bga *_f .Regexp ;func (_cec *convertContext )determineParagraphBounds (){_cec ._eeeg ._ddc =_cec ._gcda ._aga .Left +_cec ._eeeg ._fga .Left ;_cec ._eeeg ._agb =_cec ._eeeg ._ddc +_cec ._eeeg ._aaa ;_cec ._eeeg ._df =_cec ._gcda ._aga .Right -_cec ._eeeg ._fga .Right ;};func (_ebbg *convertContext )assignPropsToAbsoluteParagraph (_gbbf *_edg .CT_PPr ,_ebec *paragraph )(float64 ,float64 ){_ebbg ._cbad =_gbbf ;_gbbf =_dgad (_gbbf ,_ebbg ._fdba ,_ebbg ._bebc );_aaaf :=12.4;if _gbbf ==nil {return 0,0;};if _acfd :=_gbbf .RPr ;_acfd !=nil {_cdbe :=_cebd (_acfd .Sz ,_acfd .SzCs );if _aaaf <=_cdbe {_aaaf =_cdbe ;};};if _gbbf .Jc !=nil {switch _gbbf .Jc .ValAttr {case _edg .ST_JcRight :_ebec ._faa =_ec .TextAlignmentRight ;case _edg .ST_JcCenter :_ebec ._faa =_ec .TextAlignmentCenter ;case _edg .ST_JcBoth :_ebec ._faa =_ec .TextAlignmentJustify ;case _edg .ST_JcEnd :_ebec ._faa =_ec .TextAlignmentRight ;default:_ebec ._faa =_ec .TextAlignmentLeft ;};};var _eeca ,_fcad ,_eab ,_cdg ,_gcf float64 ;if _afcc :=_gbbf .Spacing ;_afcc !=nil {if _fbgaf :=_afcc .BeforeAttr ;_fbgaf !=nil {if _fbgaf .ST_UnsignedDecimalNumber !=nil {_eeca =_ecb .PointsFromTwips (int64 (*_fbgaf .ST_UnsignedDecimalNumber ));};};if _ccfb :=_afcc .AfterAttr ;_ccfb !=nil {if _ccfb .ST_UnsignedDecimalNumber !=nil {_fcad =_ecb .PointsFromTwips (int64 (*_ccfb .ST_UnsignedDecimalNumber ));};};if _fegc :=_afcc .LineAttr ;_fegc !=nil {if _fegc .Int64 !=nil &&*_fegc .Int64 !=0{_aaaf =float64 (*_fegc .Int64 )/20;};};};if _gbbf .ContextualSpacing !=nil &&_aabf (_gbbf .ContextualSpacing ){_eeca =0;_fcad =0;};_ebec ._ge =_aaaf ;if _dgec :=_gbbf .Ind ;_dgec !=nil {if _agfe :=_dgec .FirstLineAttr ;_agfe !=nil {if _agfe .ST_UnsignedDecimalNumber !=nil {_gcf =_ecb .PointsFromTwips (int64 (*_agfe .ST_UnsignedDecimalNumber ));};};if _eadb :=_dgec .HangingAttr ;_eadb !=nil {if _eadb .ST_UnsignedDecimalNumber !=nil {_gcf -=_ecb .PointsFromTwips (int64 (*_eadb .ST_UnsignedDecimalNumber ));};};if _bgc :=_dgec .LeftAttr ;_bgc !=nil {if _bgc .Int64 !=nil {_eab =_ecb .PointsFromTwips (*_bgc .Int64 );};};if _egcc :=_dgec .RightAttr ;_egcc !=nil {if _egcc .Int64 !=nil {_cdg =_ecb .PointsFromTwips (*_egcc .Int64 );};};};if _gbbf .PBdr !=nil {_fgb :=_ebbg ._gcda ._aga .Right -_ebbg ._gcda ._aga .Left ;_ebcd :=_ebbg ._gcda ._aga .Bottom -_ebbg ._gcda ._aga .Top ;if _ebaf :=_gbbf .PBdr .Top ;_ebaf !=nil {_eddb :=0.0;if _ebcfc :=_ebaf .SzAttr ;_ebcfc !=nil {_eddb =float64 (*_ebcfc )*_fgb /4;};_adfa :=0.0;if _badfb :=_ebaf .SpaceAttr ;_badfb !=nil {_adfa =float64 (*_badfb )*_ga .Pixel72 ;};var _gdbc _ec .Color ;if _acgg :=_ebaf .ColorAttr ;_acgg !=nil {if _bddd :=_acgg .ST_HexColorAuto ;_bddd ==_edg .ST_HexColorAutoAuto {_gdbc =_ec .ColorBlack ;};if _bdc :=_acgg .ST_HexColorRGB ;_bdc !=nil {_gdbc =_ec .ColorRGBFromHex ("\u0023"+*_bdc );};};_dged :=&borderLine {_bbce :_eddb ,_cb :_ecb .BorderPositionTop ,_egg :1.0,_cfd :_gdbc ,_cbg :_adfa };_ebec ._abe =append (_ebec ._abe ,_dged );};if _decb :=_gbbf .PBdr .Left ;_decb !=nil {_acaef :=0.0;if _egbd :=_decb .SzAttr ;_egbd !=nil {_acaef =float64 (*_egbd )*_ebcd /4;};_abfbc :=0.0;if _aabd :=_decb .SpaceAttr ;_aabd !=nil {_abfbc =float64 (*_aabd )*_ga .Pixel72 ;};var _bgge _ec .Color ;if _ggdd :=_decb .ColorAttr ;_ggdd !=nil {if _daf :=_ggdd .ST_HexColorAuto ;_daf ==_edg .ST_HexColorAutoAuto {_bgge =_ec .ColorBlack ;};if _agab :=_ggdd .ST_HexColorRGB ;_agab !=nil {_bgge =_ec .ColorRGBFromHex ("\u0023"+*_agab );};};_edce :=&borderLine {_cb :_ecb .BorderPositionLeft ,_bbce :1.0,_egg :_acaef ,_cfd :_bgge ,_cbg :_abfbc };_ebec ._abe =append (_ebec ._abe ,_edce );};if _fbgb :=_gbbf .PBdr .Right ;_fbgb !=nil {_aagb :=0.0;if _bcggg :=_fbgb .SzAttr ;_bcggg !=nil {_aagb =float64 (*_bcggg )*_ebcd /4;};_fefg :=0.0;if _cac :=_fbgb .SpaceAttr ;_cac !=nil {_fefg =float64 (*_cac )*_ga .Pixel72 ;};var _dcaf _ec .Color ;if _ffb :=_fbgb .ColorAttr ;_ffb !=nil {if _ccaf :=_ffb .ST_HexColorAuto ;_ccaf ==_edg .ST_HexColorAutoAuto {_dcaf =_ec .ColorBlack ;};if _aabda :=_ffb .ST_HexColorRGB ;_aabda !=nil {_dcaf =_ec .ColorRGBFromHex ("\u0023"+*_aabda );};};_dabf :=&borderLine {_cb :_ecb .BorderPositionRight ,_bbce :1.0,_egg :_aagb ,_cfd :_dcaf ,_cbg :_fefg };_ebec ._abe =append (_ebec ._abe ,_dabf );};if _dccf :=_gbbf .PBdr .Bottom ;_dccf !=nil {_bbd :=0.0;if _dbg :=_dccf .SzAttr ;_dbg !=nil {_bbd =float64 (*_dbg )*_fgb /4;};_fegb :=0.0;if _gbef :=_dccf .SpaceAttr ;_gbef !=nil {_fegb =float64 (*_gbef )*_ga .Pixel72 ;};var _bdbd _ec .Color ;if _bddb :=_dccf .ColorAttr ;_bddb !=nil {if _bbgc :=_bddb .ST_HexColorAuto ;_bbgc ==_edg .ST_HexColorAutoAuto {_bdbd =_ec .ColorBlack ;};if _afgf :=_bddb .ST_HexColorRGB ;_afgf !=nil {_bdbd =_ec .ColorRGBFromHex ("\u0023"+*_afgf );};};_dfcb :=&borderLine {_cb :_ecb .BorderPositionBottom ,_bbce :_bbd ,_egg :1.0,_cfd :_bdbd ,_cbg :_fegb };_ebec ._abe =append (_ebec ._abe ,_dfcb );};};_cadef :=_ebbg ._gcda ._gd ;if len (_cadef )> 0{_eeca -=_cadef [len (_cadef )-1]._fga .Bottom ;if _eeca < 0{_eeca =0;};};_ebec ._fga =&_ecb .Rectangle {Top :_eeca ,Bottom :_fcad ,Left :_eab ,Right :_cdg };_ebec ._aaa =_gcf ;return _eeca ,_eab ;};func _degd (_eacfc int ,_efce bool )string {_dcg :=(_eacfc -1)/26+1;_fge :=byte ((_eacfc -1)%26);if _efce {_fge +=byte (65);}else {_fge +=byte (97);};_geac :=_ed .NewBuffer ([]byte {});for _gfee :=0;_gfee < _dcg ;_gfee ++{_geac .Write ([]byte {_fge });};return _geac .String ();};func (_beca *convertContext )addCurrentParagraphToCurrentPage (){_beca ._gcda ._cd =_beca ._eeeg ._bb +_beca ._eeeg ._fga .Top +_beca ._eeeg ._ggf +_beca ._eeeg ._fga .Bottom ;_beca ._gcda ._be =append (_beca ._gcda ._be ,_beca ._eeeg ._aae ...);_beca ._gcda ._gf =append (_beca ._gcda ._gf ,_beca ._eeeg ._gfc ...);_beca ._gcda ._ce =append (_beca ._gcda ._ce ,_beca ._eeeg ._gea ...);_beca ._gcda ._bag =append (_beca ._gcda ._bag ,_beca ._eeeg ._ecf ...);_beca ._gcda ._ef =append (_beca ._gcda ._ef ,_beca ._eeeg ._ged ...);_beca ._gcda ._gd =append (_beca ._gcda ._gd ,_beca ._eeeg );_beca .adjustRightBoundOfLastSpan ();_beca .alignParagraph ();if len (_beca ._gcda ._gc )==0&&len (_beca ._eeeg ._ddd )> 0{_beca ._gcda ._aga .Bottom -=_dd ;};_beca ._gcda ._gc =append (_beca ._gcda ._gc ,_beca ._eeeg ._ddd ...);_beca ._gcda ._aga .Bottom -=_beca ._eeeg ._edb ;};func (_afcd *convertContext )addRelativeCBCs (_fcce []*_edg .EG_ContentBlockContent ){for _ ,_gedd :=range _fcce {_afcd .addHdrFtr (_gedd .P );};};func (_ddba *convertContext )makePdfImageFromGraphics (_bgb *_fc .Pic )(*_ec .Image ,error ){if _ggab :=_bgb .BlipFill ;_ggab !=nil {if _ffac :=_ggab .Blip ;_ffac !=nil {if _fdcda :=_ffac .EmbedAttr ;_fdcda !=nil {_ecbb ,_ffebb :=_ddba ._fbfe .GetImageObjByRelId (*_fdcda );if _ffebb !=nil {return nil ,_ffebb ;};_bdgf ,_ffebb :=_fb .Open (_ecbb .Path );if _ffebb !=nil {return nil ,_ffebb ;};_dfbc ,_ffebb :=_e .ReadAll (_bdgf );if _ffebb !=nil {return nil ,_ffebb ;};_edfc ,_ffebb :=_ddba ._baba .NewImageFromData (_dfbc );if _ffebb !=nil {return nil ,_ffebb ;};return _edfc ,nil ;};};};return nil ,nil ;};func (_ebe *convertContext )alignSymbolsVertically (){for _ ,_gdcf :=range _ebe ._afdbf {for _ ,_fgc :=range _gdcf ._gd {for _ ,_abc :=range _fgc ._cea {_bbe :=0.0;for _ ,_aafg :=range _abc ._efe {for _ ,_afc :=range _aafg ._aaaa {for _ ,_debf :=range _afc ._ace {if _debf ._eff > _bbe {_bbe =_debf ._eff ;};};};};for _ ,_gaf :=range _abc ._efe {for _ ,_bdg :=range _gaf ._aaaa {for _ ,_bee :=range _bdg ._ace {if _bee ._af < _bbe {_bee ._dba =_bbe -_bee ._af ;};};};};};};};};
|
|
|
|
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
|
|
func RegisterFont (name string ,style FontStyle ,font *_cg .PdfFont ){_ecb .RegisterFont (name ,style ,font );};func _egfe (_facg ,_ecdg *_edg .CT_RPr )*_edg .CT_RPr {if _facg ==nil {return _ecdg ;};if _ecdg ==nil {return _facg ;};if _facg .RStyle ==nil {_facg .RStyle =_ecdg .RStyle ;};if _facg .RFonts ==nil {_facg .RFonts =_ecdg .RFonts ;};if _facg .B ==nil {_facg .B =_ecdg .B ;};if _facg .BCs ==nil {_facg .BCs =_ecdg .BCs ;};if _facg .I ==nil {_facg .I =_ecdg .I ;};if _facg .ICs ==nil {_facg .ICs =_ecdg .ICs ;};if _facg .Caps ==nil {_facg .Caps =_ecdg .Caps ;};if _facg .SmallCaps ==nil {_facg .SmallCaps =_ecdg .SmallCaps ;};if _facg .Strike ==nil {_facg .Strike =_ecdg .Strike ;};if _facg .Dstrike ==nil {_facg .Dstrike =_ecdg .Dstrike ;};if _facg .Outline ==nil {_facg .Outline =_ecdg .Outline ;};if _facg .Shadow ==nil {_facg .Shadow =_ecdg .Shadow ;};if _facg .Emboss ==nil {_facg .Emboss =_ecdg .Emboss ;};if _facg .Imprint ==nil {_facg .Imprint =_ecdg .Imprint ;};if _facg .NoProof ==nil {_facg .NoProof =_ecdg .NoProof ;};if _facg .SnapToGrid ==nil {_facg .SnapToGrid =_ecdg .SnapToGrid ;};if _facg .Vanish ==nil {_facg .Vanish =_ecdg .Vanish ;};if _facg .WebHidden ==nil {_facg .WebHidden =_ecdg .WebHidden ;};if _facg .Color ==nil {_facg .Color =_ecdg .Color ;};if _facg .Spacing ==nil {_facg .Spacing =_ecdg .Spacing ;};if _facg .W ==nil {_facg .W =_ecdg .W ;};if _facg .Kern ==nil {_facg .Kern =_ecdg .Kern ;};if _facg .Position ==nil {_facg .Position =_ecdg .Position ;};if _facg .Sz ==nil {_facg .Sz =_ecdg .Sz ;};if _facg .SzCs ==nil {_facg .SzCs =_ecdg .SzCs ;};if _facg .Highlight ==nil {_facg .Highlight =_ecdg .Highlight ;};if _facg .U ==nil {_facg .U =_ecdg .U ;};if _facg .Effect ==nil {_facg .Effect =_ecdg .Effect ;};if _facg .Bdr ==nil {_facg .Bdr =_ecdg .Bdr ;};if _facg .Shd ==nil {_facg .Shd =_ecdg .Shd ;};if _facg .FitText ==nil {_facg .FitText =_ecdg .FitText ;};if _facg .VertAlign ==nil {_facg .VertAlign =_ecdg .VertAlign ;};if _facg .Rtl ==nil {_facg .Rtl =_ecdg .Rtl ;};if _facg .Cs ==nil {_facg .Cs =_ecdg .Cs ;};if _facg .Em ==nil {_facg .Em =_ecdg .Em ;};if _facg .Lang ==nil {_facg .Lang =_ecdg .Lang ;};if _facg .EastAsianLayout ==nil {_facg .EastAsianLayout =_ecdg .EastAsianLayout ;};if _facg .SpecVanish ==nil {_facg .SpecVanish =_ecdg .SpecVanish ;};if _facg .OMath ==nil {_facg .OMath =_ecdg .OMath ;};if _facg .RPrChange ==nil {_facg .RPrChange =_ecdg .RPrChange ;};return _facg ;};func init (){_gcbd =_f .MustCompile ("\u0053E\u0054 \u0028\u002e\u002b\u0029\u0020\u0022\u0028\u002e\u002b\u0029\u0022");_bga =_f .MustCompile ("\u0052\u0045\u0046\u0020\u0028\u002e\u002b\u003f\u0029\u0020");};type paragraph struct{_aaa float64 ;_fga *_ecb .Rectangle ;_agb float64 ;_ddc float64 ;_df float64 ;_bb float64 ;_ggf float64 ;_faa _ec .TextAlignment ;_ge float64 ;_cea []*line ;_db *tableWrapper ;_aae []*image ;_gfc []*image ;_gea []*block ;_ecf []*block ;_ddd []*note ;_edb float64 ;_ged []*zoneToSkip ;_fab float64 ;_ff bool ;_abe []*borderLine ;};const _fe =0.67;var _ab =_agadgg (1.9);type tableWrapper struct{_fd *_ec .Table ;_de float64 ;};type line struct{_dg float64 ;_cde float64 ;_ca float64 ;_cc float64 ;_cef float64 ;_efe []*span ;};type note struct{_fa string ;_aa []*_edg .EG_BlockLevelElts ;_aad *_ec .Block ;};func (_fbgbd *convertContext )addRelativeEGPC (_bgcf []*_edg .EG_PContent ,_fcdf *_edg .CT_PPr ,_eeac *prefix ){if len (_bgcf )==0{_fbgbd ._aed .Append ("\u000d");return ;};if _eeac !=nil {_fbgbd ._eade =_eeac ;};for _ ,_gdbbe :=range _bgcf {for _ ,_fccc :=range _gdbbe .FldSimple {if _fccc !=nil {_fbgbd .addRelativeEGPC (_fccc .EG_PContent ,_fcdf ,_eeac );};};if _gaac :=_gdbbe .Hyperlink ;_gaac !=nil {_fbgbd ._effd =_gaac ;_fbgbd .addRelativeCRC (_gaac .EG_ContentRunContent ,_fcdf );};_fbgbd ._effd =nil ;_fbgbd .addRelativeCRC (_gdbbe .EG_ContentRunContent ,_fcdf );};};func (_egbg *convertContext )addRelativeRIC (_fcfb *_edg .EG_RunInnerContent ,_gecd *_edg .CT_RPr ){var _bfec *_ec .TextChunk ;var _dgaf ,_ddgd bool ;_aagba :=false ;if _fcfb ==nil {if _egbg ._eade !=nil {_dgaf =true ;_bfec =_egbg ._aed .Append (_egbg ._eade ._bfdc );};}else {if _fcfb .T !=nil &&_fcfb .T .Content !=""{_eggc :=_fcfb .T .Content ;if _eddbc :=_egbg ._effd ;_eddbc !=nil &&_eddbc .IdAttr !=nil {_aagba =true ;_bfec =_egbg ._aed .AddExternalLink (_eggc ,_egbg ._fbfe .GetTargetByRelId (*_eddbc .IdAttr ));}else {_bfec =_egbg ._aed .Append (_eggc );};}else if _ccdg :=_fcfb .EndnoteReference ;_ccdg !=nil {_ccgb :=_egbg ._fbfe .BodySection ().X ();_dgaf =true ;_bdad :=_ccdg .IdAttr ;_dedg :=_bdad ;_deab :=_edg .ST_NumberFormatLowerRoman ;if _gfgeb :=_ccgb .EndnotePr ;_gfgeb !=nil {if _fddc :=_gfgeb .NumFmt ;_fddc !=nil {_deab =_fddc .ValAttr ;};if _faec :=_gfgeb .NumStart ;_faec !=nil {_dedg +=_faec .ValAttr -1;};};_dadc :=_ggea (_dedg ,_deab );_gfdg :=_egbg ._fbfe .Endnote (_bdad ).X ();if _gfdg !=nil {_egbg ._gab =append (_egbg ._gab ,note {_fa :_dadc ,_aa :_gfdg .EG_BlockLevelElts });_bfec =_egbg ._aed .Append (_dadc );};}else if _acd :=_fcfb .FootnoteReference ;_acd !=nil {_adfea :=_egbg ._fbfe .BodySection ().X ();_dgaf =true ;_acfg :=_acd .IdAttr ;_bbfa :=_acfg ;_gaeg :=_edg .ST_NumberFormatDecimal ;if _eafg :=_adfea .FootnotePr ;_eafg !=nil {if _adg :=_eafg .NumFmt ;_adg !=nil {_gaeg =_adg .ValAttr ;};if _abafc :=_eafg .NumStart ;_abafc !=nil {_bbfa +=_abafc .ValAttr -1;};};_cceg :=_ggea (_bbfa ,_gaeg );_bfec =_egbg ._aed .Append (_cceg );};};if _bfec !=nil {_bfec .Style ,_ ,_ ,_ =_egbg .makeRunStyle (_gecd ,_dgaf ,_ddgd ,true ,false ,_aagba );};};func (_dbcc *convertContext )assignPropsToRelativeParagraph (_bgac *_edg .CT_PPr ,_dbe *_ec .StyledParagraph )(float64 ,float64 ){_bgac =_dgad (_bgac ,_dbcc ._fdba ,_dbcc ._bebc );_bdge :=1.1;if _bgac ==nil {_dbe .SetLineHeight (_bdge );return 0,0;};if _bgac .Jc !=nil {var _fgad _ec .TextAlignment ;switch _bgac .Jc .ValAttr {case _edg .ST_JcRight :_fgad =_ec .TextAlignmentRight ;case _edg .ST_JcCenter :_fgad =_ec .TextAlignmentCenter ;case _edg .ST_JcBoth :_fgad =_ec .TextAlignmentJustify ;case _edg .ST_JcEnd :_fgad =_ec .TextAlignmentRight ;default:_fgad =_ec .TextAlignmentLeft ;};_dbe .SetTextAlignment (_fgad );};var _gfbg ,_edaee ,_bdf ,_bca float64 ;if _cgbc :=_bgac .Spacing ;_cgbc !=nil {if _gcdad :=_cgbc .BeforeAttr ;_gcdad !=nil {if _gcdad .ST_UnsignedDecimalNumber !=nil {_gfbg =_ecb .PointsFromTwips (int64 (*_gcdad .ST_UnsignedDecimalNumber ));};};if _dgag :=_cgbc .AfterAttr ;_dgag !=nil {if _dgag .ST_UnsignedDecimalNumber !=nil {_edaee =_ecb .PointsFromTwips (int64 (*_dgag .ST_UnsignedDecimalNumber ));};};if _agfa :=_cgbc .LineAttr ;_agfa !=nil {if _agfa .Int64 !=nil {_bdge =float64 (*_agfa .Int64 /240);};};};if _bgac .ContextualSpacing !=nil &&_aabf (_bgac .ContextualSpacing ){_gfbg =0;_edaee =0;};if _age :=_bgac .TextAlignment ;_age !=nil {switch _age .ValAttr {case _edg .ST_TextAlignmentTop :_gfbg =(_bdge -(_gfbg +_edaee ))*0.5;};};_dbe .SetLineHeight (_bdge );if _gfdb :=_bgac .Ind ;_gfdb !=nil {if _dfadd :=_gfdb .LeftAttr ;_dfadd !=nil {if _dfadd .Int64 !=nil {_bdf =_ecb .PointsFromTwips (*_dfadd .Int64 );};};if _cfeg :=_gfdb .RightAttr ;_cfeg !=nil {if _cfeg .Int64 !=nil {_bca =_ecb .PointsFromTwips (*_cfeg .Int64 );};};};_dbe .SetMargins (_bdf ,_bca ,_gfbg -_bdge /2,_edaee +_bdge /2);return _gfbg ,_bdf ;};var _gegf float64 ;func (_eec *convertContext )addAbsoluteCBCs (_dfc []*_edg .EG_ContentBlockContent ,_ega []*_edg .EG_ContentBlockContent ){_edc :="";for _ ,_bec :=range _ega {for _ ,_cdc :=range _bec .P {if _cdc .PPr !=nil &&_cdc .PPr .PStyle !=nil {_edc =_cdc .PPr .PStyle .ValAttr ;break ;};};};for _ ,_aef :=range _dfc {for _ ,_eef :=range _aef .P {_eec .newParagraph ();if _eef .PPr !=nil &&_eef .PPr .PStyle ==nil {_dga :=_eec ._fbfe .Styles .ParagraphStyles ();for _ ,_gac :=range _dga {if _acg :=_gac .X ().DefaultAttr ;_acg !=nil {if _gdf :=_acg .Bool ;_gdf !=nil &&*_gdf {_eef .PPr =_dgad (_eef .PPr ,_gac .X ().PPr ,_gac .X ().RPr );};if _egd :=_acg .ST_OnOff1 ;_egd ==_ecd .ST_OnOff1On {_eef .PPr =_dgad (_eef .PPr ,_gac .X ().PPr ,_gac .X ().RPr );};break ;};};};_gdcb ,_aaf :=_eec .combinePPrWithStyles (_eef .PPr );if _aaf !=nil {_eec ._eade =_aaf ;};if _eef .PPr !=nil &&_eef .PPr .PStyle !=nil {if _eef .PPr .PStyle .ValAttr !=_edc {_eef .PPr .ContextualSpacing =nil ;};};_eec .assignPropsToAbsoluteParagraph (_gdcb ,_eec ._eeeg );_eec .determineParagraphBounds ();_eec .newLine ();_eec .newWord ();_gae :=_eef .EG_PContent ;if len (_gae )==0{_eec .addEmptyLine ();}else {_eec .addAnchorBlocks (_gae );_eec .addAnchorExtra (_gae );if _eec .addAbsoluteEGPC (_gae ,_gdcb ){_eec .newPage ();continue ;};if _eec .currentParagraphOverflowsCurrentPage (){_eec .moveCurrentParagraphToNewPage ();_eec .addAbsoluteEGPC (_gae ,_gdcb );};_eec .addCurrentWordToParagraph ();};_eec .addCurrentParagraphToCurrentPage ();};for _ ,_eeg :=range _aef .Tbl {if _eec ._eeeg ==nil {_eec .newParagraph ();_eec .determineParagraphBounds ();_eec .newLine ();_eec .newWord ();};_eec .addAbsoluteTable (_eeg );};};};type zoneToSkip struct{_acc *_ecb .Rectangle ;_fg *_edg .WdEG_WrapTypeChoice ;};func _bgeb (_dfed string )(float64 ,float64 ){_gdge :=_ag .SplitN (_dfed ,"\u002c",2);_effg :=_ag .ReplaceAll (_gdge [0],"\u0070\u0074","");_edcg :=_ag .ReplaceAll (_gdge [1],"\u0070\u0074","");_bdcc ,_agbf :=_g .ParseFloat (_effg ,64);if _agbf !=nil {_c .Log .Debug ("\u0045\u0052RO\u0052\u003a\u0020U\u006e\u0061\u0062\u006ce p\u0061rs\u0065\u0020\u0078\u003a\u0020\u0025\u0076 t\u006f\u0020\u0066\u006c\u006f\u0061\u00746\u0034",_agbf .Error ());};_beed ,_agbf :=_g .ParseFloat (_edcg ,64);if _agbf !=nil {_c .Log .Debug ("\u0045\u0052RO\u0052\u003a\u0020U\u006e\u0061\u0062\u006ce p\u0061rs\u0065\u0020\u0079\u003a\u0020\u0025\u0076 t\u006f\u0020\u0066\u006c\u006f\u0061\u00746\u0034",_agbf .Error ());};return _bdcc ,_beed ;};func _efca (_acgb *_edg .CT_ParaRPr ,_ffeb *_edg .CT_RPr )*_edg .CT_ParaRPr {if _ffeb ==nil {return _acgb ;};if _acgb ==nil {_acgb =_edg .NewCT_ParaRPr ();if _ffeb .B !=nil {_acgb .B =_ffeb .B ;};if _ffeb .BCs !=nil {_acgb .BCs =_ffeb .BCs ;};if _ffeb .I !=nil {_acgb .I =_ffeb .I ;};if _ffeb .ICs !=nil {_acgb .ICs =_ffeb .ICs ;};if _ffeb .U !=nil {_acgb .U =_ffeb .U ;};if _ffeb .Color !=nil {_acgb .Color =_ffeb .Color ;};return _acgb ;};if _acgb .B !=_ffeb .B {_acgb .B =_ffeb .B ;};if _acgb .BCs !=_ffeb .BCs {_acgb .BCs =_ffeb .BCs ;};if _acgb .I !=_ffeb .I {_acgb .I =_ffeb .I ;};if _acgb .ICs !=_ffeb .ICs {_acgb .ICs =_ffeb .ICs ;};if _acgb .U !=_ffeb .U {_acgb .U =_ffeb .U ;};if _acgb .Color !=_ffeb .Color {_acgb .Color =_ffeb .Color ;};return _acgb ;};
|
|
|
|
// Options contains the options for convert process -
|
|
// e.g ProcessFields is when document contains fields
|
|
// and the value need to be processed also.
|
|
type Options struct{
|
|
|
|
// ProcessFields process the document fields if set to true, default is `false`.
|
|
ProcessFields bool ;
|
|
|
|
// EnableFontSubsetting process document with subsetting font to reduce size result.
|
|
// Default value is `true`.
|
|
EnableFontSubsetting bool ;
|
|
|
|
// FontFiles location of fonts for convert process.
|
|
FontFiles []string ;
|
|
|
|
// FontDirectory location of font directory for convert process.
|
|
// This will load all font files inside directoy if set
|
|
// we recommend to use FontFiles for better performance.
|
|
FontDirectory string ;};func _deac (_ddgba *_gg .Document ,_fbcd string )[]*_edg .CT_TblStylePr {_aded :=_ddgba .GetStyleByID (_fbcd );var _ddfd []*_edg .CT_TblStylePr ;if _gcea :=_aded .X ();_gcea !=nil {if _dadf :=_gcea .BasedOn ;_dadf !=nil {_deac (_ddgba ,_dadf .ValAttr );};if len (_gcea .TblStylePr )> 0{_ddfd =_gcea .TblStylePr ;};};return _ddfd ;};type block struct{_ee *_ec .Block ;_ecbg float64 ;_eccg float64 ;_edde bool ;_gdb float64 ;_ad _ec .Color ;};func (_bdeb *convertContext )makeRunStyle (_aedf *_edg .CT_RPr ,_ecbgg ,_agec ,_dafa ,_cbac ,_baff bool )(_ec .TextStyle ,bool ,bool ,*_ec .Color ){var _faed *_ec .Color ;_fbbd :=_bdeb ._baba .NewTextStyle ();if _aedf !=nil {_fabe :=_ecb .FontStyle_Regular ;_fbd :=_aabf (_aedf .B );_dbadg :=_aabf (_aedf .I );if _fbd &&_dbadg {_fabe =_ecb .FontStyle_BoldItalic ;}else if _fbd {_fabe =_ecb .FontStyle_Bold ;}else if _dbadg {_fabe =_ecb .FontStyle_Italic ;};if _cbac {_fbbd .Font =_ecb .AssignStdFontByName (_fbbd ,"\u0053\u0079\u006d\u0062\u006f\u006c");}else {_gbfb :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _cfca :=_aedf .RFonts ;_cfca !=nil {if _efba :=_cfca .AsciiAttr ;_efba !=nil {_gbfb =*_efba ;}else if _begc :=_cfca .HAnsiAttr ;_begc !=nil {_gbfb =*_begc ;}else if _eegf :=_cfca .CsAttr ;_eegf !=nil {_gbfb =*_eegf ;}else {_fecb :=_bdeb ._bebc ;if _fecb !=nil {_dda :="";if _dddcg :=_fecb .RFonts ;_dddcg !=nil {if _geda :=_cfca .HintAttr ;_geda ==_edg .ST_HintEastAsia {if _dddcg .EastAsiaAttr !=nil {_gbfb =*_fecb .RFonts .EastAsiaAttr ;}else {if _dddcg .EastAsiaThemeAttr ==_edg .ST_ThemeMajorEastAsia {_dda =_gefcd ;};if _dddcg .EastAsiaThemeAttr ==_edg .ST_ThemeMinorEastAsia {_dda =_ddgbe ;};};}else {if _edge :=_dddcg .AsciiAttr ;_edge !=nil {_gbfb =*_edge ;}else if _ccfe :=_dddcg .HAnsiAttr ;_ccfe !=nil {_gbfb =*_ccfe ;};};if _gbfb =="\u0064e\u0066\u0061\u0075\u006c\u0074"{if _dda ==""{if _dddcg .EastAsiaThemeAttr ==_edg .ST_ThemeMajorEastAsia {_dda =_gefcd ;}else if _dddcg .EastAsiaThemeAttr ==_edg .ST_ThemeMinorEastAsia {_dda =_ddgbe ;}else if _dbec :=_dddcg .AsciiThemeAttr ;_dbec ==_edg .ST_ThemeMajorAscii ||_dbec ==_edg .ST_ThemeMajorHAnsi {_dda =_ceef ;}else if _cgcc :=_dddcg .AsciiThemeAttr ;_cgcc ==_edg .ST_ThemeMinorAscii ||_cgcc ==_edg .ST_ThemeMinorHAnsi {_dda =_ddga ;}else {if _adbb :=_dddcg .HAnsiThemeAttr ;_adbb ==_edg .ST_ThemeMajorAscii ||_adbb ==_edg .ST_ThemeMajorHAnsi {_dda =_ceef ;}else if _eefg :=_dddcg .HAnsiThemeAttr ;_eefg ==_edg .ST_ThemeMinorAscii ||_eefg ==_edg .ST_ThemeMinorHAnsi {_dda =_ddga ;};};};_cbfc :=_bdeb ._fbfe .Themes ();for _ ,_beag :=range _cbfc {if _beag .ThemeElements !=nil {if _dcaff :=_beag .ThemeElements .FontScheme ;_dcaff !=nil {if _dcaff .MajorFont !=nil &&_dda ==_gefcd {if _dcaff .MajorFont .Ea !=nil {_gbfb =_dcaff .MajorFont .Ea .TypefaceAttr ;break ;};}else if _dcaff .MinorFont !=nil &&_dda ==_ddgbe {if _dcaff .MinorFont .Ea !=nil {_gbfb =_dcaff .MinorFont .Ea .TypefaceAttr ;break ;};}else if _dcaff .MajorFont !=nil &&_dda ==_ceef {if _dcaff .MajorFont .Latin !=nil {_gbfb =_dcaff .MajorFont .Latin .TypefaceAttr ;break ;};}else if _dcaff .MinorFont !=nil &&_dda ==_ddga {if _dcaff .MinorFont .Latin !=nil {_gbfb =_dcaff .MinorFont .Latin .TypefaceAttr ;break ;};};};};};};};};};};if _gbfb !="\u0064e\u0066\u0061\u0075\u006c\u0074"&&!_ecab (_gbfb ){if _dcdfa :=_bdeb ._fbfe .FontTable ();_dcdfa !=nil {for _ ,_dbbb :=range _dcdfa .Font {if _dbbb .NameAttr ==_gbfb &&_dbbb .AltName !=nil &&_ecab (_dbbb .AltName .ValAttr ){_gbfb =_dbbb .AltName .ValAttr ;break ;};if _dbbb .AltName !=nil &&!_ecab (_dbbb .AltName .ValAttr )&&_dbbb .AltName .ValAttr ==_gbfb {_gbfb =_dbbb .NameAttr ;break ;};};};};if _acaf ,_gage :=_ecb .StdFontsMap [_gbfb ];_gage {_fbbd .Font =_ecb .AssignStdFontByName (_fbbd ,_acaf [_fabe ]);}else if _ggdcg :=_ecb .GetRegisteredFont (_gbfb ,_fabe );_ggdcg !=nil {_fbbd .Font =_ggdcg ;}else {_c .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0025\u0073\u0020\u0077\u0069\u0074h\u0020\u0073\u0074\u0079\u006c\u0065\u0020\u0025s\u0020i\u0073\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0072\u0065\u0073\u0065\u0074 \u0074\u006f\u0020\u0064\u0065\u0066\u0061\u0075\u006c\u0074\u002e",_gbfb ,_fabe );_fbbd .Font =_ecb .AssignStdFontByName (_fbbd ,_ecb .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_fabe ]);};};_edfg :=_cebd (_aedf .Sz ,_aedf .SzCs );if _ddbd :=_aedf .VertAlign ;_ddbd !=nil {_cecg :=_ddbd .ValAttr ;_ecbgg =_cecg ==_ecd .ST_VerticalAlignRunSuperscript ;_agec =_cecg ==_ecd .ST_VerticalAlignRunSubscript ;};if _edfg > _bdeb ._ddcb {_bdeb ._ddcb =_edfg ;};if _ecbgg ||_agec {_edfg *=0.64;};if _dafa {if _ecbgg {_fbbd .TextRise =1.5;};if _agec {_fbbd .TextRise =-1.5;};};_fbbd .FontSize =_edfg ;_gfdd :=0.0;if _gecc :=_aedf .Spacing ;_gecc !=nil {_gfdd =_ecb .PointsFromTwips (*_gecc .ValAttr .Int64 );if _gfdd < 0.0{_gfdd =0.0;};};_fbbd .CharSpacing =_gfdd ;_cgfe :=0.0;if _cfdb :=_aedf .Position ;_cfdb !=nil {_cgfe =float64 (*_cfdb .ValAttr .Int64 )/24*_edfg ;};_fbbd .TextRise =_cgfe ;_cfad :=_ec .ColorBlack ;if _aedf .Color !=nil {_aagbf :=_aedf .Color .ValAttr .ST_HexColorRGB ;if _aagbf !=nil {_cfad =_ec .ColorRGBFromHex ("\u0023"+*_aagbf );};};if _dafa {_ecaf ,_agbb ,_ebgg :=_cfad .ToRGB ();_ecaf ,_agbb ,_ebgg =_ecb .Lighten (_ecaf ),_ecb .Lighten (_agbb ),_ecb .Lighten (_ebgg );_cfad =_ec .ColorRGBFromArithmetic (_ecaf ,_agbb ,_ebgg );};_fbbd .Color =_cfad ;if _baff {_faed =&_cfad ;};if _aedf .U !=nil &&_aedf .U .ValAttr !=_edg .ST_UnderlineNone &&!_cbac {_faed =&_cfad ;if _gcfc :=_aedf .U .ColorAttr ;_gcfc !=nil {if _bbcd :=_gcfc .ST_HexColorRGB ;_bbcd !=nil {_facb :=_ec .ColorRGBFromHex ("\u0023"+*_bbcd );_faed =&_facb ;};};};};return _fbbd ,_ecbgg ,_agec ,_faed ;};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func (_bfgf *convertContext )addHdrFtr (_agcg []*_edg .CT_P ){for _ ,_cegg :=range _agcg {_fafb :=_bfgf ._baba .NewStyledParagraph ();_bfgf ._aed =_fafb ;_abgbf ,_adfe :=_bfgf .combinePPrWithStyles (_cegg .PPr );_fceg ,_dcgb :=_bfgf .assignPropsToRelativeParagraph (_abgbf ,_fafb );_bfgf .addRelativeEGPC (_cegg .EG_PContent ,_abgbf ,_adfe );if _bfgf ._abeb {_bfgf ._baba .DrawHeader (func (_gdcdg *_ec .Block ,_ddcg _ec .HeaderFunctionArgs ){_fafb .SetPos (_bfgf ._aabg +_dcgb ,_fceg +_bfgf ._dfdf );_gdcdg .Draw (_fafb );});}else if _bfgf ._aaad {_bfgf ._baba .DrawFooter (func (_dgeae *_ec .Block ,_bgce _ec .FooterFunctionArgs ){_fafb .SetPos (_bfgf ._aabg +_dcgb ,_fceg +_bfgf ._ffceg -_bfgf ._ddcb );_dgeae .Draw (_fafb );});};};};func (_afce *convertContext )addAbsoluteRIC (_affb *_edg .EG_RunInnerContent ,_fcac *_edg .CT_RPr )bool {var _fafg ,_fbga bool ;_bfa :=[]*symbol {};_dgga :=false ;if _affb ==nil {if _afce ._eade !=nil {for _ ,_bfag :=range _afce ._eade ._bfdc {if _cebc ,_gdcd :=_cbgc [_bfag ];_gdcd {_fbga =_afce ._eade ._bbfg ;_afce ._eade ._bfdc =string (rune (_cebc ));};};_bfa =_faba (_afce ._eade ._bfdc ,"",true ,false );};}else {if _fedge (_affb ){return true ;}else if _affb .T !=nil &&_affb .T .Content !=""{_geg :=_affb .T .Content ;if _fcac !=nil &&_aabf (_fcac .Caps ){_geg =_ag .ToUpper (_geg );};if _egab :=_afce ._effd ;_egab !=nil &&_egab .IdAttr !=nil {_dgga =true ;_bfa =_faba (_geg ,_afce ._fbfe .GetTargetByRelId (*_egab .IdAttr ),false ,false );}else {_bfa =_faba (_geg ,"",false ,false );};}else if _gdcg :=_affb .EndnoteReference ;_gdcg !=nil {_dfga :=_afce ._fbfe .BodySection ().X ();_cfga :=_gdcg .IdAttr ;_fac :=_cfga ;_defg :=_edg .ST_NumberFormatLowerRoman ;if _gedf :=_dfga .EndnotePr ;_gedf !=nil {if _gadc :=_gedf .NumFmt ;_gadc !=nil {_defg =_gadc .ValAttr ;};if _cce :=_gedf .NumStart ;_cce !=nil {_fac +=_cce .ValAttr -1;};};_dfad :=_ggea (_fac ,_defg );_ceg :=_afce ._fbfe .Endnote (_cfga ).X ();if _ceg !=nil {_afce ._gab =append (_afce ._gab ,note {_fa :_dfad ,_aa :_ceg .EG_BlockLevelElts });_bfa =_faba (_dfad ,"",true ,false );};}else if _fafgg :=_affb .FootnoteReference ;_fafgg !=nil {_dbad :=_afce ._fbfe .BodySection ().X ();_bea :=_fafgg .IdAttr ;_bdba :=_bea ;_eea :=_edg .ST_NumberFormatDecimal ;if _gfce :=_dbad .FootnotePr ;_gfce !=nil {if _aega :=_gfce .NumFmt ;_aega !=nil {_eea =_aega .ValAttr ;};if _fegf :=_gfce .NumStart ;_fegf !=nil {_bdba +=_fegf .ValAttr -1;};};_fffe :=_ggea (_bdba ,_eea );_ecfb :=_afce ._fbfe .Footnote (_bea ).X ();if _ecfb !=nil {_gga :=¬e {_fa :_fffe ,_aa :_ecfb .EG_BlockLevelElts };_cad :=[][]*_edg .EG_ContentBlockContent {};for _ ,_gfcc :=range _ecfb .EG_BlockLevelElts {_cad =append (_cad ,_gfcc .EG_ContentBlockContent );};_bad :=&prefix {_bfdc :_fffe };_fea ,_cfa :=_afce .makePdfBlockFromCBCs (_cad ,_afce ._gcda ._aga .Right -_afce ._gcda ._aga .Left ,_agadgg (1000),nil ,true ,_bad );if _cfa !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006f\u0074\u0020c\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0066\u006fo\u0074\u006e\u006ft\u0065:\u0020\u0025\u0073",_cfa );return false ;};_gga ._aad =_fea ;_afce ._eeeg ._ddd =append (_afce ._eeeg ._ddd ,_gga );_afce ._eeeg ._edb +=_gga ._aad .Height ();_bfa =_faba (_fffe ,"",true ,false );};}else if _gfed :=_affb .InstrText ;_gfed !=nil {_aafe :=_ggae (_gfed .Content );if _aafe !=""{_bfa =_faba (_afce ._agaf [_aafe ],"",false ,false );};}else if _cfba :=_affb .Drawing ;_cfba !=nil {for _ ,_cggc :=range _cfba .Inline {if _bdaf :=_cggc .Graphic ;_bdaf !=nil {if _eaa :=_bdaf .GraphicData ;_eaa !=nil {_ebbc :=_cggc .Extent ;if _ebbc ==nil {return false ;};_ffe :=_ga .FromEMU (_ebbc .CxAttr );_bdac :=_ga .FromEMU (_ebbc .CyAttr );for _ ,_cdf :=range _eaa .Any {if _dddc ,_dcdf :=_cdf .(*_fc .Pic );_dcdf {_acca :=&symbol {_eff :_bdac ,_cgg :_ffe };_fdee ,_ggdf :=_afce .makePdfImageFromGraphics (_dddc );if _ggdf !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0069\u006da\u0067\u0065\u003a\u0020\u0025\u0073",_ggdf );};if _fdee ==nil {_acca ._feg ="\u0020";}else {_fdee .Scale (_ffe /_fdee .Width (),_bdac /_fdee .Height ());_acca ._bbc =_fdee ;_fafg =true ;};_bfa =[]*symbol {_acca };}else if _defe ,_efag :=_cdf .(*_d .Chart );_efag {_aag :=&symbol {_eff :_bdac ,_cgg :_ffe };_ddgbg ,_dfdg :=_afce .makePdfBlockFromChart (_defe ,_ffe ,_bdac );if _dfdg !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_dfdg );};if _ddgbg ==nil {_aag ._feg ="\u0020";}else {_aag ._ced =&block {_ee :_ddgbg };_fafg =true ;};_bfa =[]*symbol {_aag };};};};};};}else if _dagd :=_affb .Pict ;_dagd !=nil {for _ ,_ebdf :=range _dagd .Any {if _accg ,_dfcf :=_ebdf .(*_ggd .Group );_dfcf {if _accg .Rect !=nil {for _ ,_abbb :=range _accg .Rect {_bgg :=_ggb .NewShapeStyle ("");if _abbb .StyleAttr !=nil {_bgg =_ggb .NewShapeStyle (*_abbb .StyleAttr );};_cggbf :=_ec .ColorWhite ;if _abbb .FillcolorAttr !=nil {_cggbf =_ec .ColorRGBFromHex (*_abbb .FillcolorAttr );};_agfc :=_ecb .PointsFromTwips (int64 (_bgg .Width ()));_bffb :=_ecb .PointsFromTwips (int64 (_bgg .Height ()));_ecbd :=_ecb .PointsFromTwips (int64 (_bgg .Left ()-_bgg .Right ()));_adde :=_ecb .PointsFromTwips (int64 (_bgg .Top ()-_bgg .Bottom ()));_ddfa :=&borderLine {_cb :_ecb .BorderPositionBottom ,_bbce :_agfc ,_egg :_bffb ,_cfd :_cggbf };_afce ._eeeg ._abe =append (_afce ._eeeg ._abe ,_ddfa );if _bgg .Position ()==_ggb .ShapeStylePositionAbsolute {_afce ._eebc ._cc =_afce ._eeeg ._ddc +_ecbd ;_afce ._eebc ._dg =_adde ;};};};if _accg .Shape !=nil {for _ ,_fdgd :=range _accg .Shape {_gce :=_ggb .NewShapeStyle ("");if _fdgd .StyleAttr !=nil {_gce =_ggb .NewShapeStyle (*_fdgd .StyleAttr );};_bfd :=_ecb .PointsFromTwips (int64 (_gce .Width ()));_cfbaf :=_ecb .PointsFromTwips (int64 (_gce .Height ()));_ddcc :=_ecb .PointsFromTwips (int64 (_gce .Left ()-_gce .Right ()));_ebbac :=_ecb .PointsFromTwips (int64 (_gce .Top ()-_gce .Bottom ()));if _fdgd .EG_ShapeElements !=nil {for _ ,_ebg :=range _fdgd .EG_ShapeElements {if _ebg .Imagedata !=nil {_fcb :=&symbol {_eff :_bfd ,_cgg :_cfbaf };_fba ,_cagf :=_afce .makePdfImageFromRelId (_ebg .Imagedata .IdAttr );if _cagf !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0069\u006da\u0067\u0065\u003a\u0020\u0025\u0073",_cagf );};if _fba ==nil {_fcb ._feg ="\u0020";}else {_fba .Scale (_bfd /_fba .Width (),_cfbaf /_fba .Height ());_fba .SetPos (_ddcc ,_ebbac );_fcb ._bbc =_fba ;_fafg =true ;};_bfa =[]*symbol {_fcb };if _gce .Position ()==_ggb .ShapeStylePositionAbsolute {_afce ._eebc ._cc =_afce ._eeeg ._ddc +_ddcc ;_afce ._eebc ._dg =_ebbac ;};};};};};};};if _geca ,_gega :=_ebdf .(*_ggd .Shape );_gega {_fbc :=_ggb .NewShapeStyle ("");if _geca .StyleAttr !=nil {_fbc =_ggb .NewShapeStyle (*_geca .StyleAttr );};_fedg :=_ec .ColorWhite ;if _geca .StrokecolorAttr !=nil {_fedg =_ec .ColorRGBFromHex (*_geca .StrokecolorAttr );};if _geca .FillcolorAttr !=nil {_fedg =_ec .ColorRGBFromHex (*_geca .FillcolorAttr );};_dcdfe :=_fbc .Width ();_aea :=_fbc .Height ();_cfc :=_ecb .PointsFromTwips (int64 (_fbc .Left ()-_fbc .Right ()));_ccc :=_ecb .PointsFromTwips (int64 (_fbc .Top ()-_fbc .Bottom ()));_bbbc ,_aba ,_bdda ,_gafa :=_fbc .Margins ();_bbbgd :=&borderLine {_cb :_ecb .BorderPositionBottom ,_bbce :_dcdfe ,_egg :_aea ,_cfd :_fedg };_afce ._eeeg ._abe =append (_afce ._eeeg ._abe ,_bbbgd );_afce ._eeeg ._fga =&_ecb .Rectangle {Top :float64 (_bbbc ),Left :float64 (_aba ),Bottom :float64 (_bdda ),Right :float64 (_gafa )};if _fbc .Position ()==_ggb .ShapeStylePositionAbsolute {_afce ._eebc ._cc =_afce ._eeeg ._ddc +_cfc +float64 (_fbc .Left ());_afce ._eebc ._dg =_ccc ;};};if _cgc ,_bba :=_ebdf .(*_ggd .Line );_bba {_aadf :=_ggb .NewShapeStyle ("");if _cgc .StyleAttr !=nil {_aadf =_ggb .NewShapeStyle (*_cgc .StyleAttr );};_ffdc ,_egbc :=0.0,0.0;if _cgc .FromAttr !=nil {_ffdc ,_egbc =_bgeb (*_cgc .FromAttr );};_aaag ,_cade :=_ffdc ,_egbc ;if _cgc .ToAttr !=nil {_aaag ,_cade =_bgeb (*_cgc .ToAttr );};_befc :=_ec .ColorWhite ;if _cgc .StrokecolorAttr !=nil {_befc =_ec .ColorRGBFromHex (*_cgc .StrokecolorAttr );};_fgcd :=_cade -_egbc ;if _cgc .StrokeweightAttr !=nil {_bbf ,_gbfg :=_g .ParseFloat (_ag .ReplaceAll (*_cgc .StrokeweightAttr ,"\u0070\u0074",""),64);if _gbfg !=nil {_c .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065\u0020\u0070a\u0072\u0073\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006f\u0066\u0020v\u003a\u006c\u0069\u006e\u0065\u0020\u0073\u0074\u0072\u006f\u006b\u0065 w\u0065\u0069\u0067\u0068\u0074\u0020\u0028\u0025\u0073\u0029",_gbfg .Error ());};_fgcd =_bbf ;};_fegg :=&borderLine {_cb :_ecb .BorderPositionBottom ,_bbce :_aaag -_ffdc ,_egg :_fgcd ,_cfd :_befc };_afce ._eeeg ._abe =append (_afce ._eeeg ._abe ,_fegg );if _aadf .Position ()==_ggb .ShapeStylePositionAbsolute {_afce ._eebc ._cc =_afce ._eeeg ._ddc +_ffdc ;_afce ._eebc ._dg =_egbc ;};};};}else if _gbb :=_affb .Tab ;_gbb !=nil {_gafe :=0.0;if _dfadb :=_afce ._cbad .Tabs ;_dfadb !=nil {var (_dagdc =0.0;_agbec =0.0;);for _ ,_fae :=range _dfadb .Tab {_dagdc =_ecb .PointsFromTwips (*_fae .PosAttr .Int64 );};_gafe =_dagdc +_afce ._eeeg ._aaa +_afce ._eeeg ._fga .Left ;for _ ,_acba :=range _afce ._eeeg ._cea {for _ ,_gdec :=range _acba ._efe {for _ ,_gebf :=range _gdec ._aaaa {for _ ,_dee :=range _gebf ._ace {_agbec +=_dee ._cgg ;};};};};_gafe =_gafe -_agbec -_afce ._eeeg ._ddc +_gegf ;if _gafe < _gegf {_gafe =_gegf ;};};_bfa =_faba ("\u0020","",true ,false );_aaee :=_bfa [len (_bfa )-1];_aaee ._cgg =_gafe ;};};var _dfff _ec .TextStyle ;var _dbc ,_cgbd bool ;var _cefe *_ec .Color ;if !_fafg {_dfff ,_dbc ,_cgbd ,_cefe =_afce .makeRunStyle (_fcac ,false ,false ,false ,_fbga ,_dgga );if _dfff .Font !=nil &&(_afce ._dace ==nil ||(_afce ._dace !=nil &&_afce ._dace .EnableFontSubsetting )){_afce ._baba .EnableFontSubsetting (_dfff .Font );};};for _ ,_dge :=range _bfa {if _dge ._bbc !=nil ||_dge ._ced !=nil {_afce .addInlineSymbol (_dge );}else {_dge ._dbf =&_dfff ;_dge ._abb =_dbc ;_dge ._ecc =_cgbd ;_dge ._dfg =_cefe ;_afce .addTextSymbol (_dge );};};if _afce ._eade !=nil &&_afce ._eade ._eadc {var _aca ,_dagf float64 ;for _ ,_gef :=range _bfa {_aca +=_gef ._cgg ;};_cfcb :=0;_geba :=_afce ._gcda ._aga .Left ;_gfg :=len (_afce ._eade ._egbcb );_gedbc :=_afce ._eeeg ._aaa < _aca ;_gfd :=_afce ._eebc ._cde +_aca ;for {var _dbca float64 ;if _gedbc ||_cfcb >=_gfg {_dbca =_gegf ;}else {_dbca =_afce ._eade ._egbcb [_cfcb ];_cfcb ++;};_geba +=_dbca ;if _geba > _gfd {_dagf =_geba -_gfd ;break ;};};_afce .addTextSymbol (&symbol {_feg :"\u0020",_cgg :_dagf });};return false ;};func _agadgg (_ddgc float64 )float64 {return _ddgc *_ga .Millimeter };type page struct{_aga *_ecb .Rectangle ;_gd []*paragraph ;_cd float64 ;_ef []*zoneToSkip ;_be []*image ;_gf []*image ;_ce []*block ;_bag []*block ;_gc []*note ;_ac bool ;};func _daga (_cedc string )(string ,string ){_bdag :=_gcbd .FindStringSubmatch (_cedc );if len (_bdag )< 3{return "","";};return _bdag [1],_bdag [2];};var _cbgc =map[int32 ]int32 {61623:8226,61607:8226,61558:9830,61656:8594,61692:8730};func (_aace *convertContext )adjustRightBoundOfLastSpan (){_ade :=_aace ._eaac ._dc ;_cffd :=_aace ._eebc ._dg +_aace ._eeeg ._bb ;_added :=_cffd +_aace ._eebc ._cef ;for _ ,_egcg :=range _aace ._gcda ._ef {if ((_cffd > _egcg ._acc .Top &&_cffd < _egcg ._acc .Bottom )||(_added > _egcg ._acc .Top &&_cffd < _egcg ._acc .Bottom ))&&(_ade > _egcg ._acc .Left ){_ade =_egcg ._acc .Left ;};};_aace ._eaac ._dc =_ade ;};func (_cdfe *convertContext )currentParagraphOverflowsCurrentPage ()bool {_bead :=_cdfe ._eeeg ._bb +_cdfe ._eeeg ._fga .Top +_cdfe ._eeeg ._fga .Bottom ;_bcba :=_cdfe ._gcda ._aga .Bottom -_cdfe ._eeeg ._edb ;if len (_cdfe ._gcda ._gc )==0&&len (_cdfe ._eeeg ._ddd )> 0{_bcba -=_dd ;};return _bead +_cdfe ._eeeg ._ggf > _bcba ||_bead +_cdfe ._eeeg ._fab > _bcba ;};func (_ffc *span )moveRight (_bab float64 ){for _ ,_becfg :=range _ffc ._aaaa {_becfg ._edd +=_bab ;};};func _dgad (_gfbc *_edg .CT_PPr ,_ffde *_edg .CT_PPrGeneral ,_fegcc *_edg .CT_RPr )*_edg .CT_PPr {if _gfbc ==nil {_gfbc =_edg .NewCT_PPr ();};if _ffde !=nil {if _gfbc .Jc ==nil &&_ffde .Jc !=nil {_gfbc .Jc =_ffde .Jc ;};if _gfbc .Spacing ==nil {_gfbc .Spacing =_ffde .Spacing ;}else if _egfg :=_ffde .Spacing ;_egfg !=nil {if _gfbc .Spacing .BeforeAttr ==nil {_gfbc .Spacing .BeforeAttr =_egfg .BeforeAttr ;};if _gfbc .Spacing .AfterAttr ==nil {_gfbc .Spacing .AfterAttr =_egfg .AfterAttr ;};if _gfbc .Spacing .LineAttr ==nil {_gfbc .Spacing .LineAttr =_egfg .LineAttr ;};};if _ffde .ContextualSpacing !=nil {_gfbc .ContextualSpacing =_ffde .ContextualSpacing ;};if _ffde .Ind !=nil {if _gfbc .Ind ==nil {_gfbc .Ind =_ffde .Ind ;}else {_fgea ,_eeag :=_gfbc .Ind .FirstLineAttr ==nil ,_gfbc .Ind .HangingAttr ==nil ;if _fgea &&_eeag &&_ffde .Ind .FirstLineAttr !=nil {_gfbc .Ind .FirstLineAttr =_ffde .Ind .FirstLineAttr ;_fgea =false ;};if _fgea &&_eeag &&_ffde .Ind .HangingAttr !=nil {_gfbc .Ind .HangingAttr =_ffde .Ind .HangingAttr ;};if _gfbc .Ind .LeftAttr ==nil {_gfbc .Ind .LeftAttr =_ffde .Ind .LeftAttr ;};if _gfbc .Ind .RightAttr ==nil {_gfbc .Ind .RightAttr =_ffde .Ind .RightAttr ;};};};if _gfbc .Tabs ==nil &&_ffde .Tabs !=nil {_gfbc .Tabs =_ffde .Tabs ;};if _ffde .PBdr !=nil {_gfbc .PBdr =_ffde .PBdr ;};};if _fegcc !=nil {var _aagde _edg .CT_ParaRPr ;if _gfbc .RPr ==nil {_aagde =*_edg .NewCT_ParaRPr ();}else {_aagde =*_gfbc .RPr ;};if _aagde .Color ==nil &&_fegcc .Color !=nil {_aagde .Color =_fegcc .Color ;};if _aagde .Spacing ==nil &&_fegcc .Spacing !=nil {_aagde .Spacing =_fegcc .Spacing ;};if _aagde .Sz ==nil &&_fegcc .Sz !=nil {_aagde .Sz =_fegcc .Sz ;};if _aagde .SzCs ==nil &&_fegcc .SzCs !=nil {_aagde .SzCs =_fegcc .SzCs ;};if _aagde .B ==nil &&_fegcc .B !=nil {_aagde .B =_fegcc .B ;};if _aagde .I ==nil &&_fegcc .I !=nil {_aagde .I =_fegcc .I ;};if _aagde .RFonts ==nil &&_fegcc .RFonts !=nil {_aagde .RFonts =_fegcc .RFonts ;};if _aagde .VertAlign ==nil &&_fegcc .VertAlign !=nil {_aagde .VertAlign =_fegcc .VertAlign ;};if _aagde .Bdr ==nil &&_fegcc .Bdr !=nil {_aagde .Bdr =_fegcc .Bdr ;};if _aagde .Caps ==nil &&_fegcc .Caps !=nil {_aagde .Caps =_fegcc .Caps ;};if _aagde .SmallCaps ==nil &&_fegcc .SmallCaps !=nil {_aagde .SmallCaps =_fegcc .SmallCaps ;};_gfbc .RPr =&_aagde ;};return _gfbc ;};func _aabf (_agd *_edg .CT_OnOff )bool {if _agd !=nil {if _ggbd :=_agd .ValAttr ;_ggbd !=nil {if _fgefg :=_ggbd .Bool ;_fgefg !=nil {return *_fgefg ;};return _ggbd .ST_OnOff1 ==_ecd .ST_OnOff1On ;};return true ;};return false ;};func _abaf (_babb *_gg .Document )map[string ]string {_bffg :=map[string ]string {};for _ ,_gcgf :=range _babb .Paragraphs (){for _ ,_ebbcg :=range _gcgf .Runs (){for _ ,_dfbdc :=range _ebbcg .X ().EG_RunInnerContent {if _bgef :=_dfbdc .InstrText ;_bgef !=nil {_efb ,_ceda :=_daga (_bgef .Content );if _efb !=""&&_ceda !=""{_bffg [_efb ]=_ceda ;};};};};};return _bffg ;};func _adgg (_ecdfc *_edg .CT_TblPr ,_cbge *_edg .CT_TblPrEx ,_ebda *_edg .CT_TcPr ,_egbca ,_abfgg ,_cegf ,_bdbfe int )*_edg .CT_TcPr {if _ebda ==nil {_ebda =_edg .NewCT_TcPr ();};if _cbge ==nil {_cbge =_edg .NewCT_TblPrEx ();};if _ecdfc ==nil {_ecdfc =_edg .NewCT_TblPr ();};if _ebda .TcBorders ==nil {_ebda .TcBorders =_edg .NewCT_TcBorders ();};if _cbge .TblBorders ==nil {_cbge .TblBorders =_edg .NewCT_TblBorders ();};if _ecdfc .TblBorders ==nil {_ecdfc .TblBorders =_edg .NewCT_TblBorders ();};if _ebda .TcBorders .Top ==nil {if _cbge .TblBorders .Top ==nil {_ebda .TcBorders .Top =_dcbb (_ecdfc .TblBorders .Top ,_ecdfc .TblBorders .InsideH ,_egbca ==0);}else {_ebda .TcBorders .Top =_dcbb (_cbge .TblBorders .Top ,_cbge .TblBorders .InsideH ,_egbca ==0);};};if _ebda .TcBorders .Bottom ==nil {if _cbge .TblBorders .Bottom ==nil {_ebda .TcBorders .Bottom =_dcbb (_ecdfc .TblBorders .Bottom ,_ecdfc .TblBorders .InsideH ,_egbca ==_cegf -1);}else {_ebda .TcBorders .Bottom =_dcbb (_cbge .TblBorders .Bottom ,_cbge .TblBorders .InsideH ,_egbca ==_cegf -1);};};if _ebda .TcBorders .Left ==nil {if _cbge .TblBorders .Left ==nil {_ebda .TcBorders .Left =_dcbb (_ecdfc .TblBorders .Left ,_ecdfc .TblBorders .InsideV ,_abfgg ==0);}else {_ebda .TcBorders .Left =_dcbb (_cbge .TblBorders .Left ,_cbge .TblBorders .InsideV ,_abfgg ==0);};};if _ebda .TcBorders .Right ==nil {if _cbge .TblBorders .Right ==nil {_ebda .TcBorders .Right =_dcbb (_ecdfc .TblBorders .Right ,_ecdfc .TblBorders .InsideV ,_abfgg ==_bdbfe -1);}else {_ebda .TcBorders .Right =_dcbb (_cbge .TblBorders .Right ,_cbge .TblBorders .InsideV ,_abfgg ==_bdbfe -1);};};if _ebda .Shd ==nil {if _ecaa :=_ecdfc .Shd ;_ecaa !=nil {_ebda .Shd =_ecaa ;};}else {if _ecdfc .Shd !=nil &&_ebda .Shd .FillAttr ==nil {_ebda .Shd .FillAttr =_ecdfc .Shd .FillAttr ;};};if _ebda .TcMar ==nil {if _cdbcd :=_ecdfc .TblCellMar ;_cdbcd !=nil {_ebda .TcMar =_edg .NewCT_TcMar ();_ebda .TcMar .Left =_cdbcd .Left ;};}else {if _ecdfc .TblCellMar !=nil &&_ebda .TcMar .Left ==nil {_ebda .TcMar .Left =_ecdfc .TblCellMar .Left ;};};return _ebda ;};type borderLine struct{_cfd _ec .Color ;_cb _ecb .BorderPosition ;_bbce float64 ;_cbg float64 ;_egg float64 ;};func (_cgfa *convertContext )addAnchorExtra (_gcd []*_edg .EG_PContent ){for _ ,_bcgg :=range _gcd {for _ ,_bafd :=range _bcgg .EG_ContentRunContent {if _acce :=_bafd .R ;_acce !=nil {for _ ,_bceb :=range _acce .Extra {if _aabe ,_beff :=_bceb .(*_edg .AlternateContentRun );_beff {if _cgb :=_aabe .Choice ;_cgb !=nil {if _bafdb :=_cgb .Drawing ;_bafdb !=nil {for _ ,_aeff :=range _bafdb .Anchor {var _fde ,_bff ,_bge ,_bcd float64 ;_efcd ,_fafc :=_aeff .PositionH ,_aeff .PositionV ;if _gdbb :=_efcd .Choice ;_gdbb !=nil {if _gdbb .PosOffset !=nil {_fde =_ga .FromEMU (int64 (*_gdbb .PosOffset ));};};if _agg :=_fafc .Choice ;_agg !=nil {if _agg .PosOffset !=nil {_bff =_ga .FromEMU (int64 (*_agg .PosOffset ));};};if _fdcd :=_aeff .Extent ;_fdcd !=nil {_bcd =_ga .FromEMU (_fdcd .CxAttr );_bge =_ga .FromEMU (_fdcd .CyAttr );};_gdag :=_cgfa ._eeeg ._bb +_bff ;_efcf :=_gdag +_bge ;_fff :=_cgfa ._eeeg ._ddc +_fde ;_acec :=_fff +_bcd ;_dega :=_bff +_bge ;if _dega > _cgfa ._eeeg ._fab {_cgfa ._eeeg ._fab =_dega ;};if _aeff .Choice !=nil &&_aeff .Choice .WrapNone ==nil {_cgfa ._eeeg ._ged =append (_cgfa ._eeeg ._ged ,&zoneToSkip {_acc :&_ecb .Rectangle {Top :_gdag ,Bottom :_efcf ,Left :_fff ,Right :_acec },_fg :_aeff .Choice });};if _bdd :=_aeff .Graphic ;_bdd !=nil {if _efa :=_bdd .GraphicData ;_efa !=nil {for _ ,_fcc :=range _efa .Any {if _fdeg ,_agbe :=_fcc .(*_edg .WdWsp );_agbe {_fdd ,_ddf :=_cgfa .makeBlockFromWdWsp (_fdeg );if _ddf !=nil {_c .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_ddf );};if _fdd !=nil {_fdd ._ee .Scale (_bcd /_fdd ._ee .Width (),_bge /_fdd ._ee .Height ());_fdd ._ecbg =_fff ;_fdd ._eccg =_gdag ;if _aeff .BehindDocAttr {_cgfa ._eeeg ._ecf =append (_cgfa ._eeeg ._ecf ,_fdd );}else {_cgfa ._eeeg ._gea =append (_cgfa ._eeeg ._gea ,_fdd );};};};};};};};};};};};};};};};
|
|
|
|
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles. For composite fonts use RegisterCompositeFontsFromDirectory.
|
|
func RegisterFontsFromDirectory (dirName string )error {return _ecb .RegisterFontsFromDirectory (dirName );};func (_bfgb *convertContext )addTextSymbol (_gbd *symbol ){_gdgc :=_ec .New ();_cceb :=_gdgc .NewStyledParagraph ();_cceb .SetMargins (0,0,0,0);_cdcc :=_cceb .Append (_gbd ._feg );_gfbe :=0.0;if _gbd ._dbf !=nil {_cdcc .Style =*_gbd ._dbf ;if _gbd ._dbf .CharSpacing !=0{_gfbe =_gbd ._dbf .CharSpacing ;};};if _gbd ._ced ==nil &&_gbd ._bbc ==nil {_gbd ._eff =_cceb .Height ()*1.2;_gbd ._af =_cceb .Height ();};if _gbd ._eff < _bfgb ._eeeg ._ge {_gbd ._eff =_bfgb ._eeeg ._ge ;};if _gbd ._cgg ==0{_gbd ._cgg =_cceb .Width ()+_gfbe ;};if len (_bfgb ._abbf ._ace )> 0{_afdc :=_bfgb ._abbf ._ace [len (_bfgb ._abbf ._ace )-1]._feg ;if _ecb .IsNoSpaceLanguage (_afdc )||(_afdc =="\u0020")!=(_gbd ._feg =="\u0020"){_bfgb .addCurrentWordToParagraph ();_bfgb .newWord ();};};_bfgb ._abbf ._ace =append (_bfgb ._abbf ._ace ,_gbd );_gbd ._cf =_bfgb ._abbf ._gfe ;_bfgb ._abbf ._gfe +=_gbd ._cgg ;if _gbd ._feg !="\u0020"{_bfgb ._abbf ._eg =false ;};if _gbd ._feg =="\u000d"{_bfgb .adjustHeights (_gbd ._eff *1.13);_bfgb .adjustHeights (_gbd ._eff );};};type span struct{_ffd float64 ;_dc float64 ;_aaaa []*word ;};func _faba (_cefd ,_fgaf string ,_fca ,_dgb bool )[]*symbol {_aefa :=[]*symbol {};for _ ,_gec :=range _cefd {_efg :=&symbol {_feg :string (_gec ),_abb :_fca ,_ecc :_dgb ,_gb :_fgaf };_aefa =append (_aefa ,_efg );};return _aefa ;};func _ceee (_dcbd *_gg .Document ,_dbbf *_edg .CT_RPr ,_cage *_edg .CT_PPr )*_edg .CT_RPr {var _bdea ,_agcc *_edg .CT_RPr ;if _dbbf ==nil {_dbbf =_edg .NewCT_RPr ();};var _dcbf *_edg .CT_ParaRPr ;if _cage !=nil &&_cage .RPr !=nil {_dcbf =_cage .RPr ;};if _dcbf ==nil {_dcbf =_edg .NewCT_ParaRPr ();};if _dbbf .RStyle !=nil {_cae :=_dcbd .GetStyleByID (_dbbf .RStyle .ValAttr );if _agfec :=_cae .X ();_agfec !=nil {_bdea =_agfec .RPr ;};};if _bdea ==nil {_bdea =_edg .NewCT_RPr ();};if _dcbf .RStyle !=nil {_bddc :=_dcbd .GetStyleByID (_dcbf .RStyle .ValAttr );if _gge :=_bddc .X ();_gge !=nil {_agcc =_gge .RPr ;if _gge .QFormat !=nil &&_aabf (_gge .QFormat ){return _agcc ;};};};if _agcc ==nil {_agcc =_edg .NewCT_RPr ();};if _dbbf .Color ==nil {if _bdea .Color !=nil {_dbbf .Color =_bdea .Color ;}else if _dcbf .Color !=nil {_dbbf .Color =_dcbf .Color ;}else if _agcc .Color !=nil {_dbbf .Color =_agcc .Color ;};};if _dbbf .Spacing ==nil {if _bdea .Spacing !=nil {_dbbf .Spacing =_bdea .Spacing ;}else if _dcbf .Spacing !=nil {_dbbf .Spacing =_dcbf .Spacing ;}else if _agcc .Spacing !=nil {_dbbf .Spacing =_agcc .Spacing ;};};if _dbbf .Sz ==nil {if _bdea .Sz !=nil {_dbbf .Sz =_bdea .Sz ;}else if _dcbf .Sz !=nil {_dbbf .Sz =_dcbf .Sz ;}else if _agcc .Sz !=nil {_dbbf .Sz =_agcc .Sz ;};};if _dbbf .SzCs ==nil {if _bdea .SzCs !=nil {_dbbf .SzCs =_bdea .SzCs ;}else if _dcbf .SzCs !=nil {_dbbf .SzCs =_dcbf .SzCs ;}else if _agcc .SzCs !=nil {_dbbf .SzCs =_agcc .SzCs ;};};if _dbbf .B ==nil {if _bdea .B !=nil {_dbbf .B =_bdea .B ;}else if _dcbf .B !=nil {_dbbf .B =_dcbf .B ;}else if _agcc .B !=nil {_dbbf .B =_agcc .B ;};};if _dbbf .I ==nil {if _bdea .I !=nil {_dbbf .I =_bdea .I ;}else if _dcbf .I !=nil {_dbbf .I =_dcbf .I ;}else if _agcc .I !=nil {_dbbf .I =_agcc .I ;};};if _dbbf .U ==nil {if _bdea .U !=nil {_dbbf .U =_bdea .U ;}else if _dcbf .U !=nil {_dbbf .U =_dcbf .U ;}else if _agcc .U !=nil {_dbbf .U =_agcc .U ;};};if _dbbf .RFonts ==nil {if _bdea .RFonts !=nil {_dbbf .RFonts =_bdea .RFonts ;}else if _dcbf .RFonts !=nil {_dbbf .RFonts =_dcbf .RFonts ;}else if _agcc .RFonts !=nil {_dbbf .RFonts =_agcc .RFonts ;};};if _dbbf .VertAlign ==nil {if _bdea .VertAlign !=nil {_dbbf .VertAlign =_bdea .VertAlign ;}else if _dcbf .VertAlign !=nil {_dbbf .VertAlign =_dcbf .VertAlign ;}else if _agcc .VertAlign !=nil {_dbbf .VertAlign =_agcc .VertAlign ;};};if _dbbf .Caps ==nil {if _bdea .Caps !=nil {_dbbf .Caps =_bdea .Caps ;}else if _dcbf .Caps !=nil {_dbbf .Caps =_dcbf .Caps ;}else if _agcc .Caps !=nil {_dbbf .Caps =_agcc .Caps ;};};if _dbbf .SmallCaps ==nil {if _bdea .SmallCaps !=nil {_dbbf .SmallCaps =_bdea .SmallCaps ;}else if _dcbf .SmallCaps !=nil {_dbbf .SmallCaps =_dcbf .SmallCaps ;}else if _agcc .SmallCaps !=nil {_dbbf .SmallCaps =_agcc .SmallCaps ;};};if _dbbf .Bdr ==nil {if _bdea .Bdr !=nil {_dbbf .Bdr =_bdea .Bdr ;}else if _dcbf .Bdr !=nil {_dbbf .Bdr =_dcbf .Bdr ;}else if _agcc .Bdr !=nil {_dbbf .Bdr =_agcc .Bdr ;};};if _dbbf .Shd ==nil {if _bdea .Shd !=nil {_dbbf .Shd =_bdea .Shd ;}else if _dcbf .Shd !=nil {_dbbf .Shd =_dcbf .Shd ;}else if _agcc .Shd !=nil {_dbbf .Shd =_agcc .Shd ;};};return _dbbf ;};type symbol struct{_feg string ;_cf float64 ;_dba float64 ;_cgg float64 ;_eff float64 ;_af float64 ;_dbf *_ec .TextStyle ;_bbc *_ec .Image ;_ced *block ;_gb string ;_abb bool ;_ecc bool ;_dfg *_ec .Color ;};
|
|
|
|
// ConvertToPdf converts document to PDF file. This package is beta, breaking changes can take place.
|
|
func ConvertToPdf (d *_gg .Document )*_ec .Creator {return ConvertToPdfWithOptions (d ,nil )};func _dcbb (_bagf ,_ceeae *_edg .CT_Border ,_bafdba bool )*_edg .CT_Border {if _bafdba {return _bagf ;};return _ceeae ;};func (_dfd *convertContext )addAbsoluteEGPC (_cbc []*_edg .EG_PContent ,_aada *_edg .CT_PPr )bool {_ege :=len (_cbc );for _ ,_bfg :=range _cbc {for _ ,_ddca :=range _bfg .FldSimple {if _ddca !=nil {_dfd .addAbsoluteEGPC (_ddca .EG_PContent ,_aada );};};if _bd :=_bfg .Hyperlink ;_bd !=nil {_dfd ._effd =_bd ;_dfd .addAbsoluteCRC (_bd .EG_ContentRunContent ,_aada );};_dfd ._effd =nil ;if _dfd .addAbsoluteCRC (_bfg .EG_ContentRunContent ,_aada ){if _ege > 1{_dfd .moveCurrentParagraphToNewPage ();continue ;}else {return true ;};};_ege --;};return false ;};func (_cee *convertContext )addCellToTable (_cfaa *_ec .Table ,_ecbda *_edg .CT_Tc ,_ffag *_edg .CT_TblPr ,_fgd *_edg .CT_TblPrEx ,_abfa ,_affd ,_ccg ,_cddg int ,_afcf []*_edg .CT_TblStylePr ,_aacdf *_edg .CT_PPrGeneral ,_cddb *_edg .CT_RPr ){var _eccd *_ec .TableCell ;_ded :=1;_gbff :=_ecbda .TcPr ;_eddd :=_edg .NewCT_RPr ();for _ ,_affde :=range _afcf {if _abfa ==0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeFirstRow {_gbff =_eafb (_gbff ,_affde .TcPr );_cddb =_egfe (_eddd ,_affde .RPr );break ;};if _affd ==0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeFirstCol {_gbff =_eafb (_gbff ,_affde .TcPr );_cddb =_egfe (_eddd ,_affde .RPr );};if _abfa ==_ccg -1&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeLastRow {_gbff =_eafb (_gbff ,_affde .TcPr );_cddb =_egfe (_eddd ,_affde .RPr );};if _affd ==_cddg -1&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeLastCol {_gbff =_eafb (_gbff ,_affde .TcPr );_cddb =_egfe (_eddd ,_affde .RPr );};if _abfa %2!=0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeBand1Horz {_gbff =_eafb (_gbff ,_affde .TcPr );if _affd ==0{_cddb =_egfe (_eddd ,_affde .RPr );}else {_cddb =_edag (_cddb ,_affde .RPr );};};if _affd %2!=0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeBand1Vert {_gbff =_eafb (_gbff ,_affde .TcPr );if _abfa ==0{_cddb =_egfe (_eddd ,_affde .RPr );}else {_cddb =_edag (_eddd ,_affde .RPr );};};if _abfa %2==0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeBand2Horz {_gbff =_eafb (_gbff ,_affde .TcPr );if _affd ==_cddg -1{_cddb =_egfe (_eddd ,_affde .RPr );}else {_cddb =_edag (_eddd ,_affde .RPr );};};if _affd %2==0&&_affde .TypeAttr ==_edg .ST_TblStyleOverrideTypeBand2Vert {_gbff =_eafb (_gbff ,_affde .TcPr );if _abfa ==_ccg -1{_cddb =_egfe (_eddd ,_affde .RPr );}else {_cddb =_edag (_eddd ,_affde .RPr );};};};_aee :=_adgg (_ffag ,_fgd ,_gbff ,_abfa ,_affd ,_ccg ,_cddg );_acf :=_ab ;_gaeeg :=_ec .CellVerticalAlignmentTop ;if _aee !=nil {if _aee .GridSpan !=nil {_ded =int (_aee .GridSpan .ValAttr );};_eccd =_cfaa .MultiColCell (_ded );if _ebfg :=_aee .TcBorders ;_ebfg !=nil {if _dbcaa :=_ebfg .Left ;_dbcaa !=nil {_becg ,_gdbe ,_dfdc :=_fdeea (_dbcaa );_eccd .SetBorder (_ec .CellBorderSideLeft ,_becg ,_dfdc );if _gdbe !=nil &&*_gdbe !=nil {_eccd .SetSideBorderColor (_ec .CellBorderSideLeft ,*_gdbe );};};if _bbee :=_ebfg .Top ;_bbee !=nil {_dfeg ,_aaaab ,_afcfe :=_fdeea (_bbee );_eccd .SetBorder (_ec .CellBorderSideTop ,_dfeg ,_afcfe );if _aaaab !=nil &&*_aaaab !=nil {_eccd .SetSideBorderColor (_ec .CellBorderSideTop ,*_aaaab );};};if _gcbg :=_ebfg .Right ;_gcbg !=nil {_acgf ,_bde ,_bfca :=_fdeea (_gcbg );_eccd .SetBorder (_ec .CellBorderSideRight ,_acgf ,_bfca );if _bde !=nil &&*_bde !=nil {_eccd .SetSideBorderColor (_ec .CellBorderSideRight ,*_bde );};};if _dgd :=_ebfg .Bottom ;_dgd !=nil {_gdca ,_cgbe ,_eegd :=_fdeea (_dgd );_eccd .SetBorder (_ec .CellBorderSideBottom ,_gdca ,_eegd );if _cgbe !=nil &&*_cgbe !=nil {_eccd .SetSideBorderColor (_ec .CellBorderSideBottom ,*_cgbe );};};}else {_eccd .SetBorder (_ec .CellBorderSideAll ,_ec .CellBorderStyleSingle ,_agadgg (0.125));_eccd .SetBorderColor (_ec .ColorBlack );};if _dae :=_aee .Shd ;_dae !=nil {if _baa :=_dae .FillAttr ;_baa !=nil {if _ggdc :=_baa .ST_HexColorRGB ;_ggdc !=nil {_bged :=_ec .ColorRGBFromHex ("\u0023"+*_ggdc );_eccd .SetBackgroundColor (_bged );};};};if _ebefd :=_aee .TcMar ;_ebefd !=nil {_acf =_dcag (_ebefd .Left ,0,_ab );};if _acad :=_aee .VAlign ;_acad !=nil {switch _acad .ValAttr {case _edg .ST_VerticalJcCenter :_gaeeg =_ec .CellVerticalAlignmentMiddle ;case _edg .ST_VerticalJcBottom :_gaeeg =_ec .CellVerticalAlignmentBottom ;};};};if _eccd ==nil {_eccd =_cfaa .NewCell ();};_eccd .SetVerticalAlignment (_gaeeg );_eccd .SetIndent (_acf );_dfge :=_ecbda .EG_BlockLevelElts ;_efaa :=_cee ._baba .NewStyledParagraph ();_edbf :=false ;for _ ,_gfbb :=range _dfge {for _ ,_bdbf :=range _gfbb .EG_ContentBlockContent {for _ ,_afae :=range _bdbf .P {if _edbf {_abbd :=_efaa .Append ("\u000a");_gdgf :=_cee ._baba .NewTextStyle ();_gdgf .FontSize =0;_abbd .Style =_gdgf ;};_fbgg :=false ;_bfac ,_ :=_cee .combinePPrWithStyles (_afae .PPr );if _bfac !=nil &&_bfac .PStyle !=nil {_dbfa :=_cee ._fbfe .GetStyleByID (_bfac .PStyle .ValAttr );if _feec :=_dbfa .X ();_feec !=nil {if _feec .QFormat !=nil &&_aabf (_feec .QFormat ){if _bfac .RPr !=nil &&_feec .RPr !=nil {_bfac .RPr =_efca (_bfac .RPr ,_feec .RPr );};_bfac =_dgad (_afae .PPr ,_feec .PPr ,_feec .RPr );_fbgg =true ;};};}else {_eccf :=_cee ._fbfe .Styles .ParagraphStyles ();for _ ,_feaa :=range _eccf {if _cga :=_feaa .X ().DefaultAttr ;_cga !=nil {if _deed :=_cga .Bool ;_deed !=nil &&*_deed {_bfac =_dgad (_afae .PPr ,_feaa .X ().PPr ,_feaa .X ().RPr );};if _bbed :=_cga .ST_OnOff1 ;_bbed ==_ecd .ST_OnOff1On {_bfac =_dgad (_afae .PPr ,_feaa .X ().PPr ,_feaa .X ().RPr );};break ;};};};if !_fbgg {_bfac =_dgad (_afae .PPr ,_aacdf ,_cddb );};for _ ,_beda :=range _afae .EG_PContent {for _ ,_ddfe :=range _beda .EG_ContentRunContent {if _becd :=_ddfe .R ;_becd !=nil {_fcbf :=_ceee (_cee ._fbfe ,_becd .RPr ,_bfac );for _ ,_gaef :=range _becd .EG_RunInnerContent {var _adbd *_ec .TextChunk ;if _gaef .T !=nil &&_gaef .T .Content !=""{_ffae :=_gaef .T .Content ;if _fcbf !=nil &&_aabf (_fcbf .Caps ){_ffae =_ag .ToUpper (_ffae );};_edbf =true ;_adbd =_efaa .Append (_ffae );_adbd .Style ,_ ,_ ,_ =_cee .makeRunStyle (_fcbf ,false ,false ,false ,false ,false );};};};};};if !_edbf {_ffda :=_ceee (_cee ._fbfe ,_edg .NewCT_RPr (),_bfac );_bcec :=_efaa .Append ("\u0020");_bcec .Style ,_ ,_ ,_ =_cee .makeRunStyle (_ffda ,false ,false ,false ,false ,false );};if _efaa !=nil {if _gaeeg ==_ec .CellVerticalAlignmentTop {_bfac .TextAlignment =_edg .NewCT_TextAlignment ();_bfac .TextAlignment .ValAttr =_edg .ST_TextAlignmentTop ;};_cee .assignPropsToRelativeParagraph (_bfac ,_efaa );};};};};_eccd .SetContent (_efaa );};type romanMatch struct{_efdf int ;_fddb string ;};func (_dfbd *convertContext )addEmptyLine (){_dfbd .addTextSymbol (&symbol {_feg :"\u000d",_cgg :0,_eff :_dfbd ._eeeg ._ge });};func _cbab (_dcfg int ,_gaeb bool )string {_gcdd :=_ed .NewBuffer ([]byte {});for _ ,_eaab :=range _cead {for {if _dcfg < _eaab ._efdf {break ;};_gcdd .WriteString (_eaab ._fddb );_dcfg -=_eaab ._efdf ;};};_gabd :=_gcdd .String ();if _gaeb {_gabd =_ag .ToUpper (_gabd );};return _gabd ;};func (_daag *convertContext )newWord (){_daag ._abbf =&word {_eg :true ,_edd :_daag ._eebc ._cc }}; |