2023-08-06 17:57:53 +00:00
|
|
|
package convertutils ;import (_ac "bytes";_bc "errors";_fc "fmt";_fcb "github.com/unidoc/unioffice/common/logger";_e "github.com/unidoc/unioffice/measurement";_ca "github.com/unidoc/unioffice/schema/soo/dml";_ace "github.com/unidoc/unioffice/schema/soo/dml/chart";_gdc "github.com/unidoc/unioffice/spreadsheet/format";_df "github.com/unidoc/unipdf/v3/creator";_beg "github.com/unidoc/unipdf/v3/model";_af "github.com/unidoc/unipdf/v3/render";_gg "github.com/unidoc/unitype";_ad "image";_b "math";_be "os";_d "sort";_gd "strconv";_f "strings";_g "sync";_c "unicode";);func _ebbd (_fbb ,_dfgd ,_cddb float64 )float64 {if _fbb *6< 1{return _cddb +(_dfgd -_cddb )*6*_fbb ;}else if _fbb *2< 1{return _dfgd ;}else if _fbb *3< 2{return _cddb +(_dfgd -_cddb )*(2.0/3.0-_fbb )*6;}else {return _cddb ;};};func _bdb (_aec float64 )float64 {return _aec *_e .Millimeter };func _aee (_dcb uint8 ,_eagg float64 )string {_acfe :=float64 (_dcb );return _fc .Sprintf ("\u0025\u0030\u0032\u0078",int (_acfe *_eagg ));};func GetDataFromXfrm (xfrm *_ca .CT_Transform2D )(float64 ,float64 ,float64 ,float64 ){var _deaf ,_faca ,_addg ,_ggb float64 ;if _gdf :=xfrm .Off ;_gdf !=nil {_deaf =_e .FromEMU (FromSTCoordinate (_gdf .XAttr ));_faca =_e .FromEMU (FromSTCoordinate (_gdf .YAttr ));};if _bgdf :=xfrm .Ext ;_bgdf !=nil {_addg =_e .FromEMU (_bgdf .CxAttr );_ggb =_e .FromEMU (_bgdf .CyAttr );};return _deaf ,_faca ,_addg ,_ggb ;};func GetOpacityFromColorTransform (trs []*_ca .EG_ColorTransform )float64 {for _ ,_baaf :=range trs {if _baaf !=nil {if _dbdd :=_baaf .Alpha ;_dbdd !=nil {if _adc :=_dbdd .ValAttr .ST_PositiveFixedPercentageDecimal ;_adc !=nil {return float64 (*_adc )/100000;};};};};return 1.0;};var StdFontsMap =map[string ][]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0043o\u0075\u0072\u0069\u0065\u0072":[]string {"\u0043o\u0075\u0072\u0069\u0065\u0072","\u0043\u006f\u0075r\u0069\u0065\u0072\u002d\u0042\u006f\u006c\u0064","\u0043o\u0075r\u0069\u0065\u0072\u002d\u004f\u0062\u006c\u0069\u0071\u0075\u0065","\u0043\u006f\u0075\u0072ie\u0072\u002d\u0042\u006f\u006c\u0064\u004f\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0054i\u006de\u0073\u0020\u004e\u0065\u0077\u0020\u0052\u006f\u006d\u0061\u006e":[]string {"T\u0069\u006d\u0065\u0073\u002d\u0052\u006f\u006d\u0061\u006e","\u0054\u0069\u006d\u0065\u0073\u002d\u0042\u006f\u006c\u0064","\u0054\u0069\u006de\u0073\u002d\u0049\u0074\u0061\u006c\u0069\u0063","\u0054\u0069m\u0065\u0073\u002dB\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"},"\u0064e\u0066\u0061\u0075\u006c\u0074":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"}};var _ebag =map[string ]FontStyle {"\u0052e\u0067\u0075\u006c\u0061\u0072":FontStyle_Regular ,"\u0042\u006f\u006c\u0064":FontStyle_Bold ,"\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_Italic ,"B\u006f\u006c\u0064\u0020\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_BoldItalic };type serCategory struct{_gda string ;_aafa []serValue ;};func MakeBlockFromChartSpace (cs *_ace .ChartSpace ,width ,height float64 ,theme *_ca .Theme )(*_df .Block ,error ){_dba ,_aaa :=_dee (cs ,width ,height ,theme ,false );if _aaa !=nil {return nil ,_aaa ;};_dgb ,_aaa :=GetPageFromCreator (_dba );if _aaa !=nil {return nil ,_aaa ;};_gc ,_aaa :=_df .NewBlockFromPage (_dgb );if _aaa !=nil {return nil ,_aaa ;};return _gc ,nil ;};var _fcec =_bdb (0.5);func AdjustColorByShade (colorStr string ,shade float64 )string {var _acee ,_bdde ,_gade uint8 ;_afe ,_ :=_fc .Sscanf (color
|