// // 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 render ;import (_f "errors";_af "fmt";_bc "github.com/adrg/sysfont";_ge "github.com/unidoc/unipdf/v3/common";_dab "github.com/unidoc/unipdf/v3/contentstream";_cd "github.com/unidoc/unipdf/v3/contentstream/draw";_ag "github.com/unidoc/unipdf/v3/core"; _b "github.com/unidoc/unipdf/v3/internal/license";_fc "github.com/unidoc/unipdf/v3/internal/transform";_gea "github.com/unidoc/unipdf/v3/model";_gd "github.com/unidoc/unipdf/v3/render/internal/context";_dg "github.com/unidoc/unipdf/v3/render/internal/context/imagerender"; _bb "golang.org/x/image/draw";_gfg "image";_a "image/color";_fg "image/draw";_c "image/jpeg";_ee "image/png";_gf "math";_da "os";_e "path/filepath";_g "strings";); // NewImageDevice returns a new image device. func NewImageDevice ()*ImageDevice {const _dae ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_b .TrackUse (_dae );return &ImageDevice {};};func (_dgbe renderer )processGradient (_caf _gd .Context ,_cef *_dab .ContentStreamOperation ,_feeaa *_gea .PdfPageResources ,_ded *_ag .PdfObjectName )(_gd .Gradient ,error ){if _bdbf ,_dgd :=_feeaa .GetPatternByName (*_ded ); _dgd &&_bdbf .IsShading (){_acf :=_bdbf .GetAsShadingPattern ().Shading ;_fba ,_ ,_cecd :=_dgbe .processShading (_caf ,_acf );if _cecd !=nil {return nil ,_cecd ;};return _fba ,nil ;};return nil ,nil ;};type renderer struct{_bgg float64 }; // PdfShadingType defines PDF shading types. // Source: PDF32000_2008.pdf. Chapter 8.7.4.5 type PdfShadingType int64 ; // RenderToPath converts the specified PDF page into an image and saves the // result at the specified location. func (_aa *ImageDevice )RenderToPath (page *_gea .PdfPage ,outputPath string )error {_afd ,_gffb :=_aa .Render (page );if _gffb !=nil {return _gffb ;};_eag :=_g .ToLower (_e .Ext (outputPath ));if _eag ==""{return _f .New ("\u0063\u006ful\u0064\u0020\u006eo\u0074\u0020\u0072\u0065cog\u006eiz\u0065\u0020\u006f\u0075\u0074\u0070\u0075t \u0066\u0069\u006c\u0065\u0020\u0074\u0079p\u0065"); };switch _eag {case "\u002e\u0070\u006e\u0067":return _fffb (outputPath ,_afd );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _ffce (outputPath ,_afd ,100);};return _af .Errorf ("\u0075\u006e\u0072\u0065\u0063\u006fg\u006e\u0069\u007a\u0065\u0064\u0020\u006f\u0075\u0074\u0070\u0075\u0074\u0020f\u0069\u006c\u0065\u0020\u0074\u0079\u0070e\u003a\u0020\u0025\u0073",_eag ); };func (_bgf renderer )renderContentStream (_cca _gd .Context ,_gfe string ,_dd *_gea .PdfPageResources )error {_agc ,_bd :=_dab .NewContentStreamParser (_gfe ).Parse ();if _bd !=nil {return _bd ;};_fgf :=_cca .TextState ();_fgf .GlobalScale =_bgf ._bgg ; _fd :=map[string ]*_gd .TextFont {};_ffc :=_bc .NewFinder (&_bc .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _ca *_dab .ContentStreamOperation ;_db :=_dab .NewContentStreamProcessor (*_agc );_db .AddHandler (_dab .HandlerConditionEnumAllOperands ,"",func (_dgg *_dab .ContentStreamOperation ,_fdg _dab .GraphicsState ,_dbc *_gea .PdfPageResources )error {_ge .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_dgg .Operand ); switch _dgg .Operand {case "\u0071":_cca .Push ();case "\u0051":_cca .Pop ();_fgf =_cca .TextState ();case "\u0063\u006d":if len (_dgg .Params )!=6{return _fbc ;};_bab ,_eea :=_ag .GetNumbersAsFloat (_dgg .Params );if _eea !=nil {return _eea ;};_cee :=_fc .NewMatrix (_bab [0],_bab [1],_bab [2],_bab [3],_bab [4],_bab [5]); _ge .Log .Debug ("\u0047\u0072\u0061\u0070\u0068\u0069\u0063\u0073\u0020\u0073\u0074a\u0074\u0065\u0020\u006d\u0061\u0074\u0072\u0069\u0078\u003a \u0025\u002b\u0076",_cee );_cca .SetMatrix (_cca .Matrix ().Mult (_cee ));case "\u0077":if len (_dgg .Params )!=1{return _fbc ; };_cb ,_ac :=_ag .GetNumbersAsFloat (_dgg .Params );if _ac !=nil {return _ac ;};_cca .SetLineWidth (_cb [0]);case "\u004a":if len (_dgg .Params )!=1{return _fbc ;};_bf ,_eb :=_ag .GetIntVal (_dgg .Params [0]);if !_eb {return _cc ;};switch _bf {case 0:_cca .SetLineCap (_gd .LineCapButt ); case 1:_cca .SetLineCap (_gd .LineCapRound );case 2:_cca .SetLineCap (_gd .LineCapSquare );default:_ge .Log .Debug ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006c\u0069\u006ee\u0020\u0063\u0061\u0070\u0020\u0073\u0074\u0079\u006c\u0065:\u0020\u0025\u0064",_bf ); return _fbc ;};case "\u006a":if len (_dgg .Params )!=1{return _fbc ;};_bcg ,_cbf :=_ag .GetIntVal (_dgg .Params [0]);if !_cbf {return _cc ;};switch _bcg {case 0:_cca .SetLineJoin (_gd .LineJoinBevel );case 1:_cca .SetLineJoin (_gd .LineJoinRound );case 2:_cca .SetLineJoin (_gd .LineJoinBevel ); default:_ge .Log .Debug ("I\u006e\u0076\u0061\u006c\u0069\u0064 \u006c\u0069\u006e\u0065\u0020\u006a\u006f\u0069\u006e \u0073\u0074\u0079l\u0065:\u0020\u0025\u0064",_bcg );return _fbc ;};case "\u004d":if len (_dgg .Params )!=1{return _fbc ;};_bcf ,_daa :=_ag .GetNumbersAsFloat (_dgg .Params ); if _daa !=nil {return _daa ;};_ =_bcf ;_ge .Log .Debug ("\u004di\u0074\u0065\u0072\u0020l\u0069\u006d\u0069\u0074\u0020n\u006ft\u0020s\u0075\u0070\u0070\u006f\u0072\u0074\u0065d");case "\u0064":if len (_dgg .Params )!=2{return _fbc ;};_dc ,_fcf :=_ag .GetArray (_dgg .Params [0]); if !_fcf {return _cc ;};_fed ,_fcf :=_ag .GetIntVal (_dgg .Params [1]);if !_fcf {_ ,_dge :=_ag .GetFloatVal (_dgg .Params [1]);if !_dge {return _cc ;};};_bbe ,_ecge :=_ag .GetNumbersAsFloat (_dc .Elements ());if _ecge !=nil {return _ecge ;};_cca .SetDash (_bbe ...); _ =_fed ;_ge .Log .Debug ("\u004c\u0069n\u0065\u0020\u0064\u0061\u0073\u0068\u0020\u0070\u0068\u0061\u0073\u0065\u0020\u006e\u006f\u0074\u0020\u0073\u0075\u0070\u0070\u006frt\u0065\u0064");case "\u0072\u0069":_ge .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020i\u006e\u0074\u0065\u006e\u0074\u0020\u006eo\u0074\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064"); case "\u0069":_ge .Log .Debug ("\u0046\u006c\u0061\u0074\u006e\u0065\u0073\u0073\u0020\u0074\u006f\u006c\u0065\u0072\u0061n\u0063e\u0020\u006e\u006f\u0074\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064");case "\u0067\u0073":if len (_dgg .Params )!=1{return _fbc ; };_bec ,_cg :=_ag .GetName (_dgg .Params [0]);if !_cg {return _cc ;};if _bec ==nil {return _fbc ;};_gfa ,_cg :=_dbc .GetExtGState (*_bec );if !_cg {_ge .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006eo\u0074 \u0066i\u006ed\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u003a\u0020\u0025\u0073",*_bec ); return _f .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_egg ,_cg :=_ag .GetDict (_gfa );if !_cg {_ge .Log .Debug ("\u0045\u0052RO\u0052\u003a\u0020c\u006f\u0075\u006c\u0064 ge\u0074 g\u0072\u0061\u0070\u0068\u0069\u0063\u0073 s\u0074\u0061\u0074\u0065\u0020\u0064\u0069c\u0074"); return _cc ;};_ge .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_egg .String ());case "\u006d":if len (_dgg .Params )!=2{_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0065\u0072\u0072o\u0072\u0020\u0077\u0068\u0069\u006c\u0065\u0020\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0060\u006d\u0060\u0020o\u0070\u0065r\u0061\u0074o\u0072\u003a\u0020\u0025\u0073\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074 m\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063o\u0072\u0072\u0065\u0063\u0074\u002e",_fbc ); return nil ;};_bed ,_bbd :=_ag .GetNumbersAsFloat (_dgg .Params );if _bbd !=nil {return _bbd ;};_ge .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_bed );_cca .NewSubPath ();_cca .MoveTo (_bed [0],_bed [1]);case "\u006c":if len (_dgg .Params )!=2{_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0065\u0072\u0072o\u0072\u0020\u0077\u0068\u0069\u006c\u0065\u0020\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0060\u006c\u0060\u0020o\u0070\u0065r\u0061\u0074o\u0072\u003a\u0020\u0025\u0073\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074 m\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063o\u0072\u0072\u0065\u0063\u0074\u002e",_fbc ); return nil ;};_bedb ,_aeb :=_ag .GetNumbersAsFloat (_dgg .Params );if _aeb !=nil {return _aeb ;};_cca .LineTo (_bedb [0],_bedb [1]);case "\u0063":if len (_dgg .Params )!=6{return _fbc ;};_fgfc ,_ddd :=_ag .GetNumbersAsFloat (_dgg .Params );if _ddd !=nil {return _ddd ; };_ge .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_fgfc );_cca .CubicTo (_fgfc [0],_fgfc [1],_fgfc [2],_fgfc [3],_fgfc [4],_fgfc [5]);case "\u0076","\u0079":if len (_dgg .Params )!=4{return _fbc ; };_efa ,_fff :=_ag .GetNumbersAsFloat (_dgg .Params );if _fff !=nil {return _fff ;};_ge .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_efa );_cca .QuadraticTo (_efa [0],_efa [1],_efa [2],_efa [3]); case "\u0068":_cca .ClosePath ();_cca .NewSubPath ();case "\u0072\u0065":if len (_dgg .Params )!=4{return _fbc ;};_cgb ,_bfg :=_ag .GetNumbersAsFloat (_dgg .Params );if _bfg !=nil {return _bfg ;};_cca .DrawRectangle (_cgb [0],_cgb [1],_cgb [2],_cgb [3]); _cca .NewSubPath ();case "\u0053":_dcb ,_afg :=_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _afg !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_afg ); return _afg ;};_dbf ,_cgd :=_dcb .(*_gea .PdfColorDeviceRGB );if !_cgd {_ge .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _afg ;};_cca .SetRGBA (_dbf .R (),_dbf .G (),_dbf .B (),1); _cca .Stroke ();case "\u0073":_fcc ,_fgb :=_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _fgb !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fgb ); return _fgb ;};_eac ,_aef :=_fcc .(*_gea .PdfColorDeviceRGB );if !_aef {_ge .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _fgb ;};_cca .ClosePath ();_cca .NewSubPath (); _cca .SetRGBA (_eac .R (),_eac .G (),_eac .B (),1);_cca .Stroke ();case "\u0066","\u0046":_dcc ,_cbfd :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking );if _cbfd !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cbfd ); return _cbfd ;};switch _eeg :=_dcc .(type ){case *_gea .PdfColorDeviceRGB :_cca .SetRGBA (_eeg .R (),_eeg .G (),_eeg .B (),1);_cca .SetFillRule (_gd .FillRuleWinding );_cca .Fill ();case *_gea .PdfColorPattern :_cca .Fill ();};_ge .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072"); case "\u0066\u002a":_cad ,_gbe :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking );if _gbe !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_gbe ); return _gbe ;};_abg ,_dca :=_cad .(*_gea .PdfColorDeviceRGB );if !_dca {_ge .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _gbe ;};_cca .SetRGBA (_abg .R (),_abg .G (),_abg .B (),1); _cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .Fill ();case "\u0042":_afa ,_bga :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking );if _bga !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bga ); return _bga ;};switch _eed :=_afa .(type ){case *_gea .PdfColorDeviceRGB :_cca .SetRGBA (_eed .R (),_eed .G (),_eed .B (),1);_cca .SetFillRule (_gd .FillRuleWinding );_cca .FillPreserve ();_afa ,_bga =_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking ); if _bga !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bga );return _bga ;};if _gde ,_eab :=_afa .(*_gea .PdfColorDeviceRGB ); _eab {_cca .SetRGBA (_gde .R (),_gde .G (),_gde .B (),1);_cca .Stroke ();};case *_gea .PdfColorPattern :_cca .SetFillRule (_gd .FillRuleWinding );_cca .Fill ();_cca .StrokePattern ();};case "\u0042\u002a":_bda ,_age :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking ); if _age !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_age );return _age ;};switch _efd :=_bda .(type ){case *_gea .PdfColorDeviceRGB :_cca .SetRGBA (_efd .R (),_efd .G (),_efd .B (),1); _cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .FillPreserve ();_bda ,_age =_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _age !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_age ); return _age ;};if _feb ,_fbf :=_bda .(*_gea .PdfColorDeviceRGB );_fbf {_cca .SetRGBA (_feb .R (),_feb .G (),_feb .B (),1);_cca .Stroke ();};case *_gea .PdfColorPattern :_cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .Fill ();_cca .StrokePattern ();};case "\u0062":_cca .ClosePath (); _cbb ,_df :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking );if _df !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_df ); return _df ;};switch _ecc :=_cbb .(type ){case *_gea .PdfColorDeviceRGB :_cca .SetRGBA (_ecc .R (),_ecc .G (),_ecc .B (),1);_cca .NewSubPath ();_cca .SetFillRule (_gd .FillRuleWinding );_cca .FillPreserve ();_cbb ,_df =_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking ); if _df !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_df );return _df ;};if _abb ,_gcd :=_cbb .(*_gea .PdfColorDeviceRGB );_gcd {_cca .SetRGBA (_abb .R (),_abb .G (),_abb .B (),1); _cca .Stroke ();};case *_gea .PdfColorPattern :_cca .NewSubPath ();_cca .SetFillRule (_gd .FillRuleWinding );_cca .Fill ();_cca .StrokePattern ();};case "\u0062\u002a":_cca .ClosePath ();_bce ,_fga :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking ); if _fga !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fga );return _fga ;};switch _cdf :=_bce .(type ){case *_gea .PdfColorDeviceRGB :_cca .SetRGBA (_cdf .R (),_cdf .G (),_cdf .B (),1); _cca .NewSubPath ();_cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .FillPreserve ();_bce ,_fga =_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _fga !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fga ); return _fga ;};if _abc ,_ade :=_bce .(*_gea .PdfColorDeviceRGB );_ade {_cca .SetRGBA (_abc .R (),_abc .G (),_abc .B (),1);_cca .Stroke ();};case *_gea .PdfColorPattern :_cca .NewSubPath ();_cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .Fill ();_cca .StrokePattern (); };case "\u006e":_cca .ClearPath ();case "\u0057":_cca .SetFillRule (_gd .FillRuleWinding );_cca .ClipPreserve ();case "\u0057\u002a":_cca .SetFillRule (_gd .FillRuleEvenOdd );_cca .ClipPreserve ();case "\u0072\u0067":_dda ,_efcc :=_fdg .ColorNonStroking .(*_gea .PdfColorDeviceRGB ); if !_efcc {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking );return nil ;};_cca .SetFillRGBA (_dda .R (),_dda .G (),_dda .B (),1); case "\u0052\u0047":_dbe ,_gge :=_fdg .ColorStroking .(*_gea .PdfColorDeviceRGB );if !_gge {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_cca .SetStrokeRGBA (_dbe .R (),_dbe .G (),_dbe .B (),1);case "\u006b":_gad ,_bfe :=_fdg .ColorNonStroking .(*_gea .PdfColorDeviceCMYK );if !_bfe {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking ); return nil ;};_gec ,_gdef :=_fdg .ColorspaceNonStroking .ColorToRGB (_gad );if _gdef !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking ); return nil ;};_bece ,_bfe :=_gec .(*_gea .PdfColorDeviceRGB );if !_bfe {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_gec );return nil ; };_cca .SetFillRGBA (_bece .R (),_bece .G (),_bece .B (),1);case "\u004b":_gfc ,_bdb :=_fdg .ColorStroking .(*_gea .PdfColorDeviceCMYK );if !_bdb {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_becb ,_fa :=_fdg .ColorspaceStroking .ColorToRGB (_gfc );if _fa !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_bag ,_bdb :=_becb .(*_gea .PdfColorDeviceRGB );if !_bdb {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_becb );return nil ; };_cca .SetStrokeRGBA (_bag .R (),_bag .G (),_bag .B (),1);case "\u0067":_edd ,_gfbe :=_fdg .ColorNonStroking .(*_gea .PdfColorDeviceGray );if !_gfbe {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking ); return nil ;};_cdg ,_efdd :=_fdg .ColorspaceNonStroking .ColorToRGB (_edd );if _efdd !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking ); return nil ;};_eagc ,_gfbe :=_cdg .(*_gea .PdfColorDeviceRGB );if !_gfbe {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cdg );return nil ; };_cca .SetFillRGBA (_eagc .R (),_eagc .G (),_eagc .B (),1);case "\u0047":_dbce ,_feea :=_fdg .ColorStroking .(*_gea .PdfColorDeviceGray );if !_feea {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_ddb ,_fda :=_fdg .ColorspaceStroking .ColorToRGB (_dbce );if _fda !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_ecf ,_feea :=_ddb .(*_gea .PdfColorDeviceRGB );if !_feea {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ddb );return nil ; };_cca .SetStrokeRGBA (_ecf .R (),_ecf .G (),_ecf .B (),1);case "\u0063\u0073":if len (_dgg .Params )> 0{if _eccg ,_gab :=_ag .GetName (_dgg .Params [0]);_gab &&_eccg .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_egb ,_adf :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking ); if _adf !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking );return nil ;};_def ,_cbe :=_egb .(*_gea .PdfColorDeviceRGB ); if !_cbe {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_egb );return nil ;};_cca .SetFillRGBA (_def .R (),_def .G (),_def .B (),1); case "\u0073\u0063":_dga ,_gda :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking );if _gda !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking ); return nil ;};_aeba ,_dbd :=_dga .(*_gea .PdfColorDeviceRGB );if !_dbd {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_dga );return nil ; };_cca .SetFillRGBA (_aeba .R (),_aeba .G (),_aeba .B (),1);case "\u0073\u0063\u006e":if len (_dgg .Params )> 0&&len (_ca .Params )> 0{if _gfd ,_abd :=_ag .GetName (_ca .Params [0]);_abd &&_gfd .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _dddc ,_beb :=_ag .GetName (_dgg .Params [0]); _beb {_cae ,_cgg :=_bgf .processGradient (_cca ,_dgg ,_dbc ,_dddc );if _cgg !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072o\u0063\u0065\u0073\u0073\u0069\u006eg\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074\u0020\u0064\u0061\u0074a\u003a\u0020\u0025\u0076",_cgg ); break ;};if _cae ==nil {_ge .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cca .SetFillStyle (_cae );_cca .SetStrokeStyle (_cae );break ;};};};_gbea ,_cff :=_fdg .ColorspaceNonStroking .ColorToRGB (_fdg .ColorNonStroking ); if _cff !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorNonStroking );return nil ;};_bae ,_dgab :=_gbea .(*_gea .PdfColorDeviceRGB ); if !_dgab {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_gbea );return nil ;};_cca .SetFillRGBA (_bae .R (),_bae .G (),_bae .B (),1); case "\u0043\u0053":if len (_dgg .Params )> 0{if _bbec ,_cfe :=_ag .GetName (_dgg .Params [0]);_cfe &&_bbec .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_ddg ,_ggf :=_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _ggf !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_ecb ,_fcg :=_ddg .(*_gea .PdfColorDeviceRGB );if !_fcg {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ddg );return nil ; };_cca .SetStrokeRGBA (_ecb .R (),_ecb .G (),_ecb .B (),1);case "\u0053\u0043":_fdad ,_bdad :=_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking );if _bdad !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking ); return nil ;};_cec ,_adaf :=_fdad .(*_gea .PdfColorDeviceRGB );if !_adaf {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdad );return nil ; };_cca .SetStrokeRGBA (_cec .R (),_cec .G (),_cec .B (),1);case "\u0053\u0043\u004e":if len (_dgg .Params )> 0&&len (_ca .Params )> 0{if _baef ,_cgbg :=_ag .GetName (_ca .Params [0]);_cgbg &&_baef .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _fef ,_ggb :=_ag .GetName (_dgg .Params [0]); _ggb {_gca ,_ddbc :=_bgf .processGradient (_cca ,_dgg ,_dbc ,_fef );if _ddbc !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072o\u0063\u0065\u0073\u0073\u0069\u006eg\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074\u0020\u0064\u0061\u0074a\u003a\u0020\u0025\u0076",_ddbc ); break ;};if _gca ==nil {_ge .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cca .SetFillStyle (_gca );_cca .SetStrokeStyle (_gca );break ;};};};_ggg ,_fbb :=_fdg .ColorspaceStroking .ColorToRGB (_fdg .ColorStroking ); if _fbb !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fdg .ColorStroking );return nil ;};_fbba ,_fdf :=_ggg .(*_gea .PdfColorDeviceRGB ); if !_fdf {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ggg );return nil ;};_cca .SetStrokeRGBA (_fbba .R (),_fbba .G (),_fbba .B (),1); case "\u0073\u0068":if len (_dgg .Params )!=1{_ge .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0068\u0020\u0070\u0061r\u0061\u006d\u0073\u0020\u0066\u006f\u0072\u006d\u0061\u0074");break ;};_afc ,_egf :=_ag .GetName (_dgg .Params [0]); if !_egf {_ge .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020g\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006eg\u0020n\u0061\u006d\u0065");break ;};_dgeg ,_egf :=_dbc .GetShadingByName (*_afc );if !_egf {_ge .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020g\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006eg\u0020d\u0061\u0074\u0061"); break ;};_afbc ,_dcf ,_faf :=_bgf .processShading (_cca ,_dgeg );if _faf !=nil {_ge .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006e\u0067\u0020d\u0061\u0074a\u003a\u0020\u0025\u0076",_faf ); break ;};if _afbc ==nil {_ge .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_bcb ,_faf :=_dcf .ToFloat64Array ();if _faf !=nil {_ge .Log .Debug ("\u0045\u0072r\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0063\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0073: \u0025\u0076",_faf ); break ;};_cca .DrawRectangle (_bcb [0],_bcb [1],_bcb [2],_bcb [3]);_cca .NewSubPath ();_cca .SetFillStyle (_afbc );_cca .SetStrokeStyle (_afbc );_cca .Fill ();case "\u0044\u006f":if len (_dgg .Params )!=1{return _fbc ;};_eaba ,_deg :=_ag .GetName (_dgg .Params [0]); if !_deg {return _cc ;};_ ,_eeab :=_dbc .GetXObjectByName (*_eaba );switch _eeab {case _gea .XObjectTypeImage :_ge .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_eaba .String ());_ceb ,_bdab :=_dbc .GetXObjectImageByName (*_eaba ); if _bdab !=nil {return _bdab ;};_bebg ,_bdab :=_ceb .ToImage ();if _bdab !=nil {return _bdab ;};if _bfeg :=_ceb .ColorSpace ;_bfeg !=nil {var _cbg bool ;switch _bfeg .(type ){case *_gea .PdfColorspaceSpecialIndexed :_cbg =true ;};if _cbg {if _ffe ,_ccf :=_bfeg .ImageToRGB (*_bebg ); _ccf !=nil {_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0063\u006fnv\u0065r\u0074\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0074\u006f\u0020\u0052G\u0042\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020i\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u002e"); }else {_bebg =&_ffe ;};};};_fdd :=_cca .FillPattern ().ColorAt (0,0);var _dfd _gfg .Image ;if _ceb .Mask !=nil {if _dfd ,_bdab =_dceg (_ceb .Mask ,_fdd );_bdab !=nil {_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a \u0063\u006f\u0075\u006c\u0064 \u006eo\u0074\u0020\u0067\u0065\u0074\u0020\u0065\u0078\u0070\u006c\u0069\u0063\u0069\u0074\u0020\u0069\u006d\u0061\u0067e\u0020\u006d\u0061\u0073\u006b\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063o\u0072\u0072\u0065\u0063\u0074\u002e"); };}else if _ceb .SMask !=nil {if _dfd ,_bdab =_fbaa (_ceb .SMask ,_fdd );_bdab !=nil {_ge .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0067\u0065\u0074\u0020\u0073\u006f\u0066\u0074\u0020\u0069\u006da\u0067e\u0020\u006d\u0061\u0073k\u002e\u0020O\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u002e"); };};var _eaf _gfg .Image ;if _gdd ,_ :=_ag .GetBoolVal (_ceb .ImageMask );_gdd {_eaf =_ffg (_bebg ,_fdd );}else {_eaf ,_bdab =_bebg .ToGoImage ();if _bdab !=nil {return _bdab ;};};if _dfd !=nil {_eaf =_fega (_eaf ,_dfd );};_eagcg :=_eaf .Bounds ();_cca .Push (); _cca .Scale (1.0/float64 (_eagcg .Dx ()),-1.0/float64 (_eagcg .Dy ()));_cca .DrawImageAnchored (_eaf ,0,0,0,1);_cca .Pop ();case _gea .XObjectTypeForm :_ge .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_eaba .String ()); _gfea ,_ageb :=_dbc .GetXObjectFormByName (*_eaba );if _ageb !=nil {return _ageb ;};_dfe ,_ageb :=_gfea .GetContentStream ();if _ageb !=nil {return _ageb ;};_fgbg :=_gfea .Resources ;if _fgbg ==nil {_fgbg =_dbc ;};_cca .Push ();if _gfea .Matrix !=nil {_fad ,_gcc :=_ag .GetArray (_gfea .Matrix ); if !_gcc {return _cc ;};_cfd ,_cdb :=_ag .GetNumbersAsFloat (_fad .Elements ());if _cdb !=nil {return _cdb ;};if len (_cfd )!=6{return _fbc ;};_fdde :=_fc .NewMatrix (_cfd [0],_cfd [1],_cfd [2],_cfd [3],_cfd [4],_cfd [5]);_cca .SetMatrix (_cca .Matrix ().Mult (_fdde )); };if _gfea .BBox !=nil {_bdade ,_ced :=_ag .GetArray (_gfea .BBox );if !_ced {return _cc ;};_bebc ,_dgee :=_ag .GetNumbersAsFloat (_bdade .Elements ());if _dgee !=nil {return _dgee ;};if len (_bebc )!=4{_ge .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_bebc )); return _fbc ;};_cca .DrawRectangle (_bebc [0],_bebc [1],_bebc [2]-_bebc [0],_bebc [3]-_bebc [1]);_cca .SetRGBA (1,0,0,1);_cca .Clip ();}else {_ge .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0052\u0065q\u0075\u0069\u0072e\u0064\u0020\u0042\u0042\u006f\u0078\u0020\u006d\u0069ss\u0069\u006e\u0067 \u006f\u006e \u0058\u004f\u0062\u006a\u0065\u0063t\u0020\u0046o\u0072\u006d"); };_ageb =_bgf .renderContentStream (_cca ,string (_dfe ),_fgbg );if _ageb !=nil {return _ageb ;};_cca .Pop ();};case "\u0042\u0049":if len (_dgg .Params )!=1{return _fbc ;};_gae ,_fgad :=_dgg .Params [0].(*_dab .ContentStreamInlineImage );if !_fgad {return nil ; };_ddf ,_dad :=_gae .ToImage (_dbc );if _dad !=nil {return _dad ;};_fdc ,_dad :=_ddf .ToGoImage ();if _dad !=nil {return _dad ;};_gdg :=_fdc .Bounds ();_cca .Push ();_cca .Scale (1.0/float64 (_gdg .Dx ()),-1.0/float64 (_gdg .Dy ()));_cca .DrawImageAnchored (_fdc ,0,0,0,1); _cca .Pop ();case "\u0042\u0054":_fgf .Reset ();case "\u0045\u0054":_fgf .Reset ();case "\u0054\u0072":if len (_dgg .Params )!=1{return _fbc ;};_ccg ,_ddfa :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _ddfa !=nil {return _ddfa ;};_fgf .Tr =_gd .TextRenderingMode (_ccg ); case "\u0054\u004c":if len (_dgg .Params )!=1{return _fbc ;};_daaf ,_feff :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _feff !=nil {return _feff ;};_fgf .Tl =_daaf ;case "\u0054\u0063":if len (_dgg .Params )!=1{return _fbc ;};_fbbe ,_ffcd :=_ag .GetNumberAsFloat (_dgg .Params [0]); if _ffcd !=nil {return _ffcd ;};_ge .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_fbbe );_fgf .Tc =_fbbe ;case "\u0054\u0077":if len (_dgg .Params )!=1{return _fbc ;};_dbee ,_gcf :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _gcf !=nil {return _gcf ; };_ge .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_dbee );_fgf .Tw =_dbee ;case "\u0054\u007a":if len (_dgg .Params )!=1{return _fbc ;};_gded ,_fag :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _fag !=nil {return _fag ;};_fgf .Th =_gded ;case "\u0054\u0073":if len (_dgg .Params )!=1{return _fbc ; };_agg ,_fgc :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _fgc !=nil {return _fgc ;};_fgf .Ts =_agg ;case "\u0054\u0064":if len (_dgg .Params )!=2{return _fbc ;};_bac ,_ebe :=_ag .GetNumbersAsFloat (_dgg .Params );if _ebe !=nil {return _ebe ;};_ge .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_bac ); _fgf .ProcTd (_bac [0],_bac [1]);case "\u0054\u0044":if len (_dgg .Params )!=2{return _fbc ;};_bfd ,_dcfb :=_ag .GetNumbersAsFloat (_dgg .Params );if _dcfb !=nil {return _dcfb ;};_ge .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_bfd );_fgf .ProcTD (_bfd [0],_bfd [1]); case "\u0054\u002a":_fgf .ProcTStar ();case "\u0054\u006d":if len (_dgg .Params )!=6{return _fbc ;};_bdc ,_gadc :=_ag .GetNumbersAsFloat (_dgg .Params );if _gadc !=nil {return _gadc ;};_ge .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_bdc ); _fgf .ProcTm (_bdc [0],_bdc [1],_bdc [2],_bdc [3],_bdc [4],_bdc [5]);case "\u0027":if len (_dgg .Params )!=1{return _fbc ;};_bcec ,_cag :=_ag .GetStringBytes (_dgg .Params [0]);if !_cag {return _cc ;};_ge .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_bcec )); _fgf .ProcQ (_bcec ,_cca );case "\u0022":if len (_dgg .Params )!=3{return _fbc ;};_cfc ,_bgc :=_ag .GetNumberAsFloat (_dgg .Params [0]);if _bgc !=nil {return _bgc ;};_baba ,_bgc :=_ag .GetNumberAsFloat (_dgg .Params [1]);if _bgc !=nil {return _bgc ;};_bef ,_efg :=_ag .GetStringBytes (_dgg .Params [2]); if !_efg {return _cc ;};_fgf .ProcDQ (_bef ,_cfc ,_baba ,_cca );case "\u0054\u006a":if len (_dgg .Params )!=1{return _fbc ;};_gaf ,_cga :=_ag .GetStringBytes (_dgg .Params [0]);if !_cga {return _cc ;};_ge .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_gaf )); _fgf .ProcTj (_gaf ,_cca );case "\u0054\u004a":if len (_dgg .Params )!=1{return _fbc ;};_eae ,_agd :=_ag .GetArray (_dgg .Params [0]);if !_agd {_ge .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_eae );return _cc ;};_ge .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_eae ); for _ ,_afda :=range _eae .Elements (){switch _fge :=_afda .(type ){case *_ag .PdfObjectString :if _fge !=nil {_fgf .ProcTj (_fge .Bytes (),_cca );};case *_ag .PdfObjectFloat ,*_ag .PdfObjectInteger :_bfdf ,_bgag :=_ag .GetNumberAsFloat (_fge );if _bgag ==nil {_fgf .Translate (-_bfdf *0.001*_fgf .Tf .Size *_fgf .Th /100.0,0); };};};case "\u0054\u0066":if len (_dgg .Params )!=2{return _fbc ;};_ge .Log .Debug ("\u0025\u0023\u0076",_dgg .Params );_fdfb ,_gce :=_ag .GetName (_dgg .Params [0]);if !_gce ||_fdfb ==nil {_ge .Log .Debug ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u006e\u0061m\u0065 \u006f\u0062\u006a\u0065\u0063\u0074\u003a \u0025\u0076",_dgg .Params [0]); return _cc ;};_ge .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_fdfb .String ());_aebg ,_fab :=_ag .GetNumberAsFloat (_dgg .Params [1]);if _fab !=nil {_ge .Log .Debug ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0073\u0069z\u0065 \u006f\u0062\u006a\u0065\u0063\u0074\u003a \u0025\u0076",_dgg .Params [1]); return _cc ;};_ge .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_aebg );_cdfd ,_fbd :=_dbc .GetFontByName (*_fdfb );if !_fbd {_ge .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_fdfb .String ()); return _f .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_ge .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_cdfd );_dega ,_gce :=_ag .GetDict (_cdfd );if !_gce {_ge .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0063\u006f\u0075l\u0064\u0020\u006e\u006f\u0074\u0020\u0067e\u0074\u0020\u0066\u006f\u006e\u0074\u0020\u0064\u0069\u0063\u0074"); return _cc ;};_bfa ,_fab :=_gea .NewPdfFontFromPdfObject (_dega );if _fab !=nil {_ge .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u006c\u006f\u0061\u0064\u0020\u0066\u006fn\u0074\u0020\u0066\u0072\u006fm\u0020\u006fb\u006a\u0065\u0063\u0074"); return _fab ;};_dggc :=_bfa .BaseFont ();if _dggc ==""{_dggc =_fdfb .String ();};_ede ,_gce :=_fd [_dggc ];if !_gce {_ede ,_fab =_gd .NewTextFont (_bfa ,_aebg );if _fab !=nil {_ge .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_fab );};};if _ede ==nil {if len (_dggc )> 7&&_dggc [6]=='+'{_dggc =_dggc [7:]; };_eacb :=[]string {_dggc ,"\u0054i\u006de\u0073\u0020\u004e\u0065\u0077\u0020\u0052\u006f\u006d\u0061\u006e","\u0041\u0072\u0069a\u006c","D\u0065\u006a\u0061\u0056\u0075\u0020\u0053\u0061\u006e\u0073"};for _ ,_cfb :=range _eacb {_ge .Log .Debug ("\u0044\u0045\u0042\u0055\u0047\u003a \u0073\u0065\u0061\u0072\u0063\u0068\u0069\u006e\u0067\u0020\u0073\u0079\u0073t\u0065\u006d\u0020\u0066\u006f\u006e\u0074 \u0060\u0025\u0073\u0060",_cfb ); if _ede ,_gce =_fd [_cfb ];_gce {break ;};_bge :=_ffc .Match (_cfb );if _bge ==nil {_ge .Log .Debug ("c\u006f\u0075\u006c\u0064\u0020\u006eo\u0074\u0020\u0066\u0069\u006e\u0064\u0020\u0066\u006fn\u0074\u0020\u0066i\u006ce\u0020\u0025\u0073",_cfb );continue ; };_ede ,_fab =_gd .NewTextFontFromPath (_bge .Filename ,_aebg );if _fab !=nil {_ge .Log .Debug ("c\u006f\u0075\u006c\u0064\u0020\u006eo\u0074\u0020\u006c\u006f\u0061\u0064\u0020\u0066\u006fn\u0074\u0020\u0066i\u006ce\u0020\u0025\u0073",_bge .Filename ); continue ;};_ge .Log .Debug ("\u0053\u0075\u0062\u0073\u0074\u0069t\u0075\u0074\u0069\u006e\u0067\u0020\u0066\u006f\u006e\u0074\u0020\u0025\u0073 \u0077\u0069\u0074\u0068\u0020\u0025\u0073 \u0028\u0025\u0073\u0029",_dggc ,_bge .Name ,_bge .Filename );_fd [_cfb ]=_ede ; break ;};};if _ede ==nil {_ge .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020n\u006f\u0074\u0020\u0066\u0069\u006ed\u0020\u0061\u006e\u0079\u0020\u0073\u0075\u0069\u0074\u0061\u0062\u006c\u0065 \u0066\u006f\u006e\u0074"); return _f .New ("\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0066\u0069\u006e\u0064\u0020a\u006ey\u0020\u0073\u0075\u0069\u0074\u0061\u0062\u006c\u0065\u0020\u0066\u006f\u006e\u0074");};_fgf .ProcTf (_ede .WithSize (_aebg ,_bfa ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_ge .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0075\u006e\u0073u\u0070\u0070\u006f\u0072\u0074\u0065\u0064 \u006f\u0070\u0065\u0072\u0061\u006e\u0064\u003a\u0020\u0025\u0073",_dgg .Operand ); };_ca =_dgg ;return nil ;});_bd =_db .Process (_dd );if _bd !=nil {return _bd ;};return nil ;};func _gaeb (_dbfc ,_feedd ,_faa float64 )_cd .BoundingBox {return _cd .Path {Points :[]_cd .Point {_cd .NewPoint (0,0).Rotate (_faa ),_cd .NewPoint (_dbfc ,0).Rotate (_faa ),_cd .NewPoint (0,_feedd ).Rotate (_faa ),_cd .NewPoint (_dbfc ,_feedd ).Rotate (_faa )}}.GetBoundingBox (); };func (_dcg renderer )processRadialShading (_gdc _gd .Context ,_acg *_gea .PdfShading )(_gd .Gradient ,*_ag .PdfObjectArray ,error ){_bbdc :=_acg .GetContext ().(*_gea .PdfShadingType3 );if len (_bbdc .Function )==0{return nil ,nil ,_f .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e"); };_fbbef ,_bcbb :=_bbdc .Coords .ToFloat64Array ();if _bcbb !=nil {return nil ,nil ,_f .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e"); };_degf :=_acg .ColorSpace ;_bfb :=_ag .MakeArrayFromFloats ([]float64 {0,0,1,1});var _abf ,_dff ,_abbe ,_cbgc ,_bacc ,_fbdd float64 ;_abf ,_dff =_gdc .Matrix ().Transform (_fbbef [0],_fbbef [1]);_abbe ,_cbgc =_gdc .Matrix ().Transform (_fbbef [3],_fbbef [4]); _bacc ,_ =_gdc .Matrix ().Transform (_fbbef [2],0);_fbdd ,_ =_gdc .Matrix ().Transform (_fbbef [5],0);_babg ,_ :=_gdc .Matrix ().Translation ();_bacc -=_babg ;_fbdd -=_babg ;for _aae ,_ggd :=range _fbbef {if _aae ==2||_aae ==5{continue ;};if _ggd > 1.0{_gdf :=_gf .Min (_abf -_bacc ,_abbe -_fbdd ); _ead :=_gf .Min (_dff -_bacc ,_cbgc -_fbdd );_abdb :=_gf .Max (_abf +_bacc ,_abbe +_fbdd );_caae :=_gf .Max (_dff +_bacc ,_cbgc +_fbdd );_dfg :=_abdb -_gdf ;_eeb :=_ead -_caae ;_bfb =_ag .MakeArrayFromFloats ([]float64 {_gdf ,_ead ,_dfg ,_eeb });break ; };};_cba :=_dg .NewRadialGradient (_abf ,_dff ,_bacc ,_abbe ,_cbgc ,_fbdd );if _bee ,_eee :=_bbdc .Function [0].(*_gea .PdfFunctionType2 );_eee {_cba ,_bcbb =_bagf (_cba ,_bee ,_degf ,1.0,true );}else if _gcce ,_fgg :=_bbdc .Function [0].(*_gea .PdfFunctionType3 ); _fgg {_ccdf :=append ([]float64 {0},_gcce .Bounds ...);_ccdf =append (_ccdf ,1.0);_cba ,_bcbb =_dce (_cba ,_gcce ,_degf ,_ccdf );};if _bcbb !=nil {return nil ,nil ,_bcbb ;};return _cba ,_bfb ,nil ;}; // Render converts the specified PDF page into an image and returns the result. func (_de *ImageDevice )Render (page *_gea .PdfPage )(_gfg .Image ,error ){_ef ,_afb :=page .GetMediaBox ();if _afb !=nil {return nil ,_afb ;};_ef .Normalize ();_dgb :=page .CropBox ;var _be ,_bg float64 ;if _dgb !=nil {_dgb .Normalize ();_be ,_bg =_dgb .Width (),_dgb .Height (); };_eg :=page .Rotate ;_dec ,_ec ,_gb ,_ad :=_ef .Llx ,_ef .Lly ,_ef .Width (),_ef .Height ();_cf :=_fc .IdentityMatrix ();if _eg !=nil &&*_eg %360!=0&&*_eg %90==0{_gff :=-float64 (*_eg );_fb :=_gaeb (_gb ,_ad ,_gff );_cf =_cf .Translate ((_fb .Width -_gb )/2+_gb /2,(_fb .Height -_ad )/2+_ad /2).Rotate (_gff *_gf .Pi /180).Translate (-_gb /2,-_ad /2); _gb ,_ad =_fb .Width ,_fb .Height ;if _dgb !=nil {_ea :=_gaeb (_be ,_bg ,_gff );_be ,_bg =_ea .Width ,_ea .Height ;};};if _dec !=0||_ec !=0{_cf =_cf .Translate (-_dec ,-_ec );};_de ._bgg =1.0;if _de .OutputWidth !=0{_gg :=_gb ;if _dgb !=nil {_gg =_be ; };_de ._bgg =float64 (_de .OutputWidth )/_gg ;_gb ,_ad ,_be ,_bg =_gb *_de ._bgg ,_ad *_de ._bgg ,_be *_de ._bgg ,_bg *_de ._bgg ;_cf =_fc .ScaleMatrix (_de ._bgg ,_de ._bgg ).Mult (_cf );};_gc :=_dg .NewContext (int (_gb ),int (_ad ));if _agf :=_de .renderPage (_gc ,page ,_cf ); _agf !=nil {return nil ,_agf ;};_dag :=_gc .Image ();if _dgb !=nil {_gfb ,_ff :=(_dgb .Llx -_dec )*_de ._bgg ,(_dgb .Lly -_ec )*_de ._bgg ;_ecg :=_gfg .Rect (0,0,int (_be ),int (_bg ));_ga :=_gfg .Pt (int (_gfb ),int (_ad -_ff -_bg ));_ba :=_gfg .NewRGBA (_ecg ); _fg .Draw (_ba ,_ecg ,_dag ,_ga ,_fg .Src );_dag =_ba ;};return _dag ,nil ;};func _aebbg (_aeeea *_gea .Image ,_aefc _a .Color )_gfg .Image {_abdg ,_agfa :=int (_aeeea .Width ),int (_aeeea .Height );_bacb :=_gfg .NewRGBA (_gfg .Rect (0,0,_abdg ,_agfa )); for _agb :=0;_agb < _agfa ;_agb ++{for _edeg :=0;_edeg < _abdg ;_edeg ++{_aacb ,_cfec :=_aeeea .ColorAt (_edeg ,_agb );if _cfec !=nil {_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0072\u0065\u0074\u0072\u0069\u0065v\u0065 \u0069\u006d\u0061\u0067\u0065\u0020m\u0061\u0073\u006b\u0020\u0076\u0061\u006cu\u0065\u0020\u0061\u0074\u0020\u0028\u0025\u0064\u002c\u0020\u0025\u0064\u0029\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006da\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063t\u002e",_edeg ,_agb ); continue ;};_ebf ,_efab ,_fege ,_ :=_aacb .RGBA ();var _eabc _a .Color ;if _ebf +_efab +_fege ==0{_eabc =_a .Transparent ;}else {_eabc =_aefc ;};_bacb .Set (_edeg ,_agb ,_eabc );};};return _bacb ;};func _ffg (_eaea *_gea .Image ,_gbd _a .Color )_gfg .Image {_daf ,_ggge :=int (_eaea .Width ),int (_eaea .Height ); _eccc :=_gfg .NewRGBA (_gfg .Rect (0,0,_daf ,_ggge ));for _ccad :=0;_ccad < _ggge ;_ccad ++{for _feed :=0;_feed < _daf ;_feed ++{_ecbc ,_gag :=_eaea .ColorAt (_feed ,_ccad );if _gag !=nil {_ge .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0072\u0065\u0074\u0072\u0069\u0065v\u0065 \u0069\u006d\u0061\u0067\u0065\u0020m\u0061\u0073\u006b\u0020\u0076\u0061\u006cu\u0065\u0020\u0061\u0074\u0020\u0028\u0025\u0064\u002c\u0020\u0025\u0064\u0029\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006da\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063t\u002e",_feed ,_ccad ); continue ;};_bba ,_bcc ,_feg ,_ :=_ecbc .RGBA ();var _cdfg _a .Color ;if _bba +_bcc +_feg ==0{_cdfg =_gbd ;}else {_cdfg =_a .Transparent ;};_eccc .Set (_feed ,_ccad ,_cdfg );};};return _eccc ;};func _fffb (_gbad string ,_gggf _gfg .Image )error {_aeee ,_edb :=_da .Create (_gbad ); if _edb !=nil {return _edb ;};defer _aeee .Close ();return _ee .Encode (_aeee ,_gggf );};const (ShadingTypeFunctionBased PdfShadingType =1;ShadingTypeAxial PdfShadingType =2;ShadingTypeRadial PdfShadingType =3;ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5; ShadingTypeCoons PdfShadingType =6;ShadingTypeTensorProduct PdfShadingType =7;);func _ffce (_aebb string ,_fdge _gfg .Image ,_adfb int )error {_gfcb ,_daeb :=_da .Create (_aebb );if _daeb !=nil {return _daeb ;};defer _gfcb .Close ();return _c .Encode (_gfcb ,_fdge ,&_c .Options {Quality :_adfb }); };func _fbaa (_dcfe _ag .PdfObject ,_fbad _a .Color )(_gfg .Image ,error ){_adac ,_cfbd :=_ag .GetStream (_dcfe );if !_cfbd {return nil ,nil ;};_bcd ,_dedgc :=_gea .NewXObjectImageFromStream (_adac );if _dedgc !=nil {return nil ,_dedgc ;};_fcdg ,_dedgc :=_bcd .ToImage (); if _dedgc !=nil {return nil ,_dedgc ;};return _aebbg (_fcdg ,_fbad ),nil ;};func _dceg (_daeg _ag .PdfObject ,_adc _a .Color )(_gfg .Image ,error ){_ecce ,_fgfcd :=_ag .GetStream (_daeg );if !_fgfcd {return nil ,nil ;};_dgc ,_fbe :=_gea .NewXObjectImageFromStream (_ecce ); if _fbe !=nil {return nil ,_fbe ;};_caca ,_fbe :=_dgc .ToImage ();if _fbe !=nil {return nil ,_fbe ;};return _ffg (_caca ,_adc ),nil ;};func _fega (_fgbgc ,_cgdc _gfg .Image )_gfg .Image {_fea ,_edbc :=_cgdc .Bounds ().Size (),_fgbgc .Bounds ().Size (); _fbbg ,_dbfe :=_fea .X ,_fea .Y ;if _edbc .X > _fbbg {_fbbg =_edbc .X ;};if _edbc .Y > _dbfe {_dbfe =_edbc .Y ;};_cbgca :=_gfg .Rect (0,0,_fbbg ,_dbfe );if _fea .X !=_fbbg ||_fea .Y !=_dbfe {_bdg :=_gfg .NewRGBA (_cbgca );_bb .BiLinear .Scale (_bdg ,_cbgca ,_fgbgc ,_cgdc .Bounds (),_bb .Over ,nil ); _cgdc =_bdg ;};if _edbc .X !=_fbbg ||_edbc .Y !=_dbfe {_feac :=_gfg .NewRGBA (_cbgca );_bb .BiLinear .Scale (_feac ,_cbgca ,_fgbgc ,_fgbgc .Bounds (),_bb .Over ,nil );_fgbgc =_feac ;};_geab :=_gfg .NewRGBA (_cbgca );_bb .DrawMask (_geab ,_cbgca ,_fgbgc ,_gfg .Point {},_cgdc ,_gfg .Point {},_bb .Over ); return _geab ;}; // ImageDevice is used to render PDF pages to image targets. type ImageDevice struct{renderer ; // OutputWidth represents the width of the rendered images in pixels. // The heights of the output images are calculated based on the selected // width and the original height of each rendered page. OutputWidth int ;};func _bagf (_dbcb _gd .Gradient ,_gba *_gea .PdfFunctionType2 ,_dcbg _gea .PdfColorspace ,_aac float64 ,_fdgc bool )(_gd .Gradient ,error ){switch _dcbg .(type ){case *_gea .PdfColorspaceDeviceRGB :if len (_gba .C0 )!=3||len (_gba .C1 )!=3{return nil ,_f .New ("\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u0020\u0052\u0047\u0042\u0020\u0063o\u006co\u0072\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068"); };_cgad :=_gba .C0 ;_bggf :=_gba .C1 ;if _fdgc {_dbcb .AddColorStop (0.0,_a .RGBA {R :uint8 (_cgad [0]*255),G :uint8 (_cgad [1]*255),B :uint8 (_cgad [2]*255),A :255});};_dbcb .AddColorStop (_aac ,_a .RGBA {R :uint8 (_bggf [0]*255),G :uint8 (_bggf [1]*255),B :uint8 (_bggf [2]*255),A :255}); case *_gea .PdfColorspaceDeviceCMYK :if len (_gba .C0 )!=4||len (_gba .C1 )!=4{return nil ,_f .New ("\u0069\u006e\u0063\u006f\u0072\u0072e\u0063\u0074\u0020\u0043\u004d\u0059\u004b\u0020\u0063\u006f\u006c\u006f\u0072 \u0061\u0072\u0072\u0061\u0079\u0020\u006ce\u006e\u0067\u0074\u0068"); };_gcdg :=_gba .C0 ;_gccd :=_gba .C1 ;if _fdgc {_dbcb .AddColorStop (0.0,_a .CMYK {C :uint8 (_gcdg [0]*255),M :uint8 (_gcdg [1]*255),Y :uint8 (_gcdg [2]*255),K :uint8 (_gcdg [3]*255)});};_dbcb .AddColorStop (_aac ,_a .CMYK {C :uint8 (_gccd [0]*255),M :uint8 (_gccd [1]*255),Y :uint8 (_gccd [2]*255),K :uint8 (_gccd [3]*255)}); default:return nil ,_af .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_dcbg .String ());};return _dbcb ,nil ;};func (_aff renderer )processShading (_baeb _gd .Context ,_fac *_gea .PdfShading )(_gd .Gradient ,*_ag .PdfObjectArray ,error ){_gfdf :=int64 (*_fac .ShadingType ); if _gfdf ==int64 (ShadingTypeAxial ){return _aff .processLinearShading (_baeb ,_fac );}else if _gfdf ==int64 (ShadingTypeRadial ){return _aff .processRadialShading (_baeb ,_fac );}else {_ge .Log .Debug (_af .Sprintf ("\u0050r\u006f\u0063e\u0073\u0073\u0069n\u0067\u0020\u0067\u0072\u0061\u0064\u0069e\u006e\u0074\u0020\u0074\u0079\u0070e\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0079\u0065\u0074 \u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064",_gfdf )); };return nil ,nil ,nil ;};func (_bace renderer )processLinearShading (_cea _gd .Context ,_cbc *_gea .PdfShading )(_gd .Gradient ,*_ag .PdfObjectArray ,error ){_fedd :=_cbc .GetContext ().(*_gea .PdfShadingType2 );if len (_fedd .Function )==0{return nil ,nil ,_f .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e"); };_cab ,_ace :=_fedd .Coords .ToFloat64Array ();if _ace !=nil {return nil ,nil ,_f .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e"); };_fedg :=_cbc .ColorSpace ;_fce ,_gac :=_cea .Matrix ().Transform (_cab [0],_cab [1]);_bgce ,_gabb :=_cea .Matrix ().Transform (_cab [2],_cab [3]);_cfca :=_dg .NewLinearGradient (_fce ,_gac ,_bgce ,_gabb );_daab :=_ag .MakeArrayFromFloats ([]float64 {0,0,1,1}); for _ ,_cbfe :=range _cab {if _cbfe > 1{_daab =_fedd .Coords ;break ;};};if _egbf ,_ccd :=_fedd .Function [0].(*_gea .PdfFunctionType2 );_ccd {_cfca ,_ace =_bagf (_cfca ,_egbf ,_fedg ,1.0,true );}else if _ccae ,_caa :=_fedd .Function [0].(*_gea .PdfFunctionType3 ); _caa {_dgda :=append ([]float64 {0},_ccae .Bounds ...);_dgda =append (_dgda ,1.0);_cfca ,_ace =_dce (_cfca ,_ccae ,_fedg ,_dgda );};return _cfca ,_daab ,_ace ;};var (_cc =_f .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072"); _fbc =_f .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"););func _dce (_egfe _gd .Gradient ,_dedg *_gea .PdfFunctionType3 ,_aee _gea .PdfColorspace ,_dea []float64 )(_gd .Gradient ,error ){var _ffeg error ; for _cbeg :=0;_cbeg < len (_dedg .Functions );_cbeg ++{if _adeg ,_gdab :=_dedg .Functions [_cbeg ].(*_gea .PdfFunctionType2 );_gdab {_egfe ,_ffeg =_bagf (_egfe ,_adeg ,_aee ,_dea [_cbeg +1],_cbeg ==0);if _ffeg !=nil {return nil ,_ffeg ;};};};return _egfe ,nil ; };func (_fbcc renderer )renderPage (_ae _gd .Context ,_ada *_gea .PdfPage ,_ce _fc .Matrix )error {_fe ,_efc :=_ada .GetAllContentStreams ();if _efc !=nil {return _efc ;};if _gga :=_ce ;!_gga .Identity (){_fe =_af .Sprintf ("%\u002e\u0032\u0066\u0020\u0025\u002e2\u0066\u0020\u0025\u002e\u0032\u0066 \u0025\u002e\u0032\u0066\u0020\u0025\u002e2\u0066\u0020\u0025\u002e\u0032\u0066\u0020\u0063\u006d\u0020%\u0073",_gga [0],_gga [1],_gga [3],_gga [4],_gga [6],_gga [7],_fe ); };_ae .Translate (0,float64 (_ae .Height ()));_ae .Scale (1,-1);_ae .Push ();_ae .SetRGBA (1,1,1,1);_ae .DrawRectangle (0,0,float64 (_ae .Width ()),float64 (_ae .Height ()));_ae .Fill ();_ae .Pop ();_ae .SetLineWidth (1.0);_ae .SetRGBA (0,0,0,1);return _fbcc .renderContentStream (_ae ,_fe ,_ada .Resources ); };