// // 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 (_d "errors";_fe "fmt";_af "github.com/adrg/sysfont";_ae "github.com/unidoc/unipdf/v3/annotator";_eec "github.com/unidoc/unipdf/v3/common";_aa "github.com/unidoc/unipdf/v3/contentstream";_da "github.com/unidoc/unipdf/v3/contentstream/draw"; _gd "github.com/unidoc/unipdf/v3/core";_a "github.com/unidoc/unipdf/v3/internal/license";_dc "github.com/unidoc/unipdf/v3/internal/transform";_eeb "github.com/unidoc/unipdf/v3/model";_df "github.com/unidoc/unipdf/v3/render/internal/context";_cg "github.com/unidoc/unipdf/v3/render/internal/context/imagerender"; _ag "golang.org/x/image/draw";_f "image";_ba "image/color";_g "image/draw";_eg "image/jpeg";_cc "image/png";_ee "math";_bf "os";_c "path/filepath";_e "strings";); // RenderWithOpts converts the specified PDF page into an image, optionally flattens annotations and returns the result. func (_gc *ImageDevice )RenderWithOpts (page *_eeb .PdfPage ,skipFlattening bool )(_f .Image ,error ){_dcc ,_ef :=page .GetMediaBox ();if _ef !=nil {return nil ,_ef ;};_dcc .Normalize ();_abb :=page .CropBox ;var _bc ,_dg float64 ;if _abb !=nil {_abb .Normalize (); _bc ,_dg =_abb .Width (),_abb .Height ();};_be :=page .Rotate ;_gde ,_dcce ,_ad ,_gf :=_dcc .Llx ,_dcc .Lly ,_dcc .Width (),_dcc .Height ();_bb :=_dc .IdentityMatrix ();if _be !=nil &&*_be %360!=0&&*_be %90==0{_fb :=-float64 (*_be );_dfe :=_bdga (_ad ,_gf ,_fb ); _bb =_bb .Translate ((_dfe .Width -_ad )/2+_ad /2,(_dfe .Height -_gf )/2+_gf /2).Rotate (_fb *_ee .Pi /180).Translate (-_ad /2,-_gf /2);_ad ,_gf =_dfe .Width ,_dfe .Height ;if _abb !=nil {_dga :=_bdga (_bc ,_dg ,_fb );_bc ,_dg =_dga .Width ,_dga .Height ; };};if _gde !=0||_dcce !=0{_bb =_bb .Translate (-_gde ,-_dcce );};_gc ._ff =1.0;if _gc .OutputWidth !=0{_feg :=_ad ;if _abb !=nil {_feg =_bc ;};_gc ._ff =float64 (_gc .OutputWidth )/_feg ;_ad ,_gf ,_bc ,_dg =_ad *_gc ._ff ,_gf *_gc ._ff ,_bc *_gc ._ff ,_dg *_gc ._ff ; _bb =_dc .ScaleMatrix (_gc ._ff ,_gc ._ff ).Mult (_bb );};_cb :=_cg .NewContext (int (_ad ),int (_gf ));if _bbf :=_gc .renderPage (_cb ,page ,_bb ,skipFlattening );_bbf !=nil {return nil ,_bbf ;};_ec :=_cb .Image ();if _abb !=nil {_bea ,_bef :=(_abb .Llx -_gde )*_gc ._ff ,(_abb .Lly -_dcce )*_gc ._ff ; _bd :=_f .Rect (0,0,int (_bc ),int (_dg ));_abg :=_f .Pt (int (_bea ),int (_gf -_bef -_dg ));_daf :=_f .NewRGBA (_bd );_g .Draw (_daf ,_bd ,_ec ,_abg ,_g .Src );_ec =_daf ;};return _ec ,nil ;};func (_gaeg renderer )processGradient (_dcea _df .Context ,_adde *_aa .ContentStreamOperation ,_beb *_eeb .PdfPageResources ,_gag *_gd .PdfObjectName )(_df .Gradient ,error ){if _eaec ,_bed :=_beb .GetPatternByName (*_gag ); _bed &&_eaec .IsShading (){_egf :=_eaec .GetAsShadingPattern ().Shading ;_acg ,_ ,_fbg :=_gaeg .processShading (_dcea ,_egf );if _fbg !=nil {return nil ,_fbg ;};return _acg ,nil ;};return nil ,nil ;}; // Render converts the specified PDF page into an image, flattens annotations by default and returns the result. func (_fea *ImageDevice )Render (page *_eeb .PdfPage )(_f .Image ,error ){return _fea .RenderWithOpts (page ,false );};func (_cge renderer )renderContentStream (_cf _df .Context ,_egb string ,_gdee *_eeb .PdfPageResources )error {_gfb ,_eece :=_aa .NewContentStreamParser (_egb ).Parse (); if _eece !=nil {return _eece ;};_dcg :=_cf .TextState ();_dcg .GlobalScale =_cge ._ff ;_gdc :=map[string ]*_df .TextFont {};_eb :=_af .NewFinder (&_af .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _ebe *_aa .ContentStreamOperation ; _bfd :=_aa .NewContentStreamProcessor (*_gfb );_bfd .AddHandler (_aa .HandlerConditionEnumAllOperands ,"",func (_gbe *_aa .ContentStreamOperation ,_bg _aa .GraphicsState ,_gfc *_eeb .PdfPageResources )error {_eec .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_gbe .Operand ); switch _gbe .Operand {case "\u0071":_cf .Push ();case "\u0051":_cf .Pop ();_dcg =_cf .TextState ();case "\u0063\u006d":if len (_gbe .Params )!=6{return _de ;};_db ,_dfa :=_gd .GetNumbersAsFloat (_gbe .Params );if _dfa !=nil {return _dfa ;};_baab :=_dc .NewMatrix (_db [0],_db [1],_db [2],_db [3],_db [4],_db [5]); _eec .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",_baab );_cf .SetMatrix (_cf .Matrix ().Mult (_baab ));case "\u0077":if len (_gbe .Params )!=1{return _de ; };_ge ,_ege :=_gd .GetNumbersAsFloat (_gbe .Params );if _ege !=nil {return _ege ;};_cf .SetLineWidth (_ge [0]);case "\u004a":if len (_gbe .Params )!=1{return _de ;};_dgg ,_egc :=_gd .GetIntVal (_gbe .Params [0]);if !_egc {return _fed ;};switch _dgg {case 0:_cf .SetLineCap (_df .LineCapButt ); case 1:_cf .SetLineCap (_df .LineCapRound );case 2:_cf .SetLineCap (_df .LineCapSquare );default:_eec .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",_dgg ); return _de ;};case "\u006a":if len (_gbe .Params )!=1{return _de ;};_egeg ,_fg :=_gd .GetIntVal (_gbe .Params [0]);if !_fg {return _fed ;};switch _egeg {case 0:_cf .SetLineJoin (_df .LineJoinBevel );case 1:_cf .SetLineJoin (_df .LineJoinRound );case 2:_cf .SetLineJoin (_df .LineJoinBevel ); default:_eec .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",_egeg );return _de ;};case "\u004d":if len (_gbe .Params )!=1{return _de ;};_dgee ,_fa :=_gd .GetNumbersAsFloat (_gbe .Params ); if _fa !=nil {return _fa ;};_ =_dgee ;_eec .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 (_gbe .Params )!=2{return _de ;};_gbf ,_ffc :=_gd .GetArray (_gbe .Params [0]); if !_ffc {return _fed ;};_dba ,_ffc :=_gd .GetIntVal (_gbe .Params [1]);if !_ffc {_ ,_dfea :=_gd .GetFloatVal (_gbe .Params [1]);if !_dfea {return _fed ;};};_bge ,_eca :=_gd .GetNumbersAsFloat (_gbf .Elements ());if _eca !=nil {return _eca ;};_cf .SetDash (_bge ...); _ =_dba ;_eec .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":_eec .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":_eec .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 (_gbe .Params )!=1{return _de ; };_fd ,_gbg :=_gd .GetName (_gbe .Params [0]);if !_gbg {return _fed ;};if _fd ==nil {return _de ;};_gg ,_gbg :=_gfc .GetExtGState (*_fd );if !_gbg {_eec .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",*_fd ); return _d .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_ca ,_gbg :=_gd .GetDict (_gg );if !_gbg {_eec .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 _fed ;};_eec .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_ca .String ());_bgef :=_ca .Get ("\u0063\u0061");if _bgef !=nil {_bfa ,_fae :=_gd .GetNumberAsFloat (_bgef );if _fae ==nil {_bbg ,_gbd :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking ); if _gbd !=nil {_eec .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",_gbd );return _gbd ;};_ebd ,_aba :=_bbg .(*_eeb .PdfColorDeviceRGB );if !_aba {_eec .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072"); return _gbd ;};_cf .SetFillRGBA (_ebd .R (),_ebd .G (),_ebd .B (),_bfa );};};case "\u006d":if len (_gbe .Params )!=2{_eec .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",_de ); return nil ;};_dde ,_ade :=_gd .GetNumbersAsFloat (_gbe .Params );if _ade !=nil {return _ade ;};_eec .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_dde );_cf .NewSubPath ();_cf .MoveTo (_dde [0],_dde [1]);case "\u006c":if len (_gbe .Params )!=2{_eec .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",_de ); return nil ;};_gdfd ,_bbc :=_gd .GetNumbersAsFloat (_gbe .Params );if _bbc !=nil {return _bbc ;};_cf .LineTo (_gdfd [0],_gdfd [1]);case "\u0063":if len (_gbe .Params )!=6{return _de ;};_ddec ,_fda :=_gd .GetNumbersAsFloat (_gbe .Params );if _fda !=nil {return _fda ; };_eec .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_ddec );_cf .CubicTo (_ddec [0],_ddec [1],_ddec [2],_ddec [3],_ddec [4],_ddec [5]);case "\u0076","\u0079":if len (_gbe .Params )!=4{return _de ; };_bcd ,_gda :=_gd .GetNumbersAsFloat (_gbe .Params );if _gda !=nil {return _gda ;};_eec .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_bcd );_cf .QuadraticTo (_bcd [0],_bcd [1],_bcd [2],_bcd [3]); case "\u0068":_cf .ClosePath ();_cf .NewSubPath ();case "\u0072\u0065":if len (_gbe .Params )!=4{return _de ;};_ddd ,_dbf :=_gd .GetNumbersAsFloat (_gbe .Params );if _dbf !=nil {return _dbf ;};_cf .DrawRectangle (_ddd [0],_ddd [1],_ddd [2],_ddd [3]);_cf .NewSubPath (); case "\u0053":_geg ,_add :=_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _add !=nil {_eec .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",_add ); return _add ;};_fdb ,_cdc :=_geg .(*_eeb .PdfColorDeviceRGB );if !_cdc {_eec .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _add ;};_cf .SetRGBA (_fdb .R (),_fdb .G (),_fdb .B (),1); _cf .Stroke ();case "\u0073":_ggc ,_cbe :=_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _cbe !=nil {_eec .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",_cbe ); return _cbe ;};_gae ,_ce :=_ggc .(*_eeb .PdfColorDeviceRGB );if !_ce {_eec .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _cbe ;};_cf .ClosePath ();_cf .NewSubPath (); _cf .SetRGBA (_gae .R (),_gae .G (),_gae .B (),1);_cf .Stroke ();case "\u0066","\u0046":_aea ,_cee :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking );if _cee !=nil {_eec .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",_cee ); return _cee ;};switch _fdd :=_aea .(type ){case *_eeb .PdfColorDeviceRGB :_cf .SetRGBA (_fdd .R (),_fdd .G (),_fdd .B (),1);_cf .SetFillRule (_df .FillRuleWinding );_cf .Fill ();case *_eeb .PdfColorPattern :_cf .Fill ();};_eec .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072"); case "\u0066\u002a":_dea ,_dec :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking );if _dec !=nil {_eec .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",_dec ); return _dec ;};_eag ,_gaed :=_dea .(*_eeb .PdfColorDeviceRGB );if !_gaed {_eec .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _dec ;};_cf .SetRGBA (_eag .R (),_eag .G (),_eag .B (),1); _cf .SetFillRule (_df .FillRuleEvenOdd );_cf .Fill ();case "\u0042":_adee ,_ede :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking );if _ede !=nil {_eec .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",_ede ); return _ede ;};switch _cbc :=_adee .(type ){case *_eeb .PdfColorDeviceRGB :_cf .SetRGBA (_cbc .R (),_cbc .G (),_cbc .B (),1);_cf .SetFillRule (_df .FillRuleWinding );_cf .FillPreserve ();_adee ,_ede =_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking ); if _ede !=nil {_eec .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",_ede );return _ede ;};if _ffb ,_ac :=_adee .(*_eeb .PdfColorDeviceRGB ); _ac {_cf .SetRGBA (_ffb .R (),_ffb .G (),_ffb .B (),1);_cf .Stroke ();};case *_eeb .PdfColorPattern :_cf .SetFillRule (_df .FillRuleWinding );_cf .Fill ();_cf .StrokePattern ();};case "\u0042\u002a":_gge ,_dccg :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking ); if _dccg !=nil {_eec .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",_dccg );return _dccg ;};switch _ecc :=_gge .(type ){case *_eeb .PdfColorDeviceRGB :_cf .SetRGBA (_ecc .R (),_ecc .G (),_ecc .B (),1); _cf .SetFillRule (_df .FillRuleEvenOdd );_cf .FillPreserve ();_gge ,_dccg =_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _dccg !=nil {_eec .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",_dccg ); return _dccg ;};if _baac ,_adf :=_gge .(*_eeb .PdfColorDeviceRGB );_adf {_cf .SetRGBA (_baac .R (),_baac .G (),_baac .B (),1);_cf .Stroke ();};case *_eeb .PdfColorPattern :_cf .SetFillRule (_df .FillRuleEvenOdd );_cf .Fill ();_cf .StrokePattern ();};case "\u0062":_cf .ClosePath (); _daa ,_eagf :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking );if _eagf !=nil {_eec .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",_eagf ); return _eagf ;};switch _bde :=_daa .(type ){case *_eeb .PdfColorDeviceRGB :_cf .SetRGBA (_bde .R (),_bde .G (),_bde .B (),1);_cf .NewSubPath ();_cf .SetFillRule (_df .FillRuleWinding );_cf .FillPreserve ();_daa ,_eagf =_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking ); if _eagf !=nil {_eec .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",_eagf );return _eagf ;};if _edb ,_bgc :=_daa .(*_eeb .PdfColorDeviceRGB ); _bgc {_cf .SetRGBA (_edb .R (),_edb .G (),_edb .B (),1);_cf .Stroke ();};case *_eeb .PdfColorPattern :_cf .NewSubPath ();_cf .SetFillRule (_df .FillRuleWinding );_cf .Fill ();_cf .StrokePattern ();};case "\u0062\u002a":_cf .ClosePath ();_ebeg ,_cba :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking ); if _cba !=nil {_eec .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",_cba );return _cba ;};switch _fc :=_ebeg .(type ){case *_eeb .PdfColorDeviceRGB :_cf .SetRGBA (_fc .R (),_fc .G (),_fc .B (),1); _cf .NewSubPath ();_cf .SetFillRule (_df .FillRuleEvenOdd );_cf .FillPreserve ();_ebeg ,_cba =_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _cba !=nil {_eec .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",_cba ); return _cba ;};if _dae ,_bba :=_ebeg .(*_eeb .PdfColorDeviceRGB );_bba {_cf .SetRGBA (_dae .R (),_dae .G (),_dae .B (),1);_cf .Stroke ();};case *_eeb .PdfColorPattern :_cf .NewSubPath ();_cf .SetFillRule (_df .FillRuleEvenOdd );_cf .Fill ();_cf .StrokePattern (); };case "\u006e":_cf .ClearPath ();case "\u0057":_cf .SetFillRule (_df .FillRuleWinding );_cf .ClipPreserve ();case "\u0057\u002a":_cf .SetFillRule (_df .FillRuleEvenOdd );_cf .ClipPreserve ();case "\u0072\u0067":_fag ,_dccf :=_bg .ColorNonStroking .(*_eeb .PdfColorDeviceRGB ); if !_dccf {_eec .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",_bg .ColorNonStroking );return nil ;};_cf .SetFillRGBA (_fag .R (),_fag .G (),_fag .B (),1); case "\u0052\u0047":_gcc ,_gce :=_bg .ColorStroking .(*_eeb .PdfColorDeviceRGB );if !_gce {_eec .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",_bg .ColorStroking ); return nil ;};_cf .SetStrokeRGBA (_gcc .R (),_gcc .G (),_gcc .B (),1);case "\u006b":_ced ,_ccb :=_bg .ColorNonStroking .(*_eeb .PdfColorDeviceCMYK );if !_ccb {_eec .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",_bg .ColorNonStroking ); return nil ;};_fde ,_adb :=_bg .ColorspaceNonStroking .ColorToRGB (_ced );if _adb !=nil {_eec .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",_bg .ColorNonStroking ); return nil ;};_aga ,_ccb :=_fde .(*_eeb .PdfColorDeviceRGB );if !_ccb {_eec .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",_fde );return nil ; };_cf .SetFillRGBA (_aga .R (),_aga .G (),_aga .B (),1);case "\u004b":_gcf ,_fcb :=_bg .ColorStroking .(*_eeb .PdfColorDeviceCMYK );if !_fcb {_eec .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",_bg .ColorStroking ); return nil ;};_bdab ,_abba :=_bg .ColorspaceStroking .ColorToRGB (_gcf );if _abba !=nil {_eec .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",_bg .ColorStroking ); return nil ;};_feab ,_fcb :=_bdab .(*_eeb .PdfColorDeviceRGB );if !_fcb {_eec .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",_bdab );return nil ; };_cf .SetStrokeRGBA (_feab .R (),_feab .G (),_feab .B (),1);case "\u0067":_fgd ,_fcf :=_bg .ColorNonStroking .(*_eeb .PdfColorDeviceGray );if !_fcf {_eec .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",_bg .ColorNonStroking ); return nil ;};_cgb ,_dcga :=_bg .ColorspaceNonStroking .ColorToRGB (_fgd );if _dcga !=nil {_eec .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",_bg .ColorNonStroking ); return nil ;};_ddf ,_fcf :=_cgb .(*_eeb .PdfColorDeviceRGB );if !_fcf {_eec .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",_cgb );return nil ; };_cf .SetFillRGBA (_ddf .R (),_ddf .G (),_ddf .B (),1);case "\u0047":_bgf ,_ggcb :=_bg .ColorStroking .(*_eeb .PdfColorDeviceGray );if !_ggcb {_eec .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",_bg .ColorStroking ); return nil ;};_egee ,_ece :=_bg .ColorspaceStroking .ColorToRGB (_bgf );if _ece !=nil {_eec .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",_bg .ColorStroking ); return nil ;};_aded ,_ggcb :=_egee .(*_eeb .PdfColorDeviceRGB );if !_ggcb {_eec .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",_egee );return nil ; };_cf .SetStrokeRGBA (_aded .R (),_aded .G (),_aded .B (),1);case "\u0063\u0073":if len (_gbe .Params )> 0{if _fgb ,_caa :=_gd .GetName (_gbe .Params [0]);_caa &&_fgb .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_gdg ,_ebed :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking ); if _ebed !=nil {_eec .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",_bg .ColorNonStroking );return nil ;};_aeac ,_ffbe :=_gdg .(*_eeb .PdfColorDeviceRGB ); if !_ffbe {_eec .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",_gdg );return nil ;};_cf .SetFillRGBA (_aeac .R (),_aeac .G (),_aeac .B (),1); case "\u0073\u0063":_cce ,_deac :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking );if _deac !=nil {_eec .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",_bg .ColorNonStroking ); return nil ;};_ebf ,_aac :=_cce .(*_eeb .PdfColorDeviceRGB );if !_aac {_eec .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",_cce );return nil ; };_cf .SetFillRGBA (_ebf .R (),_ebf .G (),_ebf .B (),1);case "\u0073\u0063\u006e":if len (_gbe .Params )> 0&&len (_ebe .Params )> 0{if _fbd ,_eebc :=_gd .GetName (_ebe .Params [0]);_eebc &&_fbd .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _bdef ,_bce :=_gd .GetName (_gbe .Params [0]); _bce {_agg ,_bdeb :=_cge .processGradient (_cf ,_gbe ,_gfc ,_bdef );if _bdeb !=nil {_eec .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",_bdeb ); break ;};if _agg ==nil {_eec .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cf .SetFillStyle (_agg );_cf .SetStrokeStyle (_agg );break ;};};};_cbf ,_gaf :=_bg .ColorspaceNonStroking .ColorToRGB (_bg .ColorNonStroking ); if _gaf !=nil {_eec .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",_bg .ColorNonStroking );return nil ;};_gdgg ,_abae :=_cbf .(*_eeb .PdfColorDeviceRGB ); if !_abae {_eec .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",_cbf );return nil ;};_cf .SetFillRGBA (_gdgg .R (),_gdgg .G (),_gdgg .B (),1); case "\u0043\u0053":if len (_gbe .Params )> 0{if _gdgf ,_dfd :=_gd .GetName (_gbe .Params [0]);_dfd &&_gdgf .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_eagfg ,_ecg :=_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _ecg !=nil {_eec .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",_bg .ColorStroking ); return nil ;};_cged ,_eaa :=_eagfg .(*_eeb .PdfColorDeviceRGB );if !_eaa {_eec .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",_eagfg );return nil ; };_cf .SetStrokeRGBA (_cged .R (),_cged .G (),_cged .B (),1);case "\u0053\u0043":_bbb ,_aff :=_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking );if _aff !=nil {_eec .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",_bg .ColorStroking ); return nil ;};_aacb ,_eab :=_bbb .(*_eeb .PdfColorDeviceRGB );if !_eab {_eec .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",_bbb );return nil ; };_cf .SetStrokeRGBA (_aacb .R (),_aacb .G (),_aacb .B (),1);case "\u0053\u0043\u004e":if len (_gbe .Params )> 0&&len (_ebe .Params )> 0{if _cdd ,_gcd :=_gd .GetName (_ebe .Params [0]);_gcd &&_cdd .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _cddc ,_dbg :=_gd .GetName (_gbe .Params [0]); _dbg {_ccf ,_cbcd :=_cge .processGradient (_cf ,_gbe ,_gfc ,_cddc );if _cbcd !=nil {_eec .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",_cbcd ); break ;};if _ccf ==nil {_eec .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cf .SetFillStyle (_ccf );_cf .SetStrokeStyle (_ccf );break ;};};};_eebf ,_geed :=_bg .ColorspaceStroking .ColorToRGB (_bg .ColorStroking ); if _geed !=nil {_eec .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",_bg .ColorStroking );return nil ;};_bfb ,_bgd :=_eebf .(*_eeb .PdfColorDeviceRGB ); if !_bgd {_eec .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",_eebf );return nil ;};_cf .SetStrokeRGBA (_bfb .R (),_bfb .G (),_bfb .B (),1); case "\u0073\u0068":if len (_gbe .Params )!=1{_eec .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 ;};_dcf ,_fgc :=_gd .GetName (_gbe .Params [0]); if !_fgc {_eec .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 ;};_cfg ,_fgc :=_gfc .GetShadingByName (*_dcf );if !_fgc {_eec .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 ;};_ggd ,_effd ,_bcde :=_cge .processShading (_cf ,_cfg );if _bcde !=nil {_eec .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",_bcde ); break ;};if _ggd ==nil {_eec .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_gga ,_bcde :=_effd .ToFloat64Array ();if _bcde !=nil {_eec .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",_bcde ); break ;};_cf .DrawRectangle (_gga [0],_gga [1],_gga [2],_gga [3]);_cf .NewSubPath ();_cf .SetFillStyle (_ggd );_cf .SetStrokeStyle (_ggd );_cf .Fill ();case "\u0044\u006f":if len (_gbe .Params )!=1{return _de ;};_fgde ,_fcbe :=_gd .GetName (_gbe .Params [0]); if !_fcbe {return _fed ;};_ ,_eee :=_gfc .GetXObjectByName (*_fgde );switch _eee {case _eeb .XObjectTypeImage :_eec .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_fgde .String ());_cag ,_ged :=_gfc .GetXObjectImageByName (*_fgde ); if _ged !=nil {return _ged ;};_gbef ,_ged :=_cag .ToImage ();if _ged !=nil {_eec .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_ged ); return nil ;};if _fdf :=_cag .ColorSpace ;_fdf !=nil {var _bbfd bool ;switch _fdf .(type ){case *_eeb .PdfColorspaceSpecialIndexed :_bbfd =true ;};if _bbfd {if _gcb ,_aaf :=_fdf .ImageToRGB (*_gbef );_aaf !=nil {_eec .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 {_gbef =&_gcb ;};};};_ccec :=_cf .FillPattern ().ColorAt (0,0);var _bcab _f .Image ;if _cag .Mask !=nil {if _bcab ,_ged =_afdf (_cag .Mask ,_ccec );_ged !=nil {_eec .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 _cag .SMask !=nil {if _bcab ,_ged =_dafe (_cag .SMask ,_ccec );_ged !=nil {_eec .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 _cea _f .Image ;if _gbeg ,_ :=_gd .GetBoolVal (_cag .ImageMask );_gbeg {_cea =_bedb (_gbef ,_ccec );}else {_cea ,_ged =_gbef .ToGoImage ();if _ged !=nil {_eec .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_ged ); return nil ;};};if _bcab !=nil {_cea =_fbc (_cea ,_bcab );};_cgedd :=_cea .Bounds ();_cf .Push ();_cf .Scale (1.0/float64 (_cgedd .Dx ()),-1.0/float64 (_cgedd .Dy ()));_cf .DrawImageAnchored (_cea ,0,0,0,1);_cf .Pop ();case _eeb .XObjectTypeForm :_eec .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_fgde .String ()); _dbga ,_afd :=_gfc .GetXObjectFormByName (*_fgde );if _afd !=nil {return _afd ;};_cbge ,_afd :=_dbga .GetContentStream ();if _afd !=nil {return _afd ;};_dgc :=_dbga .Resources ;if _dgc ==nil {_dgc =_gfc ;};_cf .Push ();if _dbga .Matrix !=nil {_gcce ,_dff :=_gd .GetArray (_dbga .Matrix ); if !_dff {return _fed ;};_ceea ,_cfd :=_gd .GetNumbersAsFloat (_gcce .Elements ());if _cfd !=nil {return _cfd ;};if len (_ceea )!=6{return _de ;};_eae :=_dc .NewMatrix (_ceea [0],_ceea [1],_ceea [2],_ceea [3],_ceea [4],_ceea [5]);_cf .SetMatrix (_cf .Matrix ().Mult (_eae )); };if _dbga .BBox !=nil {_eda ,_ebfb :=_gd .GetArray (_dbga .BBox );if !_ebfb {return _fed ;};_cagb ,_gba :=_gd .GetNumbersAsFloat (_eda .Elements ());if _gba !=nil {return _gba ;};if len (_cagb )!=4{_eec .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_cagb )); return _de ;};_cf .DrawRectangle (_cagb [0],_cagb [1],_cagb [2]-_cagb [0],_cagb [3]-_cagb [1]);_cf .SetRGBA (1,0,0,1);_cf .Clip ();}else {_eec .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"); };_afd =_cge .renderContentStream (_cf ,string (_cbge ),_dgc );if _afd !=nil {return _afd ;};_cf .Pop ();};case "\u0042\u0049":if len (_gbe .Params )!=1{return _de ;};_cad ,_feaf :=_gbe .Params [0].(*_aa .ContentStreamInlineImage );if !_feaf {return nil ; };_adedf ,_abgb :=_cad .ToImage (_gfc );if _abgb !=nil {_eec .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_abgb ); return nil ;};_def ,_abgb :=_adedf .ToGoImage ();if _abgb !=nil {_eec .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_abgb ); return nil ;};_gca :=_def .Bounds ();_cf .Push ();_cf .Scale (1.0/float64 (_gca .Dx ()),-1.0/float64 (_gca .Dy ()));_cf .DrawImageAnchored (_def ,0,0,0,1);_cf .Pop ();case "\u0042\u0054":_dcg .Reset ();case "\u0045\u0054":_dcg .Reset ();case "\u0054\u0072":if len (_gbe .Params )!=1{return _de ; };_daec ,_bdc :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _bdc !=nil {return _bdc ;};_dcg .Tr =_df .TextRenderingMode (_daec );case "\u0054\u004c":if len (_gbe .Params )!=1{return _de ;};_fead ,_bgcc :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _bgcc !=nil {return _bgcc ; };_dcg .Tl =_fead ;case "\u0054\u0063":if len (_gbe .Params )!=1{return _de ;};_dbb ,_gcg :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _gcg !=nil {return _gcg ;};_eec .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_dbb );_dcg .Tc =_dbb ;case "\u0054\u0077":if len (_gbe .Params )!=1{return _de ; };_agb ,_bgfc :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _bgfc !=nil {return _bgfc ;};_eec .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_agb );_dcg .Tw =_agb ;case "\u0054\u007a":if len (_gbe .Params )!=1{return _de ;};_aafg ,_cedd :=_gd .GetNumberAsFloat (_gbe .Params [0]); if _cedd !=nil {return _cedd ;};_dcg .Th =_aafg ;case "\u0054\u0073":if len (_gbe .Params )!=1{return _de ;};_fbb ,_gcfd :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _gcfd !=nil {return _gcfd ;};_dcg .Ts =_fbb ;case "\u0054\u0064":if len (_gbe .Params )!=2{return _de ; };_caf ,_dbc :=_gd .GetNumbersAsFloat (_gbe .Params );if _dbc !=nil {return _dbc ;};_eec .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_caf );_dcg .ProcTd (_caf [0],_caf [1]);case "\u0054\u0044":if len (_gbe .Params )!=2{return _de ;};_bbba ,_efe :=_gd .GetNumbersAsFloat (_gbe .Params ); if _efe !=nil {return _efe ;};_eec .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_bbba );_dcg .ProcTD (_bbba [0],_bbba [1]);case "\u0054\u002a":_dcg .ProcTStar ();case "\u0054\u006d":if len (_gbe .Params )!=6{return _de ;};_edeg ,_cgeb :=_gd .GetNumbersAsFloat (_gbe .Params ); if _cgeb !=nil {return _cgeb ;};_eec .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_edeg );_dcg .ProcTm (_edeg [0],_edeg [1],_edeg [2],_edeg [3],_edeg [4],_edeg [5]);case "\u0027":if len (_gbe .Params )!=1{return _de ; };_dbbb ,_egd :=_gd .GetStringBytes (_gbe .Params [0]);if !_egd {return _fed ;};_eec .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_dbbb ));_dcg .ProcQ (_dbbb ,_cf );case "\u0022":if len (_gbe .Params )!=3{return _de ; };_dce ,_gcbb :=_gd .GetNumberAsFloat (_gbe .Params [0]);if _gcbb !=nil {return _gcbb ;};_gcca ,_gcbb :=_gd .GetNumberAsFloat (_gbe .Params [1]);if _gcbb !=nil {return _gcbb ;};_daaa ,_bad :=_gd .GetStringBytes (_gbe .Params [2]);if !_bad {return _fed ; };_dcg .ProcDQ (_daaa ,_dce ,_gcca ,_cf );case "\u0054\u006a":if len (_gbe .Params )!=1{return _de ;};_abf ,_dad :=_gd .GetStringBytes (_gbe .Params [0]);if !_dad {return _fed ;};_eec .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_abf )); _dcg .ProcTj (_abf ,_cf );case "\u0054\u004a":if len (_gbe .Params )!=1{return _de ;};_ebede ,_eecg :=_gd .GetArray (_gbe .Params [0]);if !_eecg {_eec .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_ebede );return _fed ;};_eec .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_ebede ); for _ ,_bgff :=range _ebede .Elements (){switch _dcd :=_bgff .(type ){case *_gd .PdfObjectString :if _dcd !=nil {_dcg .ProcTj (_dcd .Bytes (),_cf );};case *_gd .PdfObjectFloat ,*_gd .PdfObjectInteger :_bgb ,_ffcb :=_gd .GetNumberAsFloat (_dcd );if _ffcb ==nil {_dcg .Translate (-_bgb *0.001*_dcg .Tf .Size *_dcg .Th /100.0,0); };};};case "\u0054\u0066":if len (_gbe .Params )!=2{return _de ;};_eec .Log .Debug ("\u0025\u0023\u0076",_gbe .Params );_cafc ,_abbf :=_gd .GetName (_gbe .Params [0]);if !_abbf ||_cafc ==nil {_eec .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",_gbe .Params [0]); return _fed ;};_eec .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_cafc .String ());_deg ,_edea :=_gd .GetNumberAsFloat (_gbe .Params [1]);if _edea !=nil {_eec .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",_gbe .Params [1]); return _fed ;};_eec .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_deg );_gbfb ,_fgg :=_gfc .GetFontByName (*_cafc );if !_fgg {_eec .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_cafc .String ()); return _d .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_eec .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_gbfb );_gdb ,_abbf :=_gd .GetDict (_gbfb );if !_abbf {_eec .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 _fed ;};_ggad ,_edea :=_eeb .NewPdfFontFromPdfObject (_gdb );if _edea !=nil {_eec .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 _edea ;};_decb :=_ggad .BaseFont ();if _decb ==""{_decb =_cafc .String ();};_ddb ,_abbf :=_gdc [_decb ];if !_abbf {_ddb ,_edea =_df .NewTextFont (_ggad ,_deg );if _edea !=nil {_eec .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_edea ); };};if _ddb ==nil {if len (_decb )> 7&&_decb [6]=='+'{_decb =_decb [7:];};_ebb :=[]string {_decb ,"\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 _ ,_dccb :=range _ebb {_eec .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",_dccb );if _ddb ,_abbf =_gdc [_dccb ]; _abbf {break ;};_ggb :=_eb .Match (_dccb );if _ggb ==nil {_eec .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",_dccb );continue ;};_ddb ,_edea =_df .NewTextFontFromPath (_ggb .Filename ,_deg ); if _edea !=nil {_eec .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",_ggb .Filename );continue ;};_eec .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",_decb ,_ggb .Name ,_ggb .Filename ); _gdc [_dccb ]=_ddb ;break ;};};if _ddb ==nil {_eec .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 _d .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");};_dcg .ProcTf (_ddb .WithSize (_deg ,_ggad ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_eec .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",_gbe .Operand ); };_ebe =_gbe ;return nil ;});_eece =_bfd .Process (_gdee );if _eece !=nil {return _eece ;};return nil ;};type renderer struct{_ff float64 };func _fbc (_cadd ,_eeed _f .Image )_f .Image {_dfeb ,_badb :=_eeed .Bounds ().Size (),_cadd .Bounds ().Size ();_bgcg ,_bbd :=_dfeb .X ,_dfeb .Y ; if _badb .X > _bgcg {_bgcg =_badb .X ;};if _badb .Y > _bbd {_bbd =_badb .Y ;};_acf :=_f .Rect (0,0,_bgcg ,_bbd );if _dfeb .X !=_bgcg ||_dfeb .Y !=_bbd {_ddeg :=_f .NewRGBA (_acf );_ag .BiLinear .Scale (_ddeg ,_acf ,_cadd ,_eeed .Bounds (),_ag .Over ,nil ); _eeed =_ddeg ;};if _badb .X !=_bgcg ||_badb .Y !=_bbd {_gdcg :=_f .NewRGBA (_acf );_ag .BiLinear .Scale (_gdcg ,_acf ,_cadd ,_cadd .Bounds (),_ag .Over ,nil );_cadd =_gdcg ;};_gff :=_f .NewRGBA (_acf );_ag .DrawMask (_gff ,_acf ,_cadd ,_f .Point {},_eeed ,_f .Point {},_ag .Over ); return _gff ;};func _dafe (_bccg _gd .PdfObject ,_bfg _ba .Color )(_f .Image ,error ){_bbfce ,_fdg :=_gd .GetStream (_bccg );if !_fdg {return nil ,nil ;};_eded ,_addg :=_eeb .NewXObjectImageFromStream (_bbfce );if _addg !=nil {return nil ,_addg ;};_ebc ,_addg :=_eded .ToImage (); if _addg !=nil {return nil ,_addg ;};return _aec (_ebc ,_bfg ),nil ;};func _aab (_gac _df .Gradient ,_fcd *_eeb .PdfFunctionType2 ,_cda _eeb .PdfColorspace ,_ddfd float64 ,_gdfg bool )(_df .Gradient ,error ){switch _cda .(type ){case *_eeb .PdfColorspaceDeviceRGB :if len (_fcd .C0 )!=3||len (_fcd .C1 )!=3{return nil ,_d .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"); };_gbfe :=_fcd .C0 ;_dgfb :=_fcd .C1 ;if _gdfg {_gac .AddColorStop (0.0,_ba .RGBA {R :uint8 (_gbfe [0]*255),G :uint8 (_gbfe [1]*255),B :uint8 (_gbfe [2]*255),A :255});};_gac .AddColorStop (_ddfd ,_ba .RGBA {R :uint8 (_dgfb [0]*255),G :uint8 (_dgfb [1]*255),B :uint8 (_dgfb [2]*255),A :255}); case *_eeb .PdfColorspaceDeviceCMYK :if len (_fcd .C0 )!=4||len (_fcd .C1 )!=4{return nil ,_d .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"); };_bcc :=_fcd .C0 ;_dcac :=_fcd .C1 ;if _gdfg {_gac .AddColorStop (0.0,_ba .CMYK {C :uint8 (_bcc [0]*255),M :uint8 (_bcc [1]*255),Y :uint8 (_bcc [2]*255),K :uint8 (_bcc [3]*255)});};_gac .AddColorStop (_ddfd ,_ba .CMYK {C :uint8 (_dcac [0]*255),M :uint8 (_dcac [1]*255),Y :uint8 (_dcac [2]*255),K :uint8 (_dcac [3]*255)}); default:return nil ,_fe .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_cda .String ());};return _gac ,nil ;}; // RenderToPath converts the specified PDF page into an image and saves the // result at the specified location. func (_aag *ImageDevice )RenderToPath (page *_eeb .PdfPage ,outputPath string )error {_gb ,_ea :=_aag .Render (page );if _ea !=nil {return _ea ;};_bag :=_e .ToLower (_c .Ext (outputPath ));if _bag ==""{return _d .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 _bag {case "\u002e\u0070\u006e\u0067":return _aacbf (outputPath ,_gb );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _fddf (outputPath ,_gb ,100);};return _fe .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",_bag ); };func _aec (_gcac *_eeb .Image ,_gfbd _ba .Color )_f .Image {_gbcf ,_afb :=int (_gcac .Width ),int (_gcac .Height );_fgaa :=_f .NewRGBA (_f .Rect (0,0,_gbcf ,_afb ));for _ggaf :=0;_ggaf < _afb ;_ggaf ++{for _ggbd :=0;_ggbd < _gbcf ;_ggbd ++{_dbd ,_fbbg :=_gcac .ColorAt (_ggbd ,_ggaf ); if _fbbg !=nil {_eec .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",_ggbd ,_ggaf ); continue ;};_ceee ,_ecef ,_degea ,_ :=_dbd .RGBA ();var _fbbe _ba .Color ;if _ceee +_ecef +_degea ==0{_fbbe =_ba .Transparent ;}else {_fbbe =_gfbd ;};_fgaa .Set (_ggbd ,_ggaf ,_fbbe );};};return _fgaa ;};func (_fcg renderer )processRadialShading (_acb _df .Context ,_agaa *_eeb .PdfShading )(_df .Gradient ,*_gd .PdfObjectArray ,error ){_ggg :=_agaa .GetContext ().(*_eeb .PdfShadingType3 ); if len (_ggg .Function )==0{return nil ,nil ,_d .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"); };_edbg ,_fff :=_ggg .Coords .ToFloat64Array ();if _fff !=nil {return nil ,nil ,_d .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"); };_dfef :=_agaa .ColorSpace ;_cbd :=_gd .MakeArrayFromFloats ([]float64 {0,0,1,1});var _cgbg ,_ecac ,_ffcc ,_eabf ,_eeg ,_ebbf float64 ;_cgbg ,_ecac =_acb .Matrix ().Transform (_edbg [0],_edbg [1]);_ffcc ,_eabf =_acb .Matrix ().Transform (_edbg [3],_edbg [4]); _eeg ,_ =_acb .Matrix ().Transform (_edbg [2],0);_ebbf ,_ =_acb .Matrix ().Transform (_edbg [5],0);_ceec ,_ :=_acb .Matrix ().Translation ();_eeg -=_ceec ;_ebbf -=_ceec ;for _cfdf ,_bcg :=range _edbg {if _cfdf ==2||_cfdf ==5{continue ;};if _bcg > 1.0{_aee :=_ee .Min (_cgbg -_eeg ,_ffcc -_ebbf ); _ggeb :=_ee .Min (_ecac -_eeg ,_eabf -_ebbf );_dbgg :=_ee .Max (_cgbg +_eeg ,_ffcc +_ebbf );_gfe :=_ee .Max (_ecac +_eeg ,_eabf +_ebbf );_dcab :=_dbgg -_aee ;_fgcd :=_ggeb -_gfe ;_cbd =_gd .MakeArrayFromFloats ([]float64 {_aee ,_ggeb ,_dcab ,_fgcd });break ; };};_dbbbe :=_cg .NewRadialGradient (_cgbg ,_ecac ,_eeg ,_ffcc ,_eabf ,_ebbf );if _ecf ,_ceg :=_ggg .Function [0].(*_eeb .PdfFunctionType2 );_ceg {_dbbbe ,_fff =_aab (_dbbbe ,_ecf ,_dfef ,1.0,true );}else if _fcfa ,_ffg :=_ggg .Function [0].(*_eeb .PdfFunctionType3 ); _ffg {_fdeg :=append ([]float64 {0},_fcfa .Bounds ...);_fdeg =append (_fdeg ,1.0);_dbbbe ,_fff =_ggf (_dbbbe ,_fcfa ,_dfef ,_fdeg );};if _fff !=nil {return nil ,nil ,_fff ;};return _dbbbe ,_cbd ,nil ;};const (ShadingTypeFunctionBased PdfShadingType =1; ShadingTypeAxial PdfShadingType =2;ShadingTypeRadial PdfShadingType =3;ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5;ShadingTypeCoons PdfShadingType =6;ShadingTypeTensorProduct PdfShadingType =7;); // PdfShadingType defines PDF shading types. // Source: PDF32000_2008.pdf. Chapter 8.7.4.5 type PdfShadingType int64 ;func _bedb (_agd *_eeb .Image ,_egfc _ba .Color )_f .Image {_dda ,_caca :=int (_agd .Width ),int (_agd .Height );_eabfg :=_f .NewRGBA (_f .Rect (0,0,_dda ,_caca ));for _bfc :=0;_bfc < _caca ;_bfc ++{for _fgdec :=0;_fgdec < _dda ; _fgdec ++{_gebb ,_bdgb :=_agd .ColorAt (_fgdec ,_bfc );if _bdgb !=nil {_eec .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",_fgdec ,_bfc ); continue ;};_fga ,_daab ,_cgg ,_ :=_gebb .RGBA ();var _daeb _ba .Color ;if _fga +_daab +_cgg ==0{_daeb =_egfc ;}else {_daeb =_ba .Transparent ;};_eabfg .Set (_fgdec ,_bfc ,_daeb );};};return _eabfg ;};func _bdga (_abc ,_bfca ,_affc float64 )_da .BoundingBox {return _da .Path {Points :[]_da .Point {_da .NewPoint (0,0).Rotate (_affc ),_da .NewPoint (_abc ,0).Rotate (_affc ),_da .NewPoint (0,_bfca ).Rotate (_affc ),_da .NewPoint (_abc ,_bfca ).Rotate (_affc )}}.GetBoundingBox (); };func _fddf (_cfc string ,_ebff _f .Image ,_dccbb int )error {_egg ,_baf :=_bf .Create (_cfc );if _baf !=nil {return _baf ;};defer _egg .Close ();return _eg .Encode (_egg ,_ebff ,&_eg .Options {Quality :_dccbb });};func _ggf (_ceef _df .Gradient ,_bebe *_eeb .PdfFunctionType3 ,_cacd _eeb .PdfColorspace ,_bbfc []float64 )(_df .Gradient ,error ){var _geb error ; for _dgfbe :=0;_dgfbe < len (_bebe .Functions );_dgfbe ++{if _dfdb ,_fgge :=_bebe .Functions [_dgfbe ].(*_eeb .PdfFunctionType2 );_fgge {_ceef ,_geb =_aab (_ceef ,_dfdb ,_cacd ,_bbfc [_dgfbe +1],_dgfbe ==0);if _geb !=nil {return nil ,_geb ;};};};return _ceef ,nil ; }; // NewImageDevice returns a new image device. func NewImageDevice ()*ImageDevice {const _ab ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_a .TrackUse (_ab );return &ImageDevice {};};func (_gdgb renderer )processShading (_bdg _df .Context ,_fbgg *_eeb .PdfShading )(_df .Gradient ,*_gd .PdfObjectArray ,error ){_efa :=int64 (*_fbgg .ShadingType ); if _efa ==int64 (ShadingTypeAxial ){return _gdgb .processLinearShading (_bdg ,_fbgg );}else if _efa ==int64 (ShadingTypeRadial ){return _gdgb .processRadialShading (_bdg ,_fbgg );}else {_eec .Log .Debug (_fe .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",_efa )); };return nil ,nil ,nil ;};func _aacbf (_dbcd string ,_eebce _f .Image )error {_gbad ,_fegc :=_bf .Create (_dbcd );if _fegc !=nil {return _fegc ;};defer _gbad .Close ();return _cc .Encode (_gbad ,_eebce );};var (_fed =_d .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072"); _de =_d .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"););func (_dgf renderer )processLinearShading (_bfaa _df .Context ,_adg *_eeb .PdfShading )(_df .Gradient ,*_gd .PdfObjectArray ,error ){_aaa :=_adg .GetContext ().(*_eeb .PdfShadingType2 ); if len (_aaa .Function )==0{return nil ,nil ,_d .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"); };_fcff ,_effa :=_aaa .Coords .ToFloat64Array ();if _effa !=nil {return nil ,nil ,_d .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"); };_bee :=_adg .ColorSpace ;_ddc ,_bfaf :=_bfaa .Matrix ().Transform (_fcff [0],_fcff [1]);_bgg ,_faa :=_bfaa .Matrix ().Transform (_fcff [2],_fcff [3]);_gfa :=_cg .NewLinearGradient (_ddc ,_bfaf ,_bgg ,_faa );_dcb :=_gd .MakeArrayFromFloats ([]float64 {0,0,1,1}); for _ ,_fef :=range _fcff {if _fef > 1{_dcb =_aaa .Coords ;break ;};};if _ccd ,_decc :=_aaa .Function [0].(*_eeb .PdfFunctionType2 );_decc {_gfa ,_effa =_aab (_gfa ,_ccd ,_bee ,1.0,true );}else if _dbfb ,_cedc :=_aaa .Function [0].(*_eeb .PdfFunctionType3 ); _cedc {_ceac :=append ([]float64 {0},_dbfb .Bounds ...);_ceac =append (_ceac ,1.0);_gfa ,_effa =_ggf (_gfa ,_dbfb ,_bee ,_ceac );};return _gfa ,_dcb ,_effa ;};func _afdf (_cacdd _gd .PdfObject ,_eeeg _ba .Color )(_f .Image ,error ){_bdf ,_aaad :=_gd .GetStream (_cacdd ); if !_aaad {return nil ,nil ;};_dcgf ,_dege :=_eeb .NewXObjectImageFromStream (_bdf );if _dege !=nil {return nil ,_dege ;};_ffff ,_dege :=_dcgf .ToImage ();if _dege !=nil {return nil ,_dege ;};return _bedb (_ffff ,_eeeg ),nil ;}; // 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 (_bca renderer )renderPage (_dd _df .Context ,_baa *_eeb .PdfPage ,_dca _dc .Matrix ,_cbg bool )error {if !_cbg {_bda :=_eeb .FieldFlattenOpts {AnnotFilterFunc :func (_fbf *_eeb .PdfAnnotation )bool {switch _fbf .GetContext ().(type ){case *_eeb .PdfAnnotationLine :return true ; case *_eeb .PdfAnnotationSquare :return true ;case *_eeb .PdfAnnotationCircle :return true ;case *_eeb .PdfAnnotationPolygon :return true ;case *_eeb .PdfAnnotationPolyLine :return true ;};return false ;}};_dge :=_ae .FieldAppearance {};_feb :=_baa .FlattenFieldsWithOpts (_dge ,&_bda ); if _feb !=nil {_eec .Log .Debug ("\u0045\u0072r\u006f\u0072\u0020\u0064u\u0072\u0069n\u0067\u0020\u0061\u006e\u006e\u006f\u0074\u0061t\u0069\u006f\u006e\u0020\u0066\u006c\u0061\u0074\u0074\u0065\u006e\u0069n\u0067\u0020\u0025\u0076",_feb );};};_cd ,_ed :=_baa .GetAllContentStreams (); if _ed !=nil {return _ed ;};if _gdf :=_dca ;!_gdf .Identity (){_cd =_fe .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",_gdf [0],_gdf [1],_gdf [3],_gdf [4],_gdf [6],_gdf [7],_cd ); };_dd .Translate (0,float64 (_dd .Height ()));_dd .Scale (1,-1);_dd .Push ();_dd .SetRGBA (1,1,1,1);_dd .DrawRectangle (0,0,float64 (_dd .Width ()),float64 (_dd .Height ()));_dd .Fill ();_dd .Pop ();_dd .SetLineWidth (1.0);_dd .SetRGBA (0,0,0,1);return _bca .renderContentStream (_dd ,_cd ,_baa .Resources ); };