unipdf/render/render.go
2023-05-29 17:26:33 +00:00

197 lines
52 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
package render ;import (_c "errors";_g "fmt";_ccd "github.com/adrg/sysfont";_cg "github.com/unidoc/unipdf/v3/common";_bb "github.com/unidoc/unipdf/v3/contentstream";_de "github.com/unidoc/unipdf/v3/contentstream/draw";_cc "github.com/unidoc/unipdf/v3/core";
_gc "github.com/unidoc/unipdf/v3/internal/license";_cb "github.com/unidoc/unipdf/v3/internal/transform";_bbe "github.com/unidoc/unipdf/v3/model";_cge "github.com/unidoc/unipdf/v3/render/internal/context";_ee "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";
_bf "golang.org/x/image/draw";_eg "image";_bg "image/color";_b "image/draw";_fa "image/jpeg";_d "image/png";_ea "math";_ff "os";_ec "path/filepath";_e "strings";);func (_adfb renderer )processRadialShading (_gae _cge .Context ,_bee *_bbe .PdfShading )(_cge .Gradient ,*_cc .PdfObjectArray ,error ){_bgec :=_bee .GetContext ().(*_bbe .PdfShadingType3 );
if len (_bgec .Function )==0{return nil ,nil ,_c .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");
};_begf ,_deac :=_bgec .Coords .ToFloat64Array ();if _deac !=nil {return nil ,nil ,_c .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");
};_cbff :=_bee .ColorSpace ;_gge :=_cc .MakeArrayFromFloats ([]float64 {0,0,1,1});var _ddc ,_adg ,_dgdg ,_adae ,_bfefc ,_cdg float64 ;_ddc ,_adg =_gae .Matrix ().Transform (_begf [0],_begf [1]);_dgdg ,_adae =_gae .Matrix ().Transform (_begf [3],_begf [4]);
_bfefc ,_ =_gae .Matrix ().Transform (_begf [2],0);_cdg ,_ =_gae .Matrix ().Transform (_begf [5],0);_gdf ,_ :=_gae .Matrix ().Translation ();_bfefc -=_gdf ;_cdg -=_gdf ;for _ddg ,_cbdd :=range _begf {if _ddg ==2||_ddg ==5{continue ;};if _cbdd > 1.0{_adfe :=_ea .Min (_ddc -_bfefc ,_dgdg -_cdg );
_afcc :=_ea .Min (_adg -_bfefc ,_adae -_cdg );_dggg :=_ea .Max (_ddc +_bfefc ,_dgdg +_cdg );_fbaa :=_ea .Max (_adg +_bfefc ,_adae +_cdg );_dcef :=_dggg -_adfe ;_dgfe :=_afcc -_fbaa ;_gge =_cc .MakeArrayFromFloats ([]float64 {_adfe ,_afcc ,_dcef ,_dgfe });
break ;};};_cdgf :=_ee .NewRadialGradient (_ddc ,_adg ,_bfefc ,_dgdg ,_adae ,_cdg );if _baeg ,_becb :=_bgec .Function [0].(*_bbe .PdfFunctionType2 );_becb {_cdgf ,_deac =_gbbc (_cdgf ,_baeg ,_cbff ,1.0,true );}else if _fceg ,_edbg :=_bgec .Function [0].(*_bbe .PdfFunctionType3 );
_edbg {_dbg :=append ([]float64 {0},_fceg .Bounds ...);_dbg =append (_dbg ,1.0);_cdgf ,_deac =_ccf (_cdgf ,_fceg ,_cbff ,_dbg );};if _deac !=nil {return nil ,nil ,_deac ;};return _cdgf ,_gge ,nil ;};func _abcg (_gaea _cc .PdfObject ,_ggea _bg .Color )(_eg .Image ,error ){_bgfce ,_ceg :=_cc .GetStream (_gaea );
if !_ceg {return nil ,nil ;};_add ,_gaee :=_bbe .NewXObjectImageFromStream (_bgfce );if _gaee !=nil {return nil ,_gaee ;};_bcg ,_gaee :=_add .ToImage ();if _gaee !=nil {return nil ,_gaee ;};return _eff (_bcg ,_ggea ),nil ;};func (_be renderer )renderPage (_ggc _cge .Context ,_gfb *_bbe .PdfPage ,_ed _cb .Matrix )error {_aca ,_aeg :=_gfb .GetAllContentStreams ();
if _aeg !=nil {return _aeg ;};if _aae :=_ed ;!_aae .Identity (){_aca =_g .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",_aae [0],_aae [1],_aae [3],_aae [4],_aae [6],_aae [7],_aca );
};_ggc .Translate (0,float64 (_ggc .Height ()));_ggc .Scale (1,-1);_ggc .Push ();_ggc .SetRGBA (1,1,1,1);_ggc .DrawRectangle (0,0,float64 (_ggc .Width ()),float64 (_ggc .Height ()));_ggc .Fill ();_ggc .Pop ();_ggc .SetLineWidth (1.0);_ggc .SetRGBA (0,0,0,1);
return _be .renderContentStream (_ggc ,_aca ,_gfb .Resources );};
// NewImageDevice returns a new image device.
func NewImageDevice ()*ImageDevice {const _cgc ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_gc .TrackUse (_cgc );return &ImageDevice {};};const (ShadingTypeFunctionBased PdfShadingType =1;ShadingTypeAxial PdfShadingType =2;
ShadingTypeRadial PdfShadingType =3;ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5;ShadingTypeCoons PdfShadingType =6;ShadingTypeTensorProduct PdfShadingType =7;);
// 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 (_cbd renderer )processLinearShading (_fabd _cge .Context ,_gca *_bbe .PdfShading )(_cge .Gradient ,*_cc .PdfObjectArray ,error ){_cfe :=_gca .GetContext ().(*_bbe .PdfShadingType2 );if len (_cfe .Function )==0{return nil ,nil ,_c .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");
};_caf ,_aaea :=_cfe .Coords .ToFloat64Array ();if _aaea !=nil {return nil ,nil ,_c .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");
};_abe :=_gca .ColorSpace ;_eae ,_ccg :=_fabd .Matrix ().Transform (_caf [0],_caf [1]);_ade ,_dba :=_fabd .Matrix ().Transform (_caf [2],_caf [3]);_dggf :=_ee .NewLinearGradient (_eae ,_ccg ,_ade ,_dba );_afa :=_cc .MakeArrayFromFloats ([]float64 {0,0,1,1});
for _ ,_ebc :=range _caf {if _ebc > 1{_afa =_cfe .Coords ;break ;};};if _gadd ,_adc :=_cfe .Function [0].(*_bbe .PdfFunctionType2 );_adc {_dggf ,_aaea =_gbbc (_dggf ,_gadd ,_abe ,1.0,true );}else if _afc ,_fegb :=_cfe .Function [0].(*_bbe .PdfFunctionType3 );
_fegb {_bgcf :=append ([]float64 {0},_afc .Bounds ...);_bgcf =append (_bgcf ,1.0);_dggf ,_aaea =_ccf (_dggf ,_afc ,_abe ,_bgcf );};return _dggf ,_afa ,_aaea ;};func (_cgg renderer )processShading (_agef _cge .Context ,_afgb *_bbe .PdfShading )(_cge .Gradient ,*_cc .PdfObjectArray ,error ){_ebe :=int64 (*_afgb .ShadingType );
if _ebe ==int64 (ShadingTypeAxial ){return _cgg .processLinearShading (_agef ,_afgb );}else if _ebe ==int64 (ShadingTypeRadial ){return _cgg .processRadialShading (_agef ,_afgb );}else {_cg .Log .Debug (_g .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",_ebe ));
};return nil ,nil ,nil ;};func _aed (_edad *_bbe .Image ,_afd _bg .Color )_eg .Image {_ffab ,_ddca :=int (_edad .Width ),int (_edad .Height );_dadc :=_eg .NewRGBA (_eg .Rect (0,0,_ffab ,_ddca ));for _abd :=0;_abd < _ddca ;_abd ++{for _eab :=0;_eab < _ffab ;
_eab ++{_gfcf ,_bcdc :=_edad .ColorAt (_eab ,_abd );if _bcdc !=nil {_cg .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",_eab ,_abd );
continue ;};_gcfg ,_ddcg ,_gdfd ,_ :=_gfcf .RGBA ();var _afag _bg .Color ;if _gcfg +_ddcg +_gdfd ==0{_afag =_afd ;}else {_afag =_bg .Transparent ;};_dadc .Set (_eab ,_abd ,_afag );};};return _dadc ;};
// RenderToPath converts the specified PDF page into an image and saves the
// result at the specified location.
func (_gf *ImageDevice )RenderToPath (page *_bbe .PdfPage ,outputPath string )error {_bfb ,_gg :=_gf .Render (page );if _gg !=nil {return _gg ;};_acb :=_e .ToLower (_ec .Ext (outputPath ));if _acb ==""{return _c .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 _acb {case "\u002e\u0070\u006e\u0067":return _ecf (outputPath ,_bfb );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _dga (outputPath ,_bfb ,100);};return _g .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",_acb );
};func _fdd (_bdde ,_agefa _eg .Image )_eg .Image {_gba ,_ead :=_agefa .Bounds ().Size (),_bdde .Bounds ().Size ();_aea ,_daeb :=_gba .X ,_gba .Y ;if _ead .X > _aea {_aea =_ead .X ;};if _ead .Y > _daeb {_daeb =_ead .Y ;};_abg :=_eg .Rect (0,0,_aea ,_daeb );
if _gba .X !=_aea ||_gba .Y !=_daeb {_fgcc :=_eg .NewRGBA (_abg );_bf .BiLinear .Scale (_fgcc ,_abg ,_bdde ,_agefa .Bounds (),_bf .Over ,nil );_agefa =_fgcc ;};if _ead .X !=_aea ||_ead .Y !=_daeb {_gebb :=_eg .NewRGBA (_abg );_bf .BiLinear .Scale (_gebb ,_abg ,_bdde ,_bdde .Bounds (),_bf .Over ,nil );
_bdde =_gebb ;};_eaff :=_eg .NewRGBA (_abg );_bf .DrawMask (_eaff ,_abg ,_bdde ,_eg .Point {},_agefa ,_eg .Point {},_bf .Over );return _eaff ;};func _dga (_cbgf string ,_gdgc _eg .Image ,_ffb int )error {_begfc ,_gaca :=_ff .Create (_cbgf );if _gaca !=nil {return _gaca ;
};defer _begfc .Close ();return _fa .Encode (_begfc ,_gdgc ,&_fa .Options {Quality :_ffb });};func _eff (_fac *_bbe .Image ,_adfc _bg .Color )_eg .Image {_ggfb ,_cbcg :=int (_fac .Width ),int (_fac .Height );_bgac :=_eg .NewRGBA (_eg .Rect (0,0,_ggfb ,_cbcg ));
for _ffbf :=0;_ffbf < _cbcg ;_ffbf ++{for _adfd :=0;_adfd < _ggfb ;_adfd ++{_eddf ,_dgae :=_fac .ColorAt (_adfd ,_ffbf );if _dgae !=nil {_cg .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",_adfd ,_ffbf );
continue ;};_gegb ,_bbff ,_cfgg ,_ :=_eddf .RGBA ();var _gga _bg .Color ;if _gegb +_bbff +_cfgg ==0{_gga =_bg .Transparent ;}else {_gga =_adfc ;};_bgac .Set (_adfd ,_ffbf ,_gga );};};return _bgac ;};type renderer struct{_ge float64 };
// PdfShadingType defines PDF shading types.
// Source: PDF32000_2008.pdf. Chapter 8.7.4.5
type PdfShadingType int64 ;func _acbf (_ecba ,_dbdc ,_bddf float64 )_de .BoundingBox {return _de .Path {Points :[]_de .Point {_de .NewPoint (0,0).Rotate (_bddf ),_de .NewPoint (_ecba ,0).Rotate (_bddf ),_de .NewPoint (0,_dbdc ).Rotate (_bddf ),_de .NewPoint (_ecba ,_dbdc ).Rotate (_bddf )}}.GetBoundingBox ();
};func (_cbg renderer )renderContentStream (_cff _cge .Context ,_gee string ,_ccdb *_bbe .PdfPageResources )error {_cged ,_dgc :=_bb .NewContentStreamParser (_gee ).Parse ();if _dgc !=nil {return _dgc ;};_aag :=_cff .TextState ();_aag .GlobalScale =_cbg ._ge ;
_gce :=map[string ]*_cge .TextFont {};_dae :=_ccd .NewFinder (&_ccd .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _df *_bb .ContentStreamOperation ;_bcd :=_bb .NewContentStreamProcessor (*_cged );_bcd .AddHandler (_bb .HandlerConditionEnumAllOperands ,"",func (_feg *_bb .ContentStreamOperation ,_ege _bb .GraphicsState ,_gcf *_bbe .PdfPageResources )error {_cg .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_feg .Operand );
switch _feg .Operand {case "\u0071":_cff .Push ();case "\u0051":_cff .Pop ();_aag =_cff .TextState ();case "\u0063\u006d":if len (_feg .Params )!=6{return _ag ;};_bce ,_cgedb :=_cc .GetNumbersAsFloat (_feg .Params );if _cgedb !=nil {return _cgedb ;};_cga :=_cb .NewMatrix (_bce [0],_bce [1],_bce [2],_bce [3],_bce [4],_bce [5]);
_cg .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",_cga );_cff .SetMatrix (_cff .Matrix ().Mult (_cga ));case "\u0077":if len (_feg .Params )!=1{return _ag ;
};_fb ,_ggcg :=_cc .GetNumbersAsFloat (_feg .Params );if _ggcg !=nil {return _ggcg ;};_cff .SetLineWidth (_fb [0]);case "\u004a":if len (_feg .Params )!=1{return _ag ;};_ddb ,_bfbb :=_cc .GetIntVal (_feg .Params [0]);if !_bfbb {return _cf ;};switch _ddb {case 0:_cff .SetLineCap (_cge .LineCapButt );
case 1:_cff .SetLineCap (_cge .LineCapRound );case 2:_cff .SetLineCap (_cge .LineCapSquare );default:_cg .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",_ddb );
return _ag ;};case "\u006a":if len (_feg .Params )!=1{return _ag ;};_dad ,_dc :=_cc .GetIntVal (_feg .Params [0]);if !_dc {return _cf ;};switch _dad {case 0:_cff .SetLineJoin (_cge .LineJoinBevel );case 1:_cff .SetLineJoin (_cge .LineJoinRound );case 2:_cff .SetLineJoin (_cge .LineJoinBevel );
default:_cg .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",_dad );return _ag ;};case "\u004d":if len (_feg .Params )!=1{return _ag ;};_bge ,_cd :=_cc .GetNumbersAsFloat (_feg .Params );
if _cd !=nil {return _cd ;};_ =_bge ;_cg .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 (_feg .Params )!=2{return _ag ;};_dca ,_abb :=_cc .GetArray (_feg .Params [0]);
if !_abb {return _cf ;};_cag ,_abb :=_cc .GetIntVal (_feg .Params [1]);if !_abb {_ ,_dce :=_cc .GetFloatVal (_feg .Params [1]);if !_dce {return _cf ;};};_dcd ,_bef :=_cc .GetNumbersAsFloat (_dca .Elements ());if _bef !=nil {return _bef ;};_cff .SetDash (_dcd ...);
_ =_cag ;_cg .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":_cg .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":_cg .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 (_feg .Params )!=1{return _ag ;
};_fd ,_dgcc :=_cc .GetName (_feg .Params [0]);if !_dgcc {return _cf ;};if _fd ==nil {return _ag ;};_cbae ,_dgcc :=_gcf .GetExtGState (*_fd );if !_dgcc {_cg .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 _c .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_bba ,_dgcc :=_cc .GetDict (_cbae );if !_dgcc {_cg .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 _cf ;};_cg .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_bba .String ());case "\u006d":if len (_feg .Params )!=2{_cg .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",_ag );
return nil ;};_befa ,_dda :=_cc .GetNumbersAsFloat (_feg .Params );if _dda !=nil {return _dda ;};_cg .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_befa );_cff .NewSubPath ();_cff .MoveTo (_befa [0],_befa [1]);case "\u006c":if len (_feg .Params )!=2{_cg .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",_ag );
return nil ;};_cbbc ,_ddac :=_cc .GetNumbersAsFloat (_feg .Params );if _ddac !=nil {return _ddac ;};_cff .LineTo (_cbbc [0],_cbbc [1]);case "\u0063":if len (_feg .Params )!=6{return _ag ;};_egea ,_gdcd :=_cc .GetNumbersAsFloat (_feg .Params );if _gdcd !=nil {return _gdcd ;
};_cg .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_egea );_cff .CubicTo (_egea [0],_egea [1],_egea [2],_egea [3],_egea [4],_egea [5]);case "\u0076","\u0079":if len (_feg .Params )!=4{return _ag ;
};_egd ,_fc :=_cc .GetNumbersAsFloat (_feg .Params );if _fc !=nil {return _fc ;};_cg .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_egd );_cff .QuadraticTo (_egd [0],_egd [1],_egd [2],_egd [3]);
case "\u0068":_cff .ClosePath ();_cff .NewSubPath ();case "\u0072\u0065":if len (_feg .Params )!=4{return _ag ;};_edb ,_ffe :=_cc .GetNumbersAsFloat (_feg .Params );if _ffe !=nil {return _ffe ;};_cff .DrawRectangle (_edb [0],_edb [1],_edb [2],_edb [3]);
_cff .NewSubPath ();case "\u0053":_dff ,_gfc :=_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _gfc !=nil {_cg .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",_gfc );
return _gfc ;};_eca ,_bgc :=_dff .(*_bbe .PdfColorDeviceRGB );if !_bgc {_cg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _gfc ;};_cff .SetRGBA (_eca .R (),_eca .G (),_eca .B (),1);
_cff .Stroke ();case "\u0073":_cbf ,_eb :=_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _eb !=nil {_cg .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",_eb );
return _eb ;};_cfc ,_ga :=_cbf .(*_bbe .PdfColorDeviceRGB );if !_ga {_cg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _eb ;};_cff .ClosePath ();_cff .NewSubPath ();
_cff .SetRGBA (_cfc .R (),_cfc .G (),_cfc .B (),1);_cff .Stroke ();case "\u0066","\u0046":_ffg ,_cgb :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );if _cgb !=nil {_cg .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 _cgb ;};switch _bbg :=_ffg .(type ){case *_bbe .PdfColorDeviceRGB :_cff .SetRGBA (_bbg .R (),_bbg .G (),_bbg .B (),1);_cff .SetFillRule (_cge .FillRuleWinding );_cff .Fill ();case *_bbe .PdfColorPattern :_cff .Fill ();};_cg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
case "\u0066\u002a":_ede ,_geg :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );if _geg !=nil {_cg .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",_geg );
return _geg ;};_gcee ,_dffb :=_ede .(*_bbe .PdfColorDeviceRGB );if !_dffb {_cg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _geg ;};_cff .SetRGBA (_gcee .R (),_gcee .G (),_gcee .B (),1);
_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .Fill ();case "\u0042":_bbgc ,_bd :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );if _bd !=nil {_cg .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",_bd );
return _bd ;};switch _aeb :=_bbgc .(type ){case *_bbe .PdfColorDeviceRGB :_cff .SetRGBA (_aeb .R (),_aeb .G (),_aeb .B (),1);_cff .SetFillRule (_cge .FillRuleWinding );_cff .FillPreserve ();_bbgc ,_bd =_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );
if _bd !=nil {_cg .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",_bd );return _bd ;};if _abcf ,_gac :=_bbgc .(*_bbe .PdfColorDeviceRGB );
_gac {_cff .SetRGBA (_abcf .R (),_abcf .G (),_abcf .B (),1);_cff .Stroke ();};case *_bbe .PdfColorPattern :_cff .SetFillRule (_cge .FillRuleWinding );_cff .Fill ();_cff .StrokePattern ();};case "\u0042\u002a":_af ,_afb :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );
if _afb !=nil {_cg .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",_afb );return _afb ;};switch _gde :=_af .(type ){case *_bbe .PdfColorDeviceRGB :_cff .SetRGBA (_gde .R (),_gde .G (),_gde .B (),1);
_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .FillPreserve ();_af ,_afb =_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _afb !=nil {_cg .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",_afb );
return _afb ;};if _egec ,_deb :=_af .(*_bbe .PdfColorDeviceRGB );_deb {_cff .SetRGBA (_egec .R (),_egec .G (),_egec .B (),1);_cff .Stroke ();};case *_bbe .PdfColorPattern :_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .Fill ();_cff .StrokePattern ();
};case "\u0062":_cff .ClosePath ();_geb ,_ceb :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );if _ceb !=nil {_cg .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",_ceb );
return _ceb ;};switch _dcb :=_geb .(type ){case *_bbe .PdfColorDeviceRGB :_cff .SetRGBA (_dcb .R (),_dcb .G (),_dcb .B (),1);_cff .NewSubPath ();_cff .SetFillRule (_cge .FillRuleWinding );_cff .FillPreserve ();_geb ,_ceb =_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );
if _ceb !=nil {_cg .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",_ceb );return _ceb ;};if _ace ,_fab :=_geb .(*_bbe .PdfColorDeviceRGB );
_fab {_cff .SetRGBA (_ace .R (),_ace .G (),_ace .B (),1);_cff .Stroke ();};case *_bbe .PdfColorPattern :_cff .NewSubPath ();_cff .SetFillRule (_cge .FillRuleWinding );_cff .Fill ();_cff .StrokePattern ();};case "\u0062\u002a":_cff .ClosePath ();_efc ,_bbf :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );
if _bbf !=nil {_cg .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",_bbf );return _bbf ;};switch _fbg :=_efc .(type ){case *_bbe .PdfColorDeviceRGB :_cff .SetRGBA (_fbg .R (),_fbg .G (),_fbg .B (),1);
_cff .NewSubPath ();_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .FillPreserve ();_efc ,_bbf =_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _bbf !=nil {_cg .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",_bbf );
return _bbf ;};if _dfb ,_aba :=_efc .(*_bbe .PdfColorDeviceRGB );_aba {_cff .SetRGBA (_dfb .R (),_dfb .G (),_dfb .B (),1);_cff .Stroke ();};case *_bbe .PdfColorPattern :_cff .NewSubPath ();_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .Fill ();_cff .StrokePattern ();
};case "\u006e":_cff .ClearPath ();case "\u0057":_cff .SetFillRule (_cge .FillRuleWinding );_cff .ClipPreserve ();case "\u0057\u002a":_cff .SetFillRule (_cge .FillRuleEvenOdd );_cff .ClipPreserve ();case "\u0072\u0067":_def ,_dcf :=_ege .ColorNonStroking .(*_bbe .PdfColorDeviceRGB );
if !_dcf {_cg .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",_ege .ColorNonStroking );return nil ;};_cff .SetFillRGBA (_def .R (),_def .G (),_def .B (),1);
case "\u0052\u0047":_gced ,_dgb :=_ege .ColorStroking .(*_bbe .PdfColorDeviceRGB );if !_dgb {_cg .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",_ege .ColorStroking );
return nil ;};_cff .SetStrokeRGBA (_gced .R (),_gced .G (),_gced .B (),1);case "\u006b":_db ,_agf :=_ege .ColorNonStroking .(*_bbe .PdfColorDeviceCMYK );if !_agf {_cg .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",_ege .ColorNonStroking );
return nil ;};_gcg ,_gbe :=_ege .ColorspaceNonStroking .ColorToRGB (_db );if _gbe !=nil {_cg .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",_ege .ColorNonStroking );
return nil ;};_gbee ,_agf :=_gcg .(*_bbe .PdfColorDeviceRGB );if !_agf {_cg .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",_gcg );return nil ;
};_cff .SetFillRGBA (_gbee .R (),_gbee .G (),_gbee .B (),1);case "\u004b":_bfa ,_fad :=_ege .ColorStroking .(*_bbe .PdfColorDeviceCMYK );if !_fad {_cg .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",_ege .ColorStroking );
return nil ;};_bbgb ,_fbd :=_ege .ColorspaceStroking .ColorToRGB (_bfa );if _fbd !=nil {_cg .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",_ege .ColorStroking );
return nil ;};_ad ,_fad :=_bbgb .(*_bbe .PdfColorDeviceRGB );if !_fad {_cg .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",_bbgb );return nil ;
};_cff .SetStrokeRGBA (_ad .R (),_ad .G (),_ad .B (),1);case "\u0067":_fabc ,_cbec :=_ege .ColorNonStroking .(*_bbe .PdfColorDeviceGray );if !_cbec {_cg .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",_ege .ColorNonStroking );
return nil ;};_fcd ,_fba :=_ege .ColorspaceNonStroking .ColorToRGB (_fabc );if _fba !=nil {_cg .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",_ege .ColorNonStroking );
return nil ;};_fff ,_cbec :=_fcd .(*_bbe .PdfColorDeviceRGB );if !_cbec {_cg .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",_fcd );return nil ;
};_cff .SetFillRGBA (_fff .R (),_fff .G (),_fff .B (),1);case "\u0047":_aaa ,_efg :=_ege .ColorStroking .(*_bbe .PdfColorDeviceGray );if !_efg {_cg .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",_ege .ColorStroking );
return nil ;};_fca ,_ggb :=_ege .ColorspaceStroking .ColorToRGB (_aaa );if _ggb !=nil {_cg .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",_ege .ColorStroking );
return nil ;};_ebb ,_efg :=_fca .(*_bbe .PdfColorDeviceRGB );if !_efg {_cg .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",_fca );return nil ;
};_cff .SetStrokeRGBA (_ebb .R (),_ebb .G (),_ebb .B (),1);case "\u0063\u0073":if len (_feg .Params )> 0{if _ded ,_egf :=_cc .GetName (_feg .Params [0]);_egf &&_ded .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_gcge ,_ebbd :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );
if _ebbd !=nil {_cg .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",_ege .ColorNonStroking );return nil ;};_gad ,_gec :=_gcge .(*_bbe .PdfColorDeviceRGB );
if !_gec {_cg .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",_gcge );return nil ;};_cff .SetFillRGBA (_gad .R (),_gad .G (),_gad .B (),1);
case "\u0073\u0063":_bcde ,_caa :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );if _caa !=nil {_cg .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",_ege .ColorNonStroking );
return nil ;};_efe ,_cfb :=_bcde .(*_bbe .PdfColorDeviceRGB );if !_cfb {_cg .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",_bcde );return nil ;
};_cff .SetFillRGBA (_efe .R (),_efe .G (),_efe .B (),1);case "\u0073\u0063\u006e":if len (_feg .Params )> 0&&len (_df .Params )> 0{if _dea ,_dgcg :=_cc .GetName (_df .Params [0]);_dgcg &&_dea .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _bdd ,_acf :=_cc .GetName (_feg .Params [0]);
_acf {_fdc ,_edef :=_cbg .processGradient (_cff ,_feg ,_gcf ,_bdd );if _edef !=nil {_cg .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",_edef );
break ;};if _fdc ==nil {_cg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cff .SetFillStyle (_fdc );_cff .SetStrokeStyle (_fdc );break ;};};};_fce ,_egg :=_ege .ColorspaceNonStroking .ColorToRGB (_ege .ColorNonStroking );
if _egg !=nil {_cg .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",_ege .ColorNonStroking );return nil ;};_gbef ,_bgb :=_fce .(*_bbe .PdfColorDeviceRGB );
if !_bgb {_cg .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",_fce );return nil ;};_cff .SetFillRGBA (_gbef .R (),_gbef .G (),_gbef .B (),1);
case "\u0043\u0053":if len (_feg .Params )> 0{if _abcb ,_gfg :=_cc .GetName (_feg .Params [0]);_gfg &&_abcb .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_cgbf ,_gcc :=_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _gcc !=nil {_cg .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",_ege .ColorStroking );
return nil ;};_dfd ,_edd :=_cgbf .(*_bbe .PdfColorDeviceRGB );if !_edd {_cg .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",_cgbf );return nil ;
};_cff .SetStrokeRGBA (_dfd .R (),_dfd .G (),_dfd .B (),1);case "\u0053\u0043":_bfe ,_daec :=_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );if _daec !=nil {_cg .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",_ege .ColorStroking );
return nil ;};_afg ,_dbb :=_bfe .(*_bbe .PdfColorDeviceRGB );if !_dbb {_cg .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",_bfe );return nil ;
};_cff .SetStrokeRGBA (_afg .R (),_afg .G (),_afg .B (),1);case "\u0053\u0043\u004e":if len (_feg .Params )> 0&&len (_df .Params )> 0{if _bbd ,_fde :=_cc .GetName (_df .Params [0]);_fde &&_bbd .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _fbc ,_bfef :=_cc .GetName (_feg .Params [0]);
_bfef {_ecb ,_gfa :=_cbg .processGradient (_cff ,_feg ,_gcf ,_fbc );if _gfa !=nil {_cg .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",_gfa );
break ;};if _ecb ==nil {_cg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cff .SetFillStyle (_ecb );_cff .SetStrokeStyle (_ecb );break ;};};};_ba ,_cef :=_ege .ColorspaceStroking .ColorToRGB (_ege .ColorStroking );
if _cef !=nil {_cg .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",_ege .ColorStroking );return nil ;};_ffgg ,_edf :=_ba .(*_bbe .PdfColorDeviceRGB );
if !_edf {_cg .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",_ba );return nil ;};_cff .SetStrokeRGBA (_ffgg .R (),_ffgg .G (),_ffgg .B (),1);
case "\u0073\u0068":if len (_feg .Params )!=1{_cg .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 ;};_fdg ,_gbg :=_cc .GetName (_feg .Params [0]);
if !_gbg {_cg .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 ;};_dgf ,_gbg :=_gcf .GetShadingByName (*_fdg );if !_gbg {_cg .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 ;};_fcec ,_dbd ,_ecbg :=_cbg .processShading (_cff ,_dgf );if _ecbg !=nil {_cg .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",_ecbg );
break ;};if _fcec ==nil {_cg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_fade ,_ecbg :=_dbd .ToFloat64Array ();if _ecbg !=nil {_cg .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",_ecbg );
break ;};_cff .DrawRectangle (_fade [0],_fade [1],_fade [2],_fade [3]);_cff .NewSubPath ();_cff .SetFillStyle (_fcec );_cff .SetStrokeStyle (_fcec );_cff .Fill ();case "\u0044\u006f":if len (_feg .Params )!=1{return _ag ;};_dfc ,_faa :=_cc .GetName (_feg .Params [0]);
if !_faa {return _cf ;};_ ,_gded :=_gcf .GetXObjectByName (*_dfc );switch _gded {case _bbe .XObjectTypeImage :_cg .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_dfc .String ());_ddf ,_dgg :=_gcf .GetXObjectImageByName (*_dfc );
if _dgg !=nil {return _dgg ;};_fdce ,_dgg :=_ddf .ToImage ();if _dgg !=nil {return _dgg ;};if _cbaf :=_ddf .ColorSpace ;_cbaf !=nil {var _gecg bool ;switch _cbaf .(type ){case *_bbe .PdfColorspaceSpecialIndexed :_gecg =true ;};if _gecg {if _caaf ,_gbf :=_cbaf .ImageToRGB (*_fdce );
_gbf !=nil {_cg .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 {_fdce =&_caaf ;};};};_bbb :=_cff .FillPattern ().ColorAt (0,0);var _bgbe _eg .Image ;if _ddf .Mask !=nil {if _bgbe ,_dgg =_edc (_ddf .Mask ,_bbb );_dgg !=nil {_cg .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 _ddf .SMask !=nil {if _bgbe ,_dgg =_abcg (_ddf .SMask ,_bbb );_dgg !=nil {_cg .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 _fgd _eg .Image ;if _cfg ,_ :=_cc .GetBoolVal (_ddf .ImageMask );_cfg {_fgd =_aed (_fdce ,_bbb );}else {_fgd ,_dgg =_fdce .ToGoImage ();if _dgg !=nil {return _dgg ;};};if _bgbe !=nil {_fgd =_fdd (_fgd ,_bgbe );};_cfbb :=_fgd .Bounds ();_cff .Push ();
_cff .Scale (1.0/float64 (_cfbb .Dx ()),-1.0/float64 (_cfbb .Dy ()));_cff .DrawImageAnchored (_fgd ,0,0,0,1);_cff .Pop ();case _bbe .XObjectTypeForm :_cg .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_dfc .String ());
_bceb ,_gcce :=_gcf .GetXObjectFormByName (*_dfc );if _gcce !=nil {return _gcce ;};_ega ,_gcce :=_bceb .GetContentStream ();if _gcce !=nil {return _gcce ;};_dfdg :=_bceb .Resources ;if _dfdg ==nil {_dfdg =_gcf ;};_cff .Push ();if _bceb .Matrix !=nil {_ecag ,_fcdc :=_cc .GetArray (_bceb .Matrix );
if !_fcdc {return _cf ;};_beg ,_gfbe :=_cc .GetNumbersAsFloat (_ecag .Elements ());if _gfbe !=nil {return _gfbe ;};if len (_beg )!=6{return _ag ;};_bab :=_cb .NewMatrix (_beg [0],_beg [1],_beg [2],_beg [3],_beg [4],_beg [5]);_cff .SetMatrix (_cff .Matrix ().Mult (_bab ));
};if _bceb .BBox !=nil {_agd ,_dgd :=_cc .GetArray (_bceb .BBox );if !_dgd {return _cf ;};_gea ,_eba :=_cc .GetNumbersAsFloat (_agd .Elements ());if _eba !=nil {return _eba ;};if len (_gea )!=4{_cg .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_gea ));
return _ag ;};_cff .DrawRectangle (_gea [0],_gea [1],_gea [2]-_gea [0],_gea [3]-_gea [1]);_cff .SetRGBA (1,0,0,1);_cff .Clip ();}else {_cg .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");
};_gcce =_cbg .renderContentStream (_cff ,string (_ega ),_dfdg );if _gcce !=nil {return _gcce ;};_cff .Pop ();};case "\u0042\u0049":if len (_feg .Params )!=1{return _ag ;};_bae ,_bdc :=_feg .Params [0].(*_bb .ContentStreamInlineImage );if !_bdc {return nil ;
};_aaeb ,_afga :=_bae .ToImage (_gcf );if _afga !=nil {return _afga ;};_bgca ,_afga :=_aaeb .ToGoImage ();if _afga !=nil {return _afga ;};_eed :=_bgca .Bounds ();_cff .Push ();_cff .Scale (1.0/float64 (_eed .Dx ()),-1.0/float64 (_eed .Dy ()));_cff .DrawImageAnchored (_bgca ,0,0,0,1);
_cff .Pop ();case "\u0042\u0054":_aag .Reset ();case "\u0045\u0054":_aag .Reset ();case "\u0054\u0072":if len (_feg .Params )!=1{return _ag ;};_fcf ,_fcc :=_cc .GetNumberAsFloat (_feg .Params [0]);if _fcc !=nil {return _fcc ;};_aag .Tr =_cge .TextRenderingMode (_fcf );
case "\u0054\u004c":if len (_feg .Params )!=1{return _ag ;};_cee ,_fbcc :=_cc .GetNumberAsFloat (_feg .Params [0]);if _fbcc !=nil {return _fbcc ;};_aag .Tl =_cee ;case "\u0054\u0063":if len (_feg .Params )!=1{return _ag ;};_bfad ,_eda :=_cc .GetNumberAsFloat (_feg .Params [0]);
if _eda !=nil {return _eda ;};_cg .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_bfad );_aag .Tc =_bfad ;case "\u0054\u0077":if len (_feg .Params )!=1{return _ag ;};_gdg ,_acg :=_cc .GetNumberAsFloat (_feg .Params [0]);if _acg !=nil {return _acg ;
};_cg .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_gdg );_aag .Tw =_gdg ;case "\u0054\u007a":if len (_feg .Params )!=1{return _ag ;};_gece ,_cae :=_cc .GetNumberAsFloat (_feg .Params [0]);if _cae !=nil {return _cae ;};_aag .Th =_gece ;case "\u0054\u0073":if len (_feg .Params )!=1{return _ag ;
};_adb ,_abag :=_cc .GetNumberAsFloat (_feg .Params [0]);if _abag !=nil {return _abag ;};_aag .Ts =_adb ;case "\u0054\u0064":if len (_feg .Params )!=2{return _ag ;};_ebg ,_eef :=_cc .GetNumbersAsFloat (_feg .Params );if _eef !=nil {return _eef ;};_cg .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_ebg );
_aag .ProcTd (_ebg [0],_ebg [1]);case "\u0054\u0044":if len (_feg .Params )!=2{return _ag ;};_afgaf ,_dfg :=_cc .GetNumbersAsFloat (_feg .Params );if _dfg !=nil {return _dfg ;};_cg .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_afgaf );_aag .ProcTD (_afgaf [0],_afgaf [1]);
case "\u0054\u002a":_aag .ProcTStar ();case "\u0054\u006d":if len (_feg .Params )!=6{return _ag ;};_ged ,_afba :=_cc .GetNumbersAsFloat (_feg .Params );if _afba !=nil {return _afba ;};_cg .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_ged );
_aag .ProcTm (_ged [0],_ged [1],_ged [2],_ged [3],_ged [4],_ged [5]);case "\u0027":if len (_feg .Params )!=1{return _ag ;};_fcef ,_egb :=_cc .GetStringBytes (_feg .Params [0]);if !_egb {return _cf ;};_cg .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_fcef ));
_aag .ProcQ (_fcef ,_cff );case "\u0022":if len (_feg .Params )!=3{return _ag ;};_cffa ,_cebb :=_cc .GetNumberAsFloat (_feg .Params [0]);if _cebb !=nil {return _cebb ;};_cfa ,_cebb :=_cc .GetNumberAsFloat (_feg .Params [1]);if _cebb !=nil {return _cebb ;
};_dcc ,_gfbg :=_cc .GetStringBytes (_feg .Params [2]);if !_gfbg {return _cf ;};_aag .ProcDQ (_dcc ,_cffa ,_cfa ,_cff );case "\u0054\u006a":if len (_feg .Params )!=1{return _ag ;};_fccg ,_aaf :=_cc .GetStringBytes (_feg .Params [0]);if !_aaf {return _cf ;
};_cg .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_fccg ));_aag .ProcTj (_fccg ,_cff );case "\u0054\u004a":if len (_feg .Params )!=1{return _ag ;};_beb ,_bec :=_cc .GetArray (_feg .Params [0]);
if !_bec {_cg .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_beb );return _cf ;};_cg .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_beb );for _ ,_ecd :=range _beb .Elements (){switch _gbgd :=_ecd .(type ){case *_cc .PdfObjectString :if _gbgd !=nil {_aag .ProcTj (_gbgd .Bytes (),_cff );
};case *_cc .PdfObjectFloat ,*_cc .PdfObjectInteger :_cbea ,_bbec :=_cc .GetNumberAsFloat (_gbgd );if _bbec ==nil {_aag .Translate (-_cbea *0.001*_aag .Tf .Size *_aag .Th /100.0,0);};};};case "\u0054\u0066":if len (_feg .Params )!=2{return _ag ;};_cg .Log .Debug ("\u0025\u0023\u0076",_feg .Params );
_ecae ,_age :=_cc .GetName (_feg .Params [0]);if !_age ||_ecae ==nil {_cg .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",_feg .Params [0]);
return _cf ;};_cg .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_ecae .String ());_bgee ,_bfd :=_cc .GetNumberAsFloat (_feg .Params [1]);if _bfd !=nil {_cg .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",_feg .Params [1]);
return _cf ;};_cg .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_bgee );_bgf ,_ada :=_gcf .GetFontByName (*_ecae );if !_ada {_cg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_ecae .String ());
return _c .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_cg .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_bgf );_gadg ,_age :=_cc .GetDict (_bgf );if !_age {_cg .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 _cf ;};_fef ,_bfd :=_bbe .NewPdfFontFromPdfObject (_gadg );if _bfd !=nil {_cg .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 _bfd ;};_adfg :=_fef .BaseFont ();if _adfg ==""{_adfg =_ecae .String ();};_bgd ,_age :=_gce [_adfg ];if !_age {_bgd ,_bfd =_cge .NewTextFont (_fef ,_bgee );if _bfd !=nil {_cg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_bfd );};};
if _bgd ==nil {if len (_adfg )> 7&&_adfg [6]=='+'{_adfg =_adfg [7:];};_cdc :=[]string {_adfg ,"\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 _ ,_efef :=range _cdc {_cg .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",_efef );if _bgd ,_age =_gce [_efef ];
_age {break ;};_bbag :=_dae .Match (_efef );if _bbag ==nil {_cg .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",_efef );continue ;};_bgd ,_bfd =_cge .NewTextFontFromPath (_bbag .Filename ,_bgee );
if _bfd !=nil {_cg .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",_bbag .Filename );continue ;};_cg .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",_adfg ,_bbag .Name ,_bbag .Filename );
_gce [_efef ]=_bgd ;break ;};};if _bgd ==nil {_cg .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 _c .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");};_aag .ProcTf (_bgd .WithSize (_bgee ,_fef ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_cg .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",_feg .Operand );
};_df =_feg ;return nil ;});_dgc =_bcd .Process (_ccdb );if _dgc !=nil {return _dgc ;};return nil ;};var (_cf =_c .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");_ag =_c .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");
);func _ccf (_fga _cge .Gradient ,_aec *_bbe .PdfFunctionType3 ,_bfg _bbe .PdfColorspace ,_bgad []float64 )(_cge .Gradient ,error ){var _defg error ;for _eea :=0;_eea < len (_aec .Functions );_eea ++{if _dcg ,_ced :=_aec .Functions [_eea ].(*_bbe .PdfFunctionType2 );
_ced {_fga ,_defg =_gbbc (_fga ,_dcg ,_bfg ,_bgad [_eea +1],_eea ==0);if _defg !=nil {return nil ,_defg ;};};};return _fga ,nil ;};func _edc (_febe _cc .PdfObject ,_dee _bg .Color )(_eg .Image ,error ){_adce ,_ggce :=_cc .GetStream (_febe );if !_ggce {return nil ,nil ;
};_caee ,_dcbe :=_bbe .NewXObjectImageFromStream (_adce );if _dcbe !=nil {return nil ,_dcbe ;};_dbf ,_dcbe :=_caee .ToImage ();if _dcbe !=nil {return nil ,_dcbe ;};return _aed (_dbf ,_dee ),nil ;};func _ecf (_gega string ,_fgc _eg .Image )error {_bgeg ,_gdb :=_ff .Create (_gega );
if _gdb !=nil {return _gdb ;};defer _bgeg .Close ();return _d .Encode (_bgeg ,_fgc );};
// Render converts the specified PDF page into an image and returns the result.
func (_cbb *ImageDevice )Render (page *_bbe .PdfPage )(_eg .Image ,error ){_cba ,_a :=page .GetMediaBox ();if _a !=nil {return nil ,_a ;};_cba .Normalize ();_gd :=page .CropBox ;var _cbe ,_ccb float64 ;if _gd !=nil {_gd .Normalize ();_cbe ,_ccb =_gd .Width (),_gd .Height ();
};_ccc :=page .Rotate ;_bga ,_ab ,_fg ,_ca :=_cba .Llx ,_cba .Lly ,_cba .Width (),_cba .Height ();_ac :=_cb .IdentityMatrix ();if _ccc !=nil &&*_ccc %360!=0&&*_ccc %90==0{_ae :=-float64 (*_ccc );_aa :=_acbf (_fg ,_ca ,_ae );_ac =_ac .Translate ((_aa .Width -_fg )/2+_fg /2,(_aa .Height -_ca )/2+_ca /2).Rotate (_ae *_ea .Pi /180).Translate (-_fg /2,-_ca /2);
_fg ,_ca =_aa .Width ,_aa .Height ;if _gd !=nil {_dg :=_acbf (_cbe ,_ccb ,_ae );_cbe ,_ccb =_dg .Width ,_dg .Height ;};};if _bga !=0||_ab !=0{_ac =_ac .Translate (-_bga ,-_ab );};_cbb ._ge =1.0;if _cbb .OutputWidth !=0{_fe :=_fg ;if _gd !=nil {_fe =_cbe ;
};_cbb ._ge =float64 (_cbb .OutputWidth )/_fe ;_fg ,_ca ,_cbe ,_ccb =_fg *_cbb ._ge ,_ca *_cbb ._ge ,_cbe *_cbb ._ge ,_ccb *_cbb ._ge ;_ac =_cb .ScaleMatrix (_cbb ._ge ,_cbb ._ge ).Mult (_ac );};_bc :=_ee .NewContext (int (_fg ),int (_ca ));if _da :=_cbb .renderPage (_bc ,page ,_ac );
_da !=nil {return nil ,_da ;};_ef :=_bc .Image ();if _gd !=nil {_dd ,_gdc :=(_gd .Llx -_bga )*_cbb ._ge ,(_gd .Lly -_ab )*_cbb ._ge ;_ce :=_eg .Rect (0,0,int (_cbe ),int (_ccb ));_gb :=_eg .Pt (int (_dd ),int (_ca -_gdc -_ccb ));_gda :=_eg .NewRGBA (_ce );
_b .Draw (_gda ,_ce ,_ef ,_gb ,_b .Src );_ef =_gda ;};return _ef ,nil ;};func _gbbc (_dcfc _cge .Gradient ,_feb *_bbe .PdfFunctionType2 ,_dag _bbe .PdfColorspace ,_dde float64 ,_gdcg bool )(_cge .Gradient ,error ){switch _dag .(type ){case *_bbe .PdfColorspaceDeviceRGB :if len (_feb .C0 )!=3||len (_feb .C1 )!=3{return nil ,_c .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");
};_ggf :=_feb .C0 ;_cbddb :=_feb .C1 ;if _gdcg {_dcfc .AddColorStop (0.0,_bg .RGBA {R :uint8 (_ggf [0]*255),G :uint8 (_ggf [1]*255),B :uint8 (_ggf [2]*255),A :255});};_dcfc .AddColorStop (_dde ,_bg .RGBA {R :uint8 (_cbddb [0]*255),G :uint8 (_cbddb [1]*255),B :uint8 (_cbddb [2]*255),A :255});
case *_bbe .PdfColorspaceDeviceCMYK :if len (_feb .C0 )!=4||len (_feb .C1 )!=4{return nil ,_c .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");
};_cbc :=_feb .C0 ;_babb :=_feb .C1 ;if _gdcg {_dcfc .AddColorStop (0.0,_bg .CMYK {C :uint8 (_cbc [0]*255),M :uint8 (_cbc [1]*255),Y :uint8 (_cbc [2]*255),K :uint8 (_cbc [3]*255)});};_dcfc .AddColorStop (_dde ,_bg .CMYK {C :uint8 (_babb [0]*255),M :uint8 (_babb [1]*255),Y :uint8 (_babb [2]*255),K :uint8 (_babb [3]*255)});
default:return nil ,_g .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_dag .String ());};return _dcfc ,nil ;};func (_ebd renderer )processGradient (_efcg _cge .Context ,_eaf *_bb .ContentStreamOperation ,_gdac *_bbe .PdfPageResources ,_gef *_cc .PdfObjectName )(_cge .Gradient ,error ){if _aff ,_bfdf :=_gdac .GetPatternByName (*_gef );
_bfdf &&_aff .IsShading (){_ffa :=_aff .GetAsShadingPattern ().Shading ;_fag ,_ ,_fed :=_ebd .processShading (_efcg ,_ffa );if _fed !=nil {return nil ,_fed ;};return _fag ,nil ;};return nil ,nil ;};