unipdf/render/render.go

205 lines
55 KiB
Go
Raw Normal View History

2020-08-27 21:45:09 +00:00
//
// 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/
2024-12-20 06:39:10 +00:00
package render ;import (_c "errors";_cc "fmt";_gfe "github.com/adrg/sysfont";_ccca "github.com/unidoc/unipdf/v3/annotator";_ffe "github.com/unidoc/unipdf/v3/common";_ff "github.com/unidoc/unipdf/v3/contentstream";_bd "github.com/unidoc/unipdf/v3/contentstream/draw";
_f "github.com/unidoc/unipdf/v3/core";_bb "github.com/unidoc/unipdf/v3/internal/license";_fe "github.com/unidoc/unipdf/v3/internal/transform";_cg "github.com/unidoc/unipdf/v3/model";_ge "github.com/unidoc/unipdf/v3/render/internal/context";_cf "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";
_ccc "golang.org/x/image/draw";_dd "image";_b "image/color";_ce "image/draw";_ec "image/jpeg";_af "image/png";_gf "math";_d "os";_e "path/filepath";_a "strings";);
2024-10-21 17:50:33 +00:00
2024-12-20 06:39:10 +00:00
// NewImageDevice returns a new image device.
func NewImageDevice ()*ImageDevice {const _fef ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_bb .TrackUse (_fef );return &ImageDevice {};};func _gada (_dcbd _ge .Gradient ,_abdd *_cg .PdfFunctionType2 ,_daga _cg .PdfColorspace ,_eabf float64 ,_fdg bool )(_ge .Gradient ,error ){switch _daga .(type ){case *_cg .PdfColorspaceDeviceRGB :if len (_abdd .C0 )!=3||len (_abdd .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");
};_aed :=_abdd .C0 ;_eaaa :=_abdd .C1 ;if _fdg {_dcbd .AddColorStop (0.0,_b .RGBA {R :uint8 (_aed [0]*255),G :uint8 (_aed [1]*255),B :uint8 (_aed [2]*255),A :255});};_dcbd .AddColorStop (_eabf ,_b .RGBA {R :uint8 (_eaaa [0]*255),G :uint8 (_eaaa [1]*255),B :uint8 (_eaaa [2]*255),A :255});
case *_cg .PdfColorspaceDeviceCMYK :if len (_abdd .C0 )!=4||len (_abdd .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");
};_ffg :=_abdd .C0 ;_agc :=_abdd .C1 ;if _fdg {_dcbd .AddColorStop (0.0,_b .CMYK {C :uint8 (_ffg [0]*255),M :uint8 (_ffg [1]*255),Y :uint8 (_ffg [2]*255),K :uint8 (_ffg [3]*255)});};_dcbd .AddColorStop (_eabf ,_b .CMYK {C :uint8 (_agc [0]*255),M :uint8 (_agc [1]*255),Y :uint8 (_agc [2]*255),K :uint8 (_agc [3]*255)});
default:return nil ,_cc .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_daga .String ());};return _dcbd ,nil ;};func (_ebb renderer )processGradient (_fcgf _ge .Context ,_add *_ff .ContentStreamOperation ,_daf *_cg .PdfPageResources ,_cec *_f .PdfObjectName )(_ge .Gradient ,error ){if _ddge ,_bddb :=_daf .GetPatternByName (*_cec );
_bddb &&_ddge .IsShading (){_ddae :=_ddge .GetAsShadingPattern ().Shading ;_aggf ,_ ,_dfeb :=_ebb .processShading (_fcgf ,_ddae );if _dfeb !=nil {return nil ,_dfeb ;};return _aggf ,nil ;};return nil ,nil ;};func _edf (_abaf _f .PdfObject ,_ebgd _b .Color )(_dd .Image ,error ){_dbga ,_fdc :=_f .GetStream (_abaf );
if !_fdc {return nil ,nil ;};_cgeb ,_cdc :=_cg .NewXObjectImageFromStream (_dbga );if _cdc !=nil {return nil ,_cdc ;};_agbe ,_cdc :=_cgeb .ToImage ();if _cdc !=nil {return nil ,_cdc ;};return _cbad (_agbe ,_ebgd ),nil ;};func (_bfbd renderer )processShading (_bbb _ge .Context ,_dcca *_cg .PdfShading )(_ge .Gradient ,*_f .PdfObjectArray ,error ){_bfed :=int64 (*_dcca .ShadingType );
if _bfed ==int64 (ShadingTypeAxial ){return _bfbd .processLinearShading (_bbb ,_dcca );}else if _bfed ==int64 (ShadingTypeRadial ){return _bfbd .processRadialShading (_bbb ,_dcca );}else {_ffe .Log .Debug (_cc .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",_bfed ));
};return nil ,nil ,nil ;};func _eede (_cbab string ,_gcb _dd .Image ,_fgba int )error {_cae ,_geae :=_d .Create (_cbab );if _geae !=nil {return _geae ;};defer _cae .Close ();return _ec .Encode (_cae ,_gcb ,&_ec .Options {Quality :_fgba });};func (_bfg renderer )renderPage (_cd _ge .Context ,_cgg *_cg .PdfPage ,_dc _fe .Matrix ,_ae bool )error {if !_ae {_gbe :=_cg .FieldFlattenOpts {AnnotFilterFunc :func (_fa *_cg .PdfAnnotation )bool {switch _fa .GetContext ().(type ){case *_cg .PdfAnnotationLine :return true ;
case *_cg .PdfAnnotationSquare :return true ;case *_cg .PdfAnnotationCircle :return true ;case *_cg .PdfAnnotationPolygon :return true ;case *_cg .PdfAnnotationPolyLine :return true ;};return false ;}};_gdd :=_ccca .FieldAppearance {};_agd :=_cgg .FlattenFieldsWithOpts (_gdd ,&_gbe );
if _agd !=nil {_ffe .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",_agd );};};_fcg ,_ffb :=_cgg .GetAllContentStreams ();
if _ffb !=nil {return _ffb ;};if _dec :=_dc ;!_dec .Identity (){_fcg =_cc .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",_dec [0],_dec [1],_dec [3],_dec [4],_dec [6],_dec [7],_fcg );
};_cd .Translate (0,float64 (_cd .Height ()));_cd .Scale (1,-1);_cd .Push ();_cd .SetRGBA (1,1,1,1);_cd .DrawRectangle (0,0,float64 (_cd .Width ()),float64 (_cd .Height ()));_cd .Fill ();_cd .Pop ();_cd .SetLineWidth (1.0);_cd .SetRGBA (0,0,0,1);return _bfg .renderContentStream (_cd ,_fcg ,_cgg .Resources );
};func (_ddac renderer )processRadialShading (_fbffb _ge .Context ,_bdge *_cg .PdfShading )(_ge .Gradient ,*_f .PdfObjectArray ,error ){_fcda :=_bdge .GetContext ().(*_cg .PdfShadingType3 );if len (_fcda .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");
};_ebec ,_adda :=_fcda .Coords .ToFloat64Array ();if _adda !=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");
};_daeb :=_bdge .ColorSpace ;_fbb :=_f .MakeArrayFromFloats ([]float64 {0,0,1,1});var _cca ,_fdd ,_eaf ,_gddg ,_abb ,_gdfb float64 ;_cca ,_fdd =_fbffb .Matrix ().Transform (_ebec [0],_ebec [1]);_eaf ,_gddg =_fbffb .Matrix ().Transform (_ebec [3],_ebec [4]);
_abb ,_ =_fbffb .Matrix ().Transform (_ebec [2],0);_gdfb ,_ =_fbffb .Matrix ().Transform (_ebec [5],0);_acb ,_ :=_fbffb .Matrix ().Translation ();_abb -=_acb ;_gdfb -=_acb ;for _ffef ,_fac :=range _ebec {if _ffef ==2||_ffef ==5{continue ;};if _fac > 1.0{_aagb :=_gf .Min (_cca -_abb ,_eaf -_gdfb );
_cage :=_gf .Min (_fdd -_abb ,_gddg -_gdfb );_efe :=_gf .Max (_cca +_abb ,_eaf +_gdfb );_dcaf :=_gf .Max (_fdd +_abb ,_gddg +_gdfb );_efb :=_efe -_aagb ;_cafc :=_cage -_dcaf ;_fbb =_f .MakeArrayFromFloats ([]float64 {_aagb ,_cage ,_efb ,_cafc });break ;
};};_bed :=_cf .NewRadialGradient (_cca ,_fdd ,_abb ,_eaf ,_gddg ,_gdfb );if _bcfg ,_gabd :=_fcda .Function [0].(*_cg .PdfFunctionType2 );_gabd {_bed ,_adda =_gada (_bed ,_bcfg ,_daeb ,1.0,true );}else if _cgge ,_acf :=_fcda .Function [0].(*_cg .PdfFunctionType3 );
_acf {_bfag :=append ([]float64 {0},_cgge .Bounds ...);_bfag =append (_bfag ,1.0);_bed ,_adda =_gebg (_bed ,_cgge ,_daeb ,_bfag );};if _adda !=nil {return nil ,nil ,_adda ;};return _bed ,_fbb ,nil ;};
2024-09-14 00:10:30 +00:00
2024-12-20 06:39:10 +00:00
// RenderWithOpts converts the specified PDF page into an image, optionally flattens annotations and returns the result.
func (_dde *ImageDevice )RenderWithOpts (page *_cg .PdfPage ,skipFlattening bool )(_dd .Image ,error ){_fg ,_eb :=page .GetMediaBox ();if _eb !=nil {return nil ,_eb ;};_fg .Normalize ();_gd :=page .CropBox ;var _fb ,_cb float64 ;if _gd !=nil {_gd .Normalize ();
_fb ,_cb =_gd .Width (),_gd .Height ();};_da :=page .Rotate ;_gdc ,_dg ,_ba ,_bg :=_fg .Llx ,_fg .Lly ,_fg .Width (),_fg .Height ();_dgc :=_fe .IdentityMatrix ();if _da !=nil &&*_da %360!=0&&*_da %90==0{_bf :=-float64 (*_da );_ac :=_egdc (_ba ,_bg ,_bf );
_dgc =_dgc .Translate ((_ac .Width -_ba )/2+_ba /2,(_ac .Height -_bg )/2+_bg /2).Rotate (_bf *_gf .Pi /180).Translate (-_ba /2,-_bg /2);_ba ,_bg =_ac .Width ,_ac .Height ;if _gd !=nil {_fc :=_egdc (_fb ,_cb ,_bf );_fb ,_cb =_fc .Width ,_fc .Height ;};};
if _gdc !=0||_dg !=0{_dgc =_dgc .Translate (-_gdc ,-_dg );};_dde ._be =1.0;if _dde .OutputWidth !=0{_gb :=_ba ;if _gd !=nil {_gb =_fb ;};_dde ._be =float64 (_dde .OutputWidth )/_gb ;_ba ,_bg ,_fb ,_cb =_ba *_dde ._be ,_bg *_dde ._be ,_fb *_dde ._be ,_cb *_dde ._be ;
_dgc =_fe .ScaleMatrix (_dde ._be ,_dde ._be ).Mult (_dgc );};_cfc :=_cf .NewContext (int (_ba ),int (_bg ));if _dge :=_dde .renderPage (_cfc ,page ,_dgc ,skipFlattening );_dge !=nil {return nil ,_dge ;};_ag :=_cfc .Image ();if _gd !=nil {_ad ,_de :=(_gd .Llx -_gdc )*_dde ._be ,(_gd .Lly -_dg )*_dde ._be ;
_gc :=_dd .Rect (0,0,int (_fb ),int (_cb ));_agg :=_dd .Pt (int (_ad ),int (_bg -_de -_cb ));_gfec :=_dd .NewRGBA (_gc );_ce .Draw (_gfec ,_gc ,_ag ,_agg ,_ce .Src );_ag =_gfec ;};return _ag ,nil ;};var (_ddcc =_c .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");
_dff =_c .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"););
2024-09-14 00:10:30 +00:00
// RenderToPath converts the specified PDF page into an image and saves the
// result at the specified location.
2024-12-20 06:39:10 +00:00
func (_cba *ImageDevice )RenderToPath (page *_cg .PdfPage ,outputPath string )error {_fgf ,_ddc :=_cba .Render (page );if _ddc !=nil {return _ddc ;};_df :=_a .ToLower (_e .Ext (outputPath ));if _df ==""{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 _df {case "\u002e\u0070\u006e\u0067":return _eedc (outputPath ,_fgf );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _eede (outputPath ,_fgf ,100);};return _cc .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",_df );
};
2024-11-22 00:42:43 +00:00
// PdfShadingType defines PDF shading types.
// Source: PDF32000_2008.pdf. Chapter 8.7.4.5
2024-12-20 06:39:10 +00:00
type PdfShadingType int64 ;func _gebg (_bbc _ge .Gradient ,_acg *_cg .PdfFunctionType3 ,_dgca _cg .PdfColorspace ,_gba []float64 )(_ge .Gradient ,error ){var _eee error ;for _acga :=0;_acga < len (_acg .Functions );_acga ++{if _dfff ,_dabe :=_acg .Functions [_acga ].(*_cg .PdfFunctionType2 );
_dabe {_bbc ,_eee =_gada (_bbc ,_dfff ,_dgca ,_gba [_acga +1],_acga ==0);if _eee !=nil {return nil ,_eee ;};};};return _bbc ,nil ;};
2023-10-07 13:58:01 +00:00
2024-11-22 00:42:43 +00:00
// 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.
2024-12-20 06:39:10 +00:00
OutputWidth int ;};func _adg (_bcfd _f .PdfObject ,_cebd _b .Color )(_dd .Image ,error ){_eac ,_feb :=_f .GetStream (_bcfd );if !_feb {return nil ,nil ;};_adef ,_dgea :=_cg .NewXObjectImageFromStream (_eac );if _dgea !=nil {return nil ,_dgea ;};_aec ,_dgea :=_adef .ToImage ();
if _dgea !=nil {return nil ,_dgea ;};return _fag (_aec ,_cebd ),nil ;};func (_dfe renderer )renderContentStream (_gcc _ge .Context ,_ab string ,_dcd *_cg .PdfPageResources )error {_bgb ,_ea :=_ff .NewContentStreamParser (_ab ).Parse ();if _ea !=nil {return _ea ;
};_fba :=_gcc .TextState ();_fba .GlobalScale =_dfe ._be ;_fee :=map[string ]*_ge .TextFont {};_afa :=_gfe .NewFinder (&_gfe .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _dad *_ff .ContentStreamOperation ;
_gca :=_ff .NewContentStreamProcessor (*_bgb );_gca .AddHandler (_ff .HandlerConditionEnumAllOperands ,"",func (_fd *_ff .ContentStreamOperation ,_bdc _ff .GraphicsState ,_bfe *_cg .PdfPageResources )error {_ffe .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_fd .Operand );
switch _fd .Operand {case "\u0071":_gcc .Push ();case "\u0051":_gcc .Pop ();_fba =_gcc .TextState ();case "\u0063\u006d":if len (_fd .Params )!=6{return _dff ;};_gfc ,_ed :=_f .GetNumbersAsFloat (_fd .Params );if _ed !=nil {return _ed ;};_fde :=_fe .NewMatrix (_gfc [0],_gfc [1],_gfc [2],_gfc [3],_gfc [4],_gfc [5]);
_ffe .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",_fde );_gcc .SetMatrix (_gcc .Matrix ().Mult (_fde ));case "\u0077":if len (_fd .Params )!=1{return _dff ;
};_bac ,_ebd :=_f .GetNumbersAsFloat (_fd .Params );if _ebd !=nil {return _ebd ;};_gcc .SetLineWidth (_bac [0]);case "\u004a":if len (_fd .Params )!=1{return _dff ;};_bc ,_cfg :=_f .GetIntVal (_fd .Params [0]);if !_cfg {return _ddcc ;};switch _bc {case 0:_gcc .SetLineCap (_ge .LineCapButt );
case 1:_gcc .SetLineCap (_ge .LineCapRound );case 2:_gcc .SetLineCap (_ge .LineCapSquare );default:_ffe .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",_bc );
return _dff ;};case "\u006a":if len (_fd .Params )!=1{return _dff ;};_ef ,_dcc :=_f .GetIntVal (_fd .Params [0]);if !_dcc {return _ddcc ;};switch _ef {case 0:_gcc .SetLineJoin (_ge .LineJoinBevel );case 1:_gcc .SetLineJoin (_ge .LineJoinRound );case 2:_gcc .SetLineJoin (_ge .LineJoinBevel );
default:_ffe .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",_ef );return _dff ;};case "\u004d":if len (_fd .Params )!=1{return _dff ;};_faa ,_bbe :=_f .GetNumbersAsFloat (_fd .Params );
if _bbe !=nil {return _bbe ;};_ =_faa ;_ffe .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 (_fd .Params )!=2{return _dff ;};_deb ,_bda :=_f .GetArray (_fd .Params [0]);
if !_bda {return _ddcc ;};_fcga ,_bda :=_f .GetIntVal (_fd .Params [1]);if !_bda {_ ,_bec :=_f .GetFloatVal (_fd .Params [1]);if !_bec {return _ddcc ;};};_eda ,_db :=_f .GetNumbersAsFloat (_deb .Elements ());if _db !=nil {return _db ;};_gcc .SetDash (_eda ...);
_ =_fcga ;_ffe .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":_ffe .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":_ffe .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 (_fd .Params )!=1{return _dff ;
};_gg ,_efg :=_f .GetName (_fd .Params [0]);if !_efg {return _ddcc ;};if _gg ==nil {return _dff ;};_cda ,_efg :=_bfe .GetExtGState (*_gg );if !_efg {_ffe .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",*_gg );
return _c .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_faaa ,_efg :=_f .GetDict (_cda );if !_efg {_ffe .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 _ddcc ;};_ffe .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_faaa .String ());_dag :=_faaa .Get ("\u0063\u0061");if _dag !=nil {_ebdf ,_ece :=_f .GetNumberAsFloat (_dag );if _ece ==nil {_bgc ,_ca :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );
if _ca !=nil {_ffe .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",_ca );return _ca ;};_cbc ,_cga :=_bgc .(*_cg .PdfColorDeviceRGB );if !_cga {_ffe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
return _ca ;};_gcc .SetFillRGBA (_cbc .R (),_cbc .G (),_cbc .B (),_ebdf );};};case "\u006d":if len (_fd .Params )!=2{_ffe .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",_dff );
return nil ;};_ged ,_ga :=_f .GetNumbersAsFloat (_fd .Params );if _ga !=nil {return _ga ;};_ffe .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_ged );_gcc .NewSubPath ();_gcc .MoveTo (_ged [0],_ged [1]);case "\u006c":if len (_fd .Params )!=2{_ffe .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",_dff );
return nil ;};_ffbc ,_bfd :=_f .GetNumbersAsFloat (_fd .Params );if _bfd !=nil {return _bfd ;};_gcc .LineTo (_ffbc [0],_ffbc [1]);case "\u0063":if len (_fd .Params )!=6{return _dff ;};_dcb ,_ded :=_f .GetNumbersAsFloat (_fd .Params );if _ded !=nil {return _ded ;
};_ffe .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_dcb );_gcc .CubicTo (_dcb [0],_dcb [1],_dcb [2],_dcb [3],_dcb [4],_dcb [5]);case "\u0076","\u0079":if len (_fd .Params )!=4{return _dff ;
};_bbf ,_dage :=_f .GetNumbersAsFloat (_fd .Params );if _dage !=nil {return _dage ;};_ffe .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_bbf );_gcc .QuadraticTo (_bbf [0],_bbf [1],_bbf [2],_bbf [3]);
case "\u0068":_gcc .ClosePath ();_gcc .NewSubPath ();case "\u0072\u0065":if len (_fd .Params )!=4{return _dff ;};_fgb ,_aef :=_f .GetNumbersAsFloat (_fd .Params );if _aef !=nil {return _aef ;};_gcc .DrawRectangle (_fgb [0],_fgb [1],_fgb [2],_fgb [3]);_gcc .NewSubPath ();
case "\u0053":_cfe ,_dfd :=_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _dfd !=nil {_ffe .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",_dfd );
return _dfd ;};_daa ,_gae :=_cfe .(*_cg .PdfColorDeviceRGB );if !_gae {_ffe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _dfd ;};_gcc .SetRGBA (_daa .R (),_daa .G (),_daa .B (),1);
_gcc .Stroke ();case "\u0073":_cad ,_fbc :=_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _fbc !=nil {_ffe .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",_fbc );
return _fbc ;};_dae ,_abd :=_cad .(*_cg .PdfColorDeviceRGB );if !_abd {_ffe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _fbc ;};_gcc .ClosePath ();_gcc .NewSubPath ();
_gcc .SetRGBA (_dae .R (),_dae .G (),_dae .B (),1);_gcc .Stroke ();case "\u0066","\u0046":_bdg ,_bfee :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );if _bfee !=nil {_ffe .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",_bfee );
return _bfee ;};switch _ccf :=_bdg .(type ){case *_cg .PdfColorDeviceRGB :_gcc .SetRGBA (_ccf .R (),_ccf .G (),_ccf .B (),1);_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .Fill ();case *_cg .PdfColorPattern :_gcc .Fill ();};_ffe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
case "\u0066\u002a":_cgc ,_aea :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );if _aea !=nil {_ffe .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",_aea );
return _aea ;};_fea ,_dcdd :=_cgc .(*_cg .PdfColorDeviceRGB );if !_dcdd {_ffe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _aea ;};_gcc .SetRGBA (_fea .R (),_fea .G (),_fea .B (),1);
_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .Fill ();case "\u0042":_gge ,_caf :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );if _caf !=nil {_ffe .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",_caf );
return _caf ;};switch _cab :=_gge .(type ){case *_cg .PdfColorDeviceRGB :_gcc .SetRGBA (_cab .R (),_cab .G (),_cab .B (),1);_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .FillPreserve ();_gge ,_caf =_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );
if _caf !=nil {_ffe .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",_caf );return _caf ;};if _bcb ,_dda :=_gge .(*_cg .PdfColorDeviceRGB );
_dda {_gcc .SetRGBA (_bcb .R (),_bcb .G (),_bcb .B (),1);_gcc .Stroke ();};case *_cg .PdfColorPattern :_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .Fill ();_gcc .StrokePattern ();};case "\u0042\u002a":_agb ,_aeaa :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );
if _aeaa !=nil {_ffe .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",_aeaa );return _aeaa ;};switch _fdee :=_agb .(type ){case *_cg .PdfColorDeviceRGB :_gcc .SetRGBA (_fdee .R (),_fdee .G (),_fdee .B (),1);
_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .FillPreserve ();_agb ,_aeaa =_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _aeaa !=nil {_ffe .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",_aeaa );
return _aeaa ;};if _ee ,_cag :=_agb .(*_cg .PdfColorDeviceRGB );_cag {_gcc .SetRGBA (_ee .R (),_ee .G (),_ee .B (),1);_gcc .Stroke ();};case *_cg .PdfColorPattern :_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .Fill ();_gcc .StrokePattern ();};case "\u0062":_gcc .ClosePath ();
_dged ,_dded :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );if _dded !=nil {_ffe .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",_dded );
return _dded ;};switch _eae :=_dged .(type ){case *_cg .PdfColorDeviceRGB :_gcc .SetRGBA (_eae .R (),_eae .G (),_eae .B (),1);_gcc .NewSubPath ();_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .FillPreserve ();_dged ,_dded =_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );
if _dded !=nil {_ffe .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",_dded );return _dded ;};if _gbc ,_eca :=_dged .(*_cg .PdfColorDeviceRGB );
_eca {_gcc .SetRGBA (_gbc .R (),_gbc .G (),_gbc .B (),1);_gcc .Stroke ();};case *_cg .PdfColorPattern :_gcc .NewSubPath ();_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .Fill ();_gcc .StrokePattern ();};case "\u0062\u002a":_gcc .ClosePath ();_adb ,_dfc :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );
if _dfc !=nil {_ffe .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",_dfc );return _dfc ;};switch _adf :=_adb .(type ){case *_cg .PdfColorDeviceRGB :_gcc .SetRGBA (_adf .R (),_adf .G (),_adf .B (),1);
_gcc .NewSubPath ();_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .FillPreserve ();_adb ,_dfc =_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _dfc !=nil {_ffe .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",_dfc );
return _dfc ;};if _baf ,_aac :=_adb .(*_cg .PdfColorDeviceRGB );_aac {_gcc .SetRGBA (_baf .R (),_baf .G (),_baf .B (),1);_gcc .Stroke ();};case *_cg .PdfColorPattern :_gcc .NewSubPath ();_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .Fill ();_gcc .StrokePattern ();
};case "\u006e":_gcc .ClearPath ();case "\u0057":_gcc .SetFillRule (_ge .FillRuleWinding );_gcc .ClipPreserve ();case "\u0057\u002a":_gcc .SetFillRule (_ge .FillRuleEvenOdd );_gcc .ClipPreserve ();case "\u0072\u0067":_aacg ,_adbg :=_bdc .ColorNonStroking .(*_cg .PdfColorDeviceRGB );
if !_adbg {_ffe .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",_bdc .ColorNonStroking );return nil ;};_gcc .SetFillRGBA (_aacg .R (),_aacg .G (),_aacg .B (),1);
case "\u0052\u0047":_cge ,_edb :=_bdc .ColorStroking .(*_cg .PdfColorDeviceRGB );if !_edb {_ffe .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",_bdc .ColorStroking );
return nil ;};_gcc .SetStrokeRGBA (_cge .R (),_cge .G (),_cge .B (),1);case "\u006b":_cdd ,_feed :=_bdc .ColorNonStroking .(*_cg .PdfColorDeviceCMYK );if !_feed {_ffe .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",_bdc .ColorNonStroking );
return nil ;};_bee ,_fad :=_bdc .ColorspaceNonStroking .ColorToRGB (_cdd );if _fad !=nil {_ffe .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",_bdc .ColorNonStroking );
return nil ;};_eaa ,_feed :=_bee .(*_cg .PdfColorDeviceRGB );if !_feed {_ffe .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",_bee );return nil ;
};_gcc .SetFillRGBA (_eaa .R (),_eaa .G (),_eaa .B (),1);case "\u004b":_ebe ,_dfef :=_bdc .ColorStroking .(*_cg .PdfColorDeviceCMYK );if !_dfef {_ffe .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",_bdc .ColorStroking );
return nil ;};_cde ,_dbe :=_bdc .ColorspaceStroking .ColorToRGB (_ebe );if _dbe !=nil {_ffe .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",_bdc .ColorStroking );
return nil ;};_dab ,_dfef :=_cde .(*_cg .PdfColorDeviceRGB );if !_dfef {_ffe .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",_cde );return nil ;
};_gcc .SetStrokeRGBA (_dab .R (),_dab .G (),_dab .B (),1);case "\u0067":_dbf ,_fbf :=_bdc .ColorNonStroking .(*_cg .PdfColorDeviceGray );if !_fbf {_ffe .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",_bdc .ColorNonStroking );
return nil ;};_bcc ,_gbg :=_bdc .ColorspaceNonStroking .ColorToRGB (_dbf );if _gbg !=nil {_ffe .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",_bdc .ColorNonStroking );
return nil ;};_fefa ,_fbf :=_bcc .(*_cg .PdfColorDeviceRGB );if !_fbf {_ffe .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",_bcc );return nil ;
};_gcc .SetFillRGBA (_fefa .R (),_fefa .G (),_fefa .B (),1);case "\u0047":_ccfe ,_fgbe :=_bdc .ColorStroking .(*_cg .PdfColorDeviceGray );if !_fgbe {_ffe .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",_bdc .ColorStroking );
return nil ;};_bbd ,_ddf :=_bdc .ColorspaceStroking .ColorToRGB (_ccfe );if _ddf !=nil {_ffe .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",_bdc .ColorStroking );
return nil ;};_ggb ,_fgbe :=_bbd .(*_cg .PdfColorDeviceRGB );if !_fgbe {_ffe .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",_bbd );return nil ;
};_gcc .SetStrokeRGBA (_ggb .R (),_ggb .G (),_ggb .B (),1);case "\u0063\u0073":if len (_fd .Params )> 0{if _ebc ,_dgf :=_f .GetName (_fd .Params [0]);_dgf &&_ebc .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_fdb ,_gee :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );
if _gee !=nil {_ffe .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",_bdc .ColorNonStroking );return nil ;};_gedd ,_bce :=_fdb .(*_cg .PdfColorDeviceRGB );
if !_bce {_ffe .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",_fdb );return nil ;};_gcc .SetFillRGBA (_gedd .R (),_gedd .G (),_gedd .B (),1);
case "\u0073\u0063":_dgg ,_fbe :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );if _fbe !=nil {_ffe .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",_bdc .ColorNonStroking );
return nil ;};_gfa ,_aeb :=_dgg .(*_cg .PdfColorDeviceRGB );if !_aeb {_ffe .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",_dgg );return nil ;
};_gcc .SetFillRGBA (_gfa .R (),_gfa .G (),_gfa .B (),1);case "\u0073\u0063\u006e":if len (_fd .Params )> 0&&len (_dad .Params )> 0{if _gea ,_bdf :=_f .GetName (_dad .Params [0]);_bdf &&_gea .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _cafd ,_ffba :=_f .GetName (_fd .Params [0]);
_ffba {_ecf ,_gef :=_dfe .processGradient (_gcc ,_fd ,_bfe ,_cafd );if _gef !=nil {_ffe .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",_gef );
break ;};if _ecf ==nil {_ffe .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_gcc .SetFillStyle (_ecf );_gcc .SetStrokeStyle (_ecf );break ;};};};_fcd ,_eec :=_bdc .ColorspaceNonStroking .ColorToRGB (_bdc .ColorNonStroking );
if _eec !=nil {_ffe .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",_bdc .ColorNonStroking );return nil ;};_cfeb ,_bdaa :=_fcd .(*_cg .PdfColorDeviceRGB );
if !_bdaa {_ffe .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 ;};_gcc .SetFillRGBA (_cfeb .R (),_cfeb .G (),_cfeb .B (),1);
case "\u0043\u0053":if len (_fd .Params )> 0{if _dcba ,_ccg :=_f .GetName (_fd .Params [0]);_ccg &&_dcba .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_abf ,_cac :=_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _cac !=nil {_ffe .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",_bdc .ColorStroking );
return nil ;};_ddcd ,_bgd :=_abf .(*_cg .PdfColorDeviceRGB );if !_bgd {_ffe .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",_abf );return nil ;
};_gcc .SetStrokeRGBA (_ddcd .R (),_ddcd .G (),_ddcd .B (),1);case "\u0053\u0043":_gdf ,_ccd :=_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );if _ccd !=nil {_ffe .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",_bdc .ColorStroking );
return nil ;};_eag ,_afac :=_gdf .(*_cg .PdfColorDeviceRGB );if !_afac {_ffe .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",_gdf );return nil ;
};_gcc .SetStrokeRGBA (_eag .R (),_eag .G (),_eag .B (),1);case "\u0053\u0043\u004e":if len (_fd .Params )> 0&&len (_dad .Params )> 0{if _bdb ,_fbeb :=_f .GetName (_dad .Params [0]);_fbeb &&_bdb .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _fdf ,_gccb :=_f .GetName (_fd .Params [0]);
_gccb {_eg ,_acc :=_dfe .processGradient (_gcc ,_fd ,_bfe ,_fdf );if _acc !=nil {_ffe .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",_acc );
break ;};if _eg ==nil {_ffe .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_gcc .SetFillStyle (_eg );_gcc .SetStrokeStyle (_eg );break ;};};};_geb ,_fcaa :=_bdc .ColorspaceStroking .ColorToRGB (_bdc .ColorStroking );
if _fcaa !=nil {_ffe .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",_bdc .ColorStroking );return nil ;};_bdgb ,_agf :=_geb .(*_cg .PdfColorDeviceRGB );
if !_agf {_ffe .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",_geb );return nil ;};_gcc .SetStrokeRGBA (_bdgb .R (),_bdgb .G (),_bdgb .B (),1);
case "\u0073\u0068":if len (_fd .Params )!=1{_ffe .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 ;};_bccg ,_fcf :=_f .GetName (_fd .Params [0]);
if !_fcf {_ffe .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 ;};_fbff ,_fcf :=_bfe .GetShadingByName (*_bccg );if !_fcf {_ffe .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 ;};_bgf ,_eff ,_cfb :=_dfe .processShading (_gcc ,_fbff );if _cfb !=nil {_ffe .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",_cfb );
break ;};if _bgf ==nil {_ffe .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_cdb ,_cfb :=_eff .ToFloat64Array ();if _cfb !=nil {_ffe .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",_cfb );
break ;};_gcc .DrawRectangle (_cdb [0],_cdb [1],_cdb [2],_cdb [3]);_gcc .NewSubPath ();_gcc .SetFillStyle (_bgf );_gcc .SetStrokeStyle (_bgf );_gcc .Fill ();case "\u0044\u006f":if len (_fd .Params )!=1{return _dff ;};_daec ,_bacb :=_f .GetName (_fd .Params [0]);
if !_bacb {return _ddcc ;};_ ,_bff :=_bfe .GetXObjectByName (*_daec );switch _bff {case _cg .XObjectTypeImage :_ffe .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_daec .String ());_gad ,_ggg :=_bfe .GetXObjectImageByName (*_daec );
if _ggg !=nil {return _ggg ;};_daae ,_ggg :=_gad .ToImage ();if _ggg !=nil {_ffe .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",_ggg );
return nil ;};if _fbg :=_gad .ColorSpace ;_fbg !=nil {var _agdc bool ;switch _fbg .(type ){case *_cg .PdfColorspaceSpecialIndexed :_agdc =true ;};if _agdc {if _aggc ,_gbb :=_fbg .ImageToRGB (*_daae );_gbb !=nil {_ffe .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 {_daae =&_aggc ;};};};_ead :=_gcc .FillPattern ().ColorAt (0,0);var _cged _dd .Image ;if _gad .Mask !=nil {if _cged ,_ggg =_edf (_gad .Mask ,_ead );_ggg !=nil {_ffe .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 _gad .SMask !=nil {if _cged ,_ggg =_adg (_gad .SMask ,_ead );_ggg !=nil {_ffe .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 _dffa _dd .Image ;if _ccge ,_ :=_f .GetBoolVal (_gad .ImageMask );_ccge {_dffa =_cbad (_daae ,_ead );}else {_dffa ,_ggg =_daae .ToGoImage ();if _ggg !=nil {_ffe .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",_ggg );
return nil ;};};if _cged !=nil {_dffa =_gccbd (_dffa ,_cged );};_cdff :=_dffa .Bounds ();_gcc .Push ();_gcc .Scale (1.0/float64 (_cdff .Dx ()),-1.0/float64 (_cdff .Dy ()));_gcc .DrawImageAnchored (_dffa ,0,0,0,1);_gcc .Pop ();case _cg .XObjectTypeForm :_ffe .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_daec .String ());
_dfa ,_aacga :=_bfe .GetXObjectFormByName (*_daec );if _aacga !=nil {return _aacga ;};_gff ,_aacga :=_dfa .GetContentStream ();if _aacga !=nil {return _aacga ;};_fga :=_dfa .Resources ;if _fga ==nil {_fga =_bfe ;};_gcc .Push ();if _dfa .Matrix !=nil {_cfbe ,_dbfb :=_f .GetArray (_dfa .Matrix );
if !_dbfb {return _ddcc ;};_dfg ,_dgfe :=_f .GetNumbersAsFloat (_cfbe .Elements ());if _dgfe !=nil {return _dgfe ;};if len (_dfg )!=6{return _dff ;};_edbc :=_fe .NewMatrix (_dfg [0],_dfg [1],_dfg [2],_dfg [3],_dfg [4],_dfg [5]);_gcc .SetMatrix (_gcc .Matrix ().Mult (_edbc ));
};if _dfa .BBox !=nil {_aefb ,_gec :=_f .GetArray (_dfa .BBox );if !_gec {return _ddcc ;};_geg ,_ebcb :=_f .GetNumbersAsFloat (_aefb .Elements ());if _ebcb !=nil {return _ebcb ;};if len (_geg )!=4{_ffe .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_geg ));
return _dff ;};_gcc .DrawRectangle (_geg [0],_geg [1],_geg [2]-_geg [0],_geg [3]-_geg [1]);_gcc .SetRGBA (1,0,0,1);_gcc .Clip ();}else {_ffe .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");
};_aacga =_dfe .renderContentStream (_gcc ,string (_gff ),_fga );if _aacga !=nil {return _aacga ;};_gcc .Pop ();};case "\u0042\u0049":if len (_fd .Params )!=1{return _dff ;};_gde ,_cbe :=_fd .Params [0].(*_ff .ContentStreamInlineImage );if !_cbe {return nil ;
};_eaag ,_feea :=_gde .ToImage (_bfe );if _feea !=nil {_ffe .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",_feea );
return nil ;};_bdd ,_feea :=_eaag .ToGoImage ();if _feea !=nil {_ffe .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",_feea );
return nil ;};_cbb :=_bdd .Bounds ();_gcc .Push ();_gcc .Scale (1.0/float64 (_cbb .Dx ()),-1.0/float64 (_cbb .Dy ()));_gcc .DrawImageAnchored (_bdd ,0,0,0,1);_gcc .Pop ();case "\u0042\u0054":_fba .Reset ();case "\u0045\u0054":_fba .Reset ();case "\u0054\u0072":if len (_fd .Params )!=1{return _dff ;
};_gebe ,_ccgee :=_f .GetNumberAsFloat (_fd .Params [0]);if _ccgee !=nil {return _ccgee ;};_fba .Tr =_ge .TextRenderingMode (_gebe );case "\u0054\u004c":if len (_fd .Params )!=1{return _dff ;};_ddag ,_bcd :=_f .GetNumberAsFloat (_fd .Params [0]);if _bcd !=nil {return _bcd ;
};_fba .Tl =_ddag ;case "\u0054\u0063":if len (_fd .Params )!=1{return _dff ;};_cef ,_dedd :=_f .GetNumberAsFloat (_fd .Params [0]);if _dedd !=nil {return _dedd ;};_ffe .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_cef );_fba .Tc =_cef ;case "\u0054\u0077":if len (_fd .Params )!=1{return _dff ;
};_ddfc ,_bafc :=_f .GetNumberAsFloat (_fd .Params [0]);if _bafc !=nil {return _bafc ;};_ffe .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_ddfc );_fba .Tw =_ddfc ;case "\u0054\u007a":if len (_fd .Params )!=1{return _dff ;};_bdbd ,_edg :=_f .GetNumberAsFloat (_fd .Params [0]);
if _edg !=nil {return _edg ;};_fba .Th =_bdbd ;case "\u0054\u0073":if len (_fd .Params )!=1{return _dff ;};_dfcf ,_dgbf :=_f .GetNumberAsFloat (_fd .Params [0]);if _dgbf !=nil {return _dgbf ;};_fba .Ts =_dfcf ;case "\u0054\u0064":if len (_fd .Params )!=2{return _dff ;
};_bfa ,_dbg :=_f .GetNumbersAsFloat (_fd .Params );if _dbg !=nil {return _dbg ;};_ffe .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_bfa );_fba .ProcTd (_bfa [0],_bfa [1]);case "\u0054\u0044":if len (_fd .Params )!=2{return _dff ;};_bfb ,_fadc :=_f .GetNumbersAsFloat (_fd .Params );
if _fadc !=nil {return _fadc ;};_ffe .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_bfb );_fba .ProcTD (_bfb [0],_bfb [1]);case "\u0054\u002a":_fba .ProcTStar ();case "\u0054\u006d":if len (_fd .Params )!=6{return _dff ;};_eab ,_dca :=_f .GetNumbersAsFloat (_fd .Params );
if _dca !=nil {return _dca ;};_ffe .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_eab );_fba .ProcTm (_eab [0],_eab [1],_eab [2],_eab [3],_eab [4],_eab [5]);case "\u0027":if len (_fd .Params )!=1{return _dff ;
};_fgc ,_ddg :=_f .GetStringBytes (_fd .Params [0]);if !_ddg {return _ddcc ;};_ffe .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_fgc ));_fba .ProcQ (_fgc ,_gcc );case "\u0022":if len (_fd .Params )!=3{return _dff ;
};_aba ,_beg :=_f .GetNumberAsFloat (_fd .Params [0]);if _beg !=nil {return _beg ;};_dga ,_beg :=_f .GetNumberAsFloat (_fd .Params [1]);if _beg !=nil {return _beg ;};_cbbe ,_aag :=_f .GetStringBytes (_fd .Params [2]);if !_aag {return _ddcc ;};_fba .ProcDQ (_cbbe ,_aba ,_dga ,_gcc );
case "\u0054\u006a":if len (_fd .Params )!=1{return _dff ;};_edbca ,_ebg :=_f .GetStringBytes (_fd .Params [0]);if !_ebg {return _ddcc ;};_ffe .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_edbca ));
_fba .ProcTj (_edbca ,_gcc );case "\u0054\u004a":if len (_fd .Params )!=1{return _dff ;};_dgag ,_fcb :=_f .GetArray (_fd .Params [0]);if !_fcb {_ffe .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_dgag );return _ddcc ;};_ffe .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_dgag );
for _ ,_eagf :=range _dgag .Elements (){switch _gefb :=_eagf .(type ){case *_f .PdfObjectString :if _gefb !=nil {_fba .ProcTj (_gefb .Bytes (),_gcc );};case *_f .PdfObjectFloat ,*_f .PdfObjectInteger :_eba ,_gaa :=_f .GetNumberAsFloat (_gefb );if _gaa ==nil {_fba .Translate (-_eba *0.001*_fba .Tf .Size *_fba .Th /100.0,0);
};};};case "\u0054\u0066":if len (_fd .Params )!=2{return _dff ;};_ffe .Log .Debug ("\u0025\u0023\u0076",_fd .Params );_caca ,_ccde :=_f .GetName (_fd .Params [0]);if !_ccde ||_caca ==nil {_ffe .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",_fd .Params [0]);
return _ddcc ;};_ffe .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_caca .String ());_abc ,_dece :=_f .GetNumberAsFloat (_fd .Params [1]);if _dece !=nil {_ffe .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",_fd .Params [1]);
return _ddcc ;};_ffe .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_abc );_gdee ,_cbec :=_bfe .GetFontByName (*_caca );if !_cbec {_ffe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_caca .String ());
return _c .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_ffe .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_gdee );_dgbg ,_ccde :=_f .GetDict (_gdee );if !_ccde {_ffe .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 _ddcc ;};_cacc ,_dece :=_cg .NewPdfFontFromPdfObject (_dgbg );if _dece !=nil {_ffe .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 _dece ;};_gega :=_cacc .BaseFont ();if _gega ==""{_gega =_caca .String ();};_gffd ,_ccde :=_fee [_gega ];if !_ccde {_gffd ,_dece =_ge .NewTextFont (_cacc ,_abc );if _dece !=nil {_ffe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_dece );
};};if _gffd ==nil {if len (_gega )> 7&&_gega [6]=='+'{_gega =_gega [7:];};_fgcg :=[]string {_gega ,"\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 _ ,_afae :=range _fgcg {_ffe .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",_afae );if _gffd ,_ccde =_fee [_afae ];
_ccde {break ;};_ccda :=_afa .Match (_afae );if _ccda ==nil {_ffe .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",_afae );continue ;};_gffd ,_dece =_ge .NewTextFontFromPath (_ccda .Filename ,_abc );
if _dece !=nil {_ffe .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",_ccda .Filename );continue ;};_ffe .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",_gega ,_ccda .Name ,_ccda .Filename );
_fee [_afae ]=_gffd ;break ;};};if _gffd ==nil {_ffe .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");};_fba .ProcTf (_gffd .WithSize (_abc ,_cacc ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_ffe .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",_fd .Operand );
};_dad =_fd ;return nil ;});_ea =_gca .Process (_dcd );if _ea !=nil {return _ea ;};return nil ;};func _cbad (_ddd *_cg .Image ,_cefg _b .Color )_dd .Image {_bcff ,_fce :=int (_ddd .Width ),int (_ddd .Height );_ceb :=_dd .NewRGBA (_dd .Rect (0,0,_bcff ,_fce ));
for _bbcf :=0;_bbcf < _fce ;_bbcf ++{for _debd :=0;_debd < _bcff ;_debd ++{_eecg ,_bcg :=_ddd .ColorAt (_debd ,_bbcf );if _bcg !=nil {_ffe .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",_debd ,_bbcf );
continue ;};_gfbf ,_cgef ,_cfge ,_ :=_eecg .RGBA ();var _gcd _b .Color ;if _gfbf +_cgef +_cfge ==0{_gcd =_cefg ;}else {_gcd =_b .Transparent ;};_ceb .Set (_debd ,_bbcf ,_gcd );};};return _ceb ;};func _eedc (_abcb string ,_bgce _dd .Image )error {_gfb ,_eabd :=_d .Create (_abcb );
if _eabd !=nil {return _eabd ;};defer _gfb .Close ();return _af .Encode (_gfb ,_bgce );};func _gccbd (_ade ,_gbeb _dd .Image )_dd .Image {_ace ,_cacf :=_gbeb .Bounds ().Size (),_ade .Bounds ().Size ();_adfg ,_fgbd :=_ace .X ,_ace .Y ;if _cacf .X > _adfg {_adfg =_cacf .X ;
};if _cacf .Y > _fgbd {_fgbd =_cacf .Y ;};_eef :=_dd .Rect (0,0,_adfg ,_fgbd );if _ace .X !=_adfg ||_ace .Y !=_fgbd {_dcbc :=_dd .NewRGBA (_eef );_ccc .BiLinear .Scale (_dcbc ,_eef ,_ade ,_gbeb .Bounds (),_ccc .Over ,nil );_gbeb =_dcbc ;};if _cacf .X !=_adfg ||_cacf .Y !=_fgbd {_eafe :=_dd .NewRGBA (_eef );
_ccc .BiLinear .Scale (_eafe ,_eef ,_ade ,_ade .Bounds (),_ccc .Over ,nil );_ade =_eafe ;};_abad :=_dd .NewRGBA (_eef );_ccc .DrawMask (_abad ,_eef ,_ade ,_dd .Point {},_gbeb ,_dd .Point {},_ccc .Over );return _abad ;};func _fag (_fcfg *_cg .Image ,_ddgg _b .Color )_dd .Image {_gebc ,_becd :=int (_fcfg .Width ),int (_fcfg .Height );
_dce :=_dd .NewRGBA (_dd .Rect (0,0,_gebc ,_becd ));for _cff :=0;_cff < _becd ;_cff ++{for _gce :=0;_gce < _gebc ;_gce ++{_egd ,_bae :=_fcfg .ColorAt (_gce ,_cff );if _bae !=nil {_ffe .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",_gce ,_cff );
continue ;};_fbcf ,_age ,_abe ,_ :=_egd .RGBA ();var _fcc _b .Color ;if _fbcf +_age +_abe ==0{_fcc =_b .Transparent ;}else {_fcc =_ddgg ;};_dce .Set (_gce ,_cff ,_fcc );};};return _dce ;};type renderer struct{_be float64 };func (_edc renderer )processLinearShading (_cagf _ge .Context ,_gab *_cg .PdfShading )(_ge .Gradient ,*_f .PdfObjectArray ,error ){_cdbg :=_gab .GetContext ().(*_cg .PdfShadingType2 );
if len (_cdbg .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");
};_bccb ,_afaf :=_cdbg .Coords .ToFloat64Array ();if _afaf !=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");
};_fdef :=_gab .ColorSpace ;_bfgg ,_abg :=_cagf .Matrix ().Transform (_bccb [0],_bccb [1]);_ccb ,_dgd :=_cagf .Matrix ().Transform (_bccb [2],_bccb [3]);_fdfa :=_cf .NewLinearGradient (_bfgg ,_abg ,_ccb ,_dgd );_ebac :=_f .MakeArrayFromFloats ([]float64 {0,0,1,1});
for _ ,_cfcb :=range _bccb {if _cfcb > 1{_ebac =_cdbg .Coords ;break ;};};if _cadd ,_deg :=_cdbg .Function [0].(*_cg .PdfFunctionType2 );_deg {_fdfa ,_afaf =_gada (_fdfa ,_cadd ,_fdef ,1.0,true );}else if _fgff ,_dbgd :=_cdbg .Function [0].(*_cg .PdfFunctionType3 );
_dbgd {_ddca :=append ([]float64 {0},_fgff .Bounds ...);_ddca =append (_ddca ,1.0);_fdfa ,_afaf =_gebg (_fdfa ,_fgff ,_fdef ,_ddca );};return _fdfa ,_ebac ,_afaf ;};const (ShadingTypeFunctionBased PdfShadingType =1;ShadingTypeAxial PdfShadingType =2;ShadingTypeRadial PdfShadingType =3;
ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5;ShadingTypeCoons PdfShadingType =6;ShadingTypeTensorProduct PdfShadingType =7;);func _egdc (_gdec ,_accg ,_afb float64 )_bd .BoundingBox {return _bd .Path {Points :[]_bd .Point {_bd .NewPoint (0,0).Rotate (_afb ),_bd .NewPoint (_gdec ,0).Rotate (_afb ),_bd .NewPoint (0,_accg ).Rotate (_afb ),_bd .NewPoint (_gdec ,_accg ).Rotate (_afb )}}.GetBoundingBox ();
};
// Render converts the specified PDF page into an image, flattens annotations by default and returns the result.
func (_aa *ImageDevice )Render (page *_cg .PdfPage )(_dd .Image ,error ){return _aa .RenderWithOpts (page ,false );};