unipdf/render/render.go
2024-04-30 12:24:05 +00:00

207 lines
55 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 (_d "errors";_bb "fmt";_gda "github.com/adrg/sysfont";_gb "github.com/unidoc/unipdf/v3/annotator";_dd "github.com/unidoc/unipdf/v3/common";_gg "github.com/unidoc/unipdf/v3/contentstream";_ae "github.com/unidoc/unipdf/v3/contentstream/draw";
_cdg "github.com/unidoc/unipdf/v3/core";_gd "github.com/unidoc/unipdf/v3/internal/license";_ff "github.com/unidoc/unipdf/v3/internal/transform";_be "github.com/unidoc/unipdf/v3/model";_ge "github.com/unidoc/unipdf/v3/render/internal/context";_aa "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";
_gf "golang.org/x/image/draw";_g "image";_cd "image/color";_af "image/draw";_f "image/jpeg";_da "image/png";_c "math";_df "os";_db "path/filepath";_b "strings";);func (_bgc renderer )renderPage (_cbf _ge .Context ,_cff *_be .PdfPage ,_ddd _ff .Matrix ,_fb bool )error {if !_fb {_fcb :=_be .FieldFlattenOpts {AnnotFilterFunc :func (_adb *_be .PdfAnnotation )bool {switch _adb .GetContext ().(type ){case *_be .PdfAnnotationLine :return true ;
case *_be .PdfAnnotationSquare :return true ;case *_be .PdfAnnotationCircle :return true ;case *_be .PdfAnnotationPolygon :return true ;case *_be .PdfAnnotationPolyLine :return true ;};return false ;}};_cbfb :=_gb .FieldAppearance {};_eab :=_cff .FlattenFieldsWithOpts (_cbfb ,&_fcb );
if _eab !=nil {_dd .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",_eab );};};_dc ,_dag :=_cff .GetAllContentStreams ();
if _dag !=nil {return _dag ;};if _cg :=_ddd ;!_cg .Identity (){_dc =_bb .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",_cg [0],_cg [1],_cg [3],_cg [4],_cg [6],_cg [7],_dc );
};_cbf .Translate (0,float64 (_cbf .Height ()));_cbf .Scale (1,-1);_cbf .Push ();_cbf .SetRGBA (1,1,1,1);_cbf .DrawRectangle (0,0,float64 (_cbf .Width ()),float64 (_cbf .Height ()));_cbf .Fill ();_cbf .Pop ();_cbf .SetLineWidth (1.0);_cbf .SetRGBA (0,0,0,1);
return _bgc .renderContentStream (_cbf ,_dc ,_cff .Resources );};func (_dabc renderer )processLinearShading (_dac _ge .Context ,_bff *_be .PdfShading )(_ge .Gradient ,*_cdg .PdfObjectArray ,error ){_fbdc :=_bff .GetContext ().(*_be .PdfShadingType2 );if len (_fbdc .Function )==0{return nil ,nil ,_d .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e");
};_eaf ,_bfca :=_fbdc .Coords .ToFloat64Array ();if _bfca !=nil {return nil ,nil ,_d .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e");
};_efee :=_bff .ColorSpace ;_ebaa ,_ddca :=_dac .Matrix ().Transform (_eaf [0],_eaf [1]);_gfb ,_egbg :=_dac .Matrix ().Transform (_eaf [2],_eaf [3]);_dff :=_aa .NewLinearGradient (_ebaa ,_ddca ,_gfb ,_egbg );_bed :=_cdg .MakeArrayFromFloats ([]float64 {0,0,1,1});
for _ ,_ebdd :=range _eaf {if _ebdd > 1{_bed =_fbdc .Coords ;break ;};};if _bag ,_cdf :=_fbdc .Function [0].(*_be .PdfFunctionType2 );_cdf {_dff ,_bfca =_adbg (_dff ,_bag ,_efee ,1.0,true );}else if _bde ,_fee :=_fbdc .Function [0].(*_be .PdfFunctionType3 );
_fee {_fcc :=append ([]float64 {0},_bde .Bounds ...);_fcc =append (_fcc ,1.0);_dff ,_bfca =_acdc (_dff ,_bde ,_efee ,_fcc );};return _dff ,_bed ,_bfca ;};func _gcd (_cgf string ,_cfaf _g .Image )error {_eed ,_fbf :=_df .Create (_cgf );if _fbf !=nil {return _fbf ;
};defer _eed .Close ();return _da .Encode (_eed ,_cfaf );};func _adbg (_abe _ge .Gradient ,_cgc *_be .PdfFunctionType2 ,_aad _be .PdfColorspace ,_cgd float64 ,_gdda bool )(_ge .Gradient ,error ){switch _aad .(type ){case *_be .PdfColorspaceDeviceRGB :if len (_cgc .C0 )!=3||len (_cgc .C1 )!=3{return nil ,_d .New ("\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u0020\u0052\u0047\u0042\u0020\u0063o\u006co\u0072\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");
};_ffd :=_cgc .C0 ;_cfa :=_cgc .C1 ;if _gdda {_abe .AddColorStop (0.0,_cd .RGBA {R :uint8 (_ffd [0]*255),G :uint8 (_ffd [1]*255),B :uint8 (_ffd [2]*255),A :255});};_abe .AddColorStop (_cgd ,_cd .RGBA {R :uint8 (_cfa [0]*255),G :uint8 (_cfa [1]*255),B :uint8 (_cfa [2]*255),A :255});
case *_be .PdfColorspaceDeviceCMYK :if len (_cgc .C0 )!=4||len (_cgc .C1 )!=4{return nil ,_d .New ("\u0069\u006e\u0063\u006f\u0072\u0072e\u0063\u0074\u0020\u0043\u004d\u0059\u004b\u0020\u0063\u006f\u006c\u006f\u0072 \u0061\u0072\u0072\u0061\u0079\u0020\u006ce\u006e\u0067\u0074\u0068");
};_ffg :=_cgc .C0 ;_bfg :=_cgc .C1 ;if _gdda {_abe .AddColorStop (0.0,_cd .CMYK {C :uint8 (_ffg [0]*255),M :uint8 (_ffg [1]*255),Y :uint8 (_ffg [2]*255),K :uint8 (_ffg [3]*255)});};_abe .AddColorStop (_cgd ,_cd .CMYK {C :uint8 (_bfg [0]*255),M :uint8 (_bfg [1]*255),Y :uint8 (_bfg [2]*255),K :uint8 (_bfg [3]*255)});
default:return nil ,_bb .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_aad .String ());};return _abe ,nil ;};var (_ea =_d .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");
_dbb =_d .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"););
// PdfShadingType defines PDF shading types.
// Source: PDF32000_2008.pdf. Chapter 8.7.4.5
type PdfShadingType int64 ;const (ShadingTypeFunctionBased PdfShadingType =1;ShadingTypeAxial PdfShadingType =2;ShadingTypeRadial PdfShadingType =3;ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5;ShadingTypeCoons PdfShadingType =6;
ShadingTypeTensorProduct PdfShadingType =7;);func _edc (_bbg ,_fbdd ,_gaec float64 )_ae .BoundingBox {return _ae .Path {Points :[]_ae .Point {_ae .NewPoint (0,0).Rotate (_gaec ),_ae .NewPoint (_bbg ,0).Rotate (_gaec ),_ae .NewPoint (0,_fbdd ).Rotate (_gaec ),_ae .NewPoint (_bbg ,_fbdd ).Rotate (_gaec )}}.GetBoundingBox ();
};func _fdad (_efcg *_be .Image ,_gefa _cd .Color )_g .Image {_ccge ,_fec :=int (_efcg .Width ),int (_efcg .Height );_fddc :=_g .NewRGBA (_g .Rect (0,0,_ccge ,_fec ));for _bbag :=0;_bbag < _fec ;_bbag ++{for _gbge :=0;_gbge < _ccge ;_gbge ++{_cce ,_gcg :=_efcg .ColorAt (_gbge ,_bbag );
if _gcg !=nil {_dd .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",_gbge ,_bbag );
continue ;};_ede ,_agfd ,_gaea ,_ :=_cce .RGBA ();var _fcg _cd .Color ;if _ede +_agfd +_gaea ==0{_fcg =_cd .Transparent ;}else {_fcg =_gefa ;};_fddc .Set (_gbge ,_bbag ,_fcg );};};return _fddc ;};type renderer struct{_bef float64 };
// NewImageDevice returns a new image device.
func NewImageDevice ()*ImageDevice {const _ca ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_gd .TrackUse (_ca );return &ImageDevice {};};func _acg (_fce *_be .Image ,_ceaf _cd .Color )_g .Image {_debe ,_dade :=int (_fce .Width ),int (_fce .Height );
_ccg :=_g .NewRGBA (_g .Rect (0,0,_debe ,_dade ));for _cgdf :=0;_cgdf < _dade ;_cgdf ++{for _ffab :=0;_ffab < _debe ;_ffab ++{_edae ,_cbfe :=_fce .ColorAt (_ffab ,_cgdf );if _cbfe !=nil {_dd .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",_ffab ,_cgdf );
continue ;};_egfc ,_afg ,_bdb ,_ :=_edae .RGBA ();var _cbb _cd .Color ;if _egfc +_afg +_bdb ==0{_cbb =_ceaf ;}else {_cbb =_cd .Transparent ;};_ccg .Set (_ffab ,_cgdf ,_cbb );};};return _ccg ;};
// Render converts the specified PDF page into an image, flattens annotations by default and returns the result.
func (_fa *ImageDevice )Render (page *_be .PdfPage )(_g .Image ,error ){return _fa .RenderWithOpts (page ,false );};
// RenderWithOpts converts the specified PDF page into an image, optionally flattens annotations and returns the result.
func (_fg *ImageDevice )RenderWithOpts (page *_be .PdfPage ,skipFlattening bool )(_g .Image ,error ){_cb ,_cf :=page .GetMediaBox ();if _cf !=nil {return nil ,_cf ;};_cb .Normalize ();_bbf :=page .CropBox ;var _e ,_dfc float64 ;if _bbf !=nil {_bbf .Normalize ();
_e ,_dfc =_bbf .Width (),_bbf .Height ();};_ffb :=page .Rotate ;_bf ,_dbe ,_dfg ,_ag :=_cb .Llx ,_cb .Lly ,_cb .Width (),_cb .Height ();_ddg :=_ff .IdentityMatrix ();if _ffb !=nil &&*_ffb %360!=0&&*_ffb %90==0{_ged :=-float64 (*_ffb );_ec :=_edc (_dfg ,_ag ,_ged );
_ddg =_ddg .Translate ((_ec .Width -_dfg )/2+_dfg /2,(_ec .Height -_ag )/2+_ag /2).Rotate (_ged *_c .Pi /180).Translate (-_dfg /2,-_ag /2);_dfg ,_ag =_ec .Width ,_ec .Height ;if _bbf !=nil {_gc :=_edc (_e ,_dfc ,_ged );_e ,_dfc =_gc .Width ,_gc .Height ;
};};if _bf !=0||_dbe !=0{_ddg =_ddg .Translate (-_bf ,-_dbe );};_fg ._bef =1.0;if _fg .OutputWidth !=0{_fc :=_dfg ;if _bbf !=nil {_fc =_e ;};_fg ._bef =float64 (_fg .OutputWidth )/_fc ;_dfg ,_ag ,_e ,_dfc =_dfg *_fg ._bef ,_ag *_fg ._bef ,_e *_fg ._bef ,_dfc *_fg ._bef ;
_ddg =_ff .ScaleMatrix (_fg ._bef ,_fg ._bef ).Mult (_ddg );};_fe :=_aa .NewContext (int (_dfg ),int (_ag ));if _cc :=_fg .renderPage (_fe ,page ,_ddg ,skipFlattening );_cc !=nil {return nil ,_cc ;};_aeb :=_fe .Image ();if _bbf !=nil {_agb ,_fd :=(_bbf .Llx -_bf )*_fg ._bef ,(_bbf .Lly -_dbe )*_fg ._bef ;
_bc :=_g .Rect (0,0,int (_e ),int (_dfc ));_daa :=_g .Pt (int (_agb ),int (_ag -_fd -_dfc ));_eb :=_g .NewRGBA (_bc );_af .Draw (_eb ,_bc ,_aeb ,_daa ,_af .Src );_aeb =_eb ;};return _aeb ,nil ;};func _aabb (_dfgaf ,_fag _g .Image )_g .Image {_eeec ,_gagf :=_fag .Bounds ().Size (),_dfgaf .Bounds ().Size ();
_dfgg ,_eeda :=_eeec .X ,_eeec .Y ;if _gagf .X > _dfgg {_dfgg =_gagf .X ;};if _gagf .Y > _eeda {_eeda =_gagf .Y ;};_fddg :=_g .Rect (0,0,_dfgg ,_eeda );if _eeec .X !=_dfgg ||_eeec .Y !=_eeda {_gbec :=_g .NewRGBA (_fddg );_gf .BiLinear .Scale (_gbec ,_fddg ,_dfgaf ,_fag .Bounds (),_gf .Over ,nil );
_fag =_gbec ;};if _gagf .X !=_dfgg ||_gagf .Y !=_eeda {_gdab :=_g .NewRGBA (_fddg );_gf .BiLinear .Scale (_gdab ,_fddg ,_dfgaf ,_dfgaf .Bounds (),_gf .Over ,nil );_dfgaf =_gdab ;};_dbaa :=_g .NewRGBA (_fddg );_gf .DrawMask (_dbaa ,_fddg ,_dfgaf ,_g .Point {},_fag ,_g .Point {},_gf .Over );
return _dbaa ;};func (_dbgf renderer )processShading (_bcda _ge .Context ,_bgd *_be .PdfShading )(_ge .Gradient ,*_cdg .PdfObjectArray ,error ){_cgee :=int64 (*_bgd .ShadingType );if _cgee ==int64 (ShadingTypeAxial ){return _dbgf .processLinearShading (_bcda ,_bgd );
}else if _cgee ==int64 (ShadingTypeRadial ){return _dbgf .processRadialShading (_bcda ,_bgd );}else {_dd .Log .Debug (_bb .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",_cgee ));
};return nil ,nil ,nil ;};func _bebf (_cdff string ,_dga _g .Image ,_egfb int )error {_aeda ,_fabff :=_df .Create (_cdff );if _fabff !=nil {return _fabff ;};defer _aeda .Close ();return _f .Encode (_aeda ,_dga ,&_f .Options {Quality :_egfb });};func _acdc (_dadb _ge .Gradient ,_adc *_be .PdfFunctionType3 ,_febc _be .PdfColorspace ,_dcfg []float64 )(_ge .Gradient ,error ){var _aaeb error ;
for _bae :=0;_bae < len (_adc .Functions );_bae ++{if _caab ,_ddgg :=_adc .Functions [_bae ].(*_be .PdfFunctionType2 );_ddgg {_dadb ,_aaeb =_adbg (_dadb ,_caab ,_febc ,_dcfg [_bae +1],_bae ==0);if _aaeb !=nil {return nil ,_aaeb ;};};};return _dadb ,nil ;
};func _deg (_aagc _cdg .PdfObject ,_eegg _cd .Color )(_g .Image ,error ){_aagf ,_fbb :=_cdg .GetStream (_aagc );if !_fbb {return nil ,nil ;};_fga ,_baaf :=_be .NewXObjectImageFromStream (_aagf );if _baaf !=nil {return nil ,_baaf ;};_fge ,_baaf :=_fga .ToImage ();
if _baaf !=nil {return nil ,_baaf ;};return _fdad (_fge ,_eegg ),nil ;};func (_cbfd renderer )processRadialShading (_eddc _ge .Context ,_dggg *_be .PdfShading )(_ge .Gradient ,*_cdg .PdfObjectArray ,error ){_acaf :=_dggg .GetContext ().(*_be .PdfShadingType3 );
if len (_acaf .Function )==0{return nil ,nil ,_d .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e");
};_beef ,_cbag :=_acaf .Coords .ToFloat64Array ();if _cbag !=nil {return nil ,nil ,_d .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e");
};_dgb :=_dggg .ColorSpace ;_bgbc :=_cdg .MakeArrayFromFloats ([]float64 {0,0,1,1});var _cca ,_aaa ,_baa ,_bdde ,_bgg ,_ddgc float64 ;_cca ,_aaa =_eddc .Matrix ().Transform (_beef [0],_beef [1]);_baa ,_bdde =_eddc .Matrix ().Transform (_beef [3],_beef [4]);
_bgg ,_ =_eddc .Matrix ().Transform (_beef [2],0);_ddgc ,_ =_eddc .Matrix ().Transform (_beef [5],0);_gge ,_ :=_eddc .Matrix ().Translation ();_bgg -=_gge ;_ddgc -=_gge ;for _bcef ,_gdac :=range _beef {if _bcef ==2||_bcef ==5{continue ;};if _gdac > 1.0{_bccd :=_c .Min (_cca -_bgg ,_baa -_ddgc );
_gde :=_c .Min (_aaa -_bgg ,_bdde -_ddgc );_gadb :=_c .Max (_cca +_bgg ,_baa +_ddgc );_abfc :=_c .Max (_aaa +_bgg ,_bdde +_ddgc );_gdfb :=_gadb -_bccd ;_gbbfb :=_gde -_abfc ;_bgbc =_cdg .MakeArrayFromFloats ([]float64 {_bccd ,_gde ,_gdfb ,_gbbfb });break ;
};};_aaea :=_aa .NewRadialGradient (_cca ,_aaa ,_bgg ,_baa ,_bdde ,_ddgc );if _abg ,_fbea :=_acaf .Function [0].(*_be .PdfFunctionType2 );_fbea {_aaea ,_cbag =_adbg (_aaea ,_abg ,_dgb ,1.0,true );}else if _gage ,_bfaa :=_acaf .Function [0].(*_be .PdfFunctionType3 );
_bfaa {_cdd :=append ([]float64 {0},_gage .Bounds ...);_cdd =append (_cdd ,1.0);_aaea ,_cbag =_acdc (_aaea ,_gage ,_dgb ,_cdd );};if _cbag !=nil {return nil ,nil ,_cbag ;};return _aaea ,_bgbc ,nil ;};func (_egeg renderer )processGradient (_agg _ge .Context ,_cbe *_gg .ContentStreamOperation ,_gaa *_be .PdfPageResources ,_def *_cdg .PdfObjectName )(_ge .Gradient ,error ){if _ggfe ,_fafb :=_gaa .GetPatternByName (*_def );
_fafb &&_ggfe .IsShading (){_edg :=_ggfe .GetAsShadingPattern ().Shading ;_edf ,_ ,_gdfe :=_egeg .processShading (_agg ,_edg );if _gdfe !=nil {return nil ,_gdfe ;};return _edf ,nil ;};return nil ,nil ;};
// ImageDevice is used to render PDF pages to image targets.
type ImageDevice struct{renderer ;
// OutputWidth represents the width of the rendered images in pixels.
// The heights of the output images are calculated based on the selected
// width and the original height of each rendered page.
OutputWidth int ;};func _fcd (_dfga _cdg .PdfObject ,_bcffc _cd .Color )(_g .Image ,error ){_cef ,_bccc :=_cdg .GetStream (_dfga );if !_bccc {return nil ,nil ;};_fcef ,_fac :=_be .NewXObjectImageFromStream (_cef );if _fac !=nil {return nil ,_fac ;};_abeb ,_fac :=_fcef .ToImage ();
if _fac !=nil {return nil ,_fac ;};return _acg (_abeb ,_bcffc ),nil ;};func (_gcc renderer )renderContentStream (_ebc _ge .Context ,_bfc string ,_bd *_be .PdfPageResources )error {_de ,_agbe :=_gg .NewContentStreamParser (_bfc ).Parse ();if _agbe !=nil {return _agbe ;
};_bge :=_ebc .TextState ();_bge .GlobalScale =_gcc ._bef ;_bfa :=map[string ]*_ge .TextFont {};_fdc :=_gda .NewFinder (&_gda .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _eg *_gg .ContentStreamOperation ;
_dce :=_gg .NewContentStreamProcessor (*_de );_dce .AddHandler (_gg .HandlerConditionEnumAllOperands ,"",func (_ac *_gg .ContentStreamOperation ,_geg _gg .GraphicsState ,_ebd *_be .PdfPageResources )error {_dd .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_ac .Operand );
switch _ac .Operand {case "\u0071":_ebc .Push ();case "\u0051":_ebc .Pop ();_bge =_ebc .TextState ();case "\u0063\u006d":if len (_ac .Params )!=6{return _dbb ;};_ef ,_ece :=_cdg .GetNumbersAsFloat (_ac .Params );if _ece !=nil {return _ece ;};_eabb :=_ff .NewMatrix (_ef [0],_ef [1],_ef [2],_ef [3],_ef [4],_ef [5]);
_dd .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",_eabb );_ebc .SetMatrix (_ebc .Matrix ().Mult (_eabb ));case "\u0077":if len (_ac .Params )!=1{return _dbb ;
};_dfe ,_acc :=_cdg .GetNumbersAsFloat (_ac .Params );if _acc !=nil {return _acc ;};_ebc .SetLineWidth (_dfe [0]);case "\u004a":if len (_ac .Params )!=1{return _dbb ;};_fef ,_aed :=_cdg .GetIntVal (_ac .Params [0]);if !_aed {return _ea ;};switch _fef {case 0:_ebc .SetLineCap (_ge .LineCapButt );
case 1:_ebc .SetLineCap (_ge .LineCapRound );case 2:_ebc .SetLineCap (_ge .LineCapSquare );default:_dd .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",_fef );
return _dbb ;};case "\u006a":if len (_ac .Params )!=1{return _dbb ;};_ab ,_efe :=_cdg .GetIntVal (_ac .Params [0]);if !_efe {return _ea ;};switch _ab {case 0:_ebc .SetLineJoin (_ge .LineJoinBevel );case 1:_ebc .SetLineJoin (_ge .LineJoinRound );case 2:_ebc .SetLineJoin (_ge .LineJoinBevel );
default:_dd .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",_ab );return _dbb ;};case "\u004d":if len (_ac .Params )!=1{return _dbb ;};_fbg ,_efea :=_cdg .GetNumbersAsFloat (_ac .Params );
if _efea !=nil {return _efea ;};_ =_fbg ;_dd .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 (_ac .Params )!=2{return _dbb ;};_cbd ,_fdg :=_cdg .GetArray (_ac .Params [0]);
if !_fdg {return _ea ;};_dceg ,_fdg :=_cdg .GetIntVal (_ac .Params [1]);if !_fdg {_ ,_bcd :=_cdg .GetFloatVal (_ac .Params [1]);if !_bcd {return _ea ;};};_geb ,_ccc :=_cdg .GetNumbersAsFloat (_cbd .Elements ());if _ccc !=nil {return _ccc ;};_ebc .SetDash (_geb ...);
_ =_dceg ;_dd .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":_dd .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":_dd .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 (_ac .Params )!=1{return _dbb ;
};_ee ,_bcf :=_cdg .GetName (_ac .Params [0]);if !_bcf {return _ea ;};if _ee ==nil {return _dbb ;};_ccca ,_bcf :=_ebd .GetExtGState (*_ee );if !_bcf {_dd .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",*_ee );
return _d .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_ga ,_bcf :=_cdg .GetDict (_ccca );if !_bcf {_dd .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 _ea ;};_dd .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_ga .String ());_gae :=_ga .Get ("\u0063\u0061");if _gae !=nil {_gef ,_fdce :=_cdg .GetNumberAsFloat (_gae );if _fdce ==nil {_ade ,_fbc :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );
if _fbc !=nil {_dd .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 ;};_cccaf ,_dg :=_ade .(*_be .PdfColorDeviceRGB );if !_dg {_dd .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
return _fbc ;};_ebc .SetFillRGBA (_cccaf .R (),_cccaf .G (),_cccaf .B (),_gef );};};case "\u006d":if len (_ac .Params )!=2{_dd .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",_dbb );
return nil ;};_ggd ,_abd :=_cdg .GetNumbersAsFloat (_ac .Params );if _abd !=nil {return _abd ;};_dd .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_ggd );_ebc .NewSubPath ();_ebc .MoveTo (_ggd [0],_ggd [1]);case "\u006c":if len (_ac .Params )!=2{_dd .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",_dbb );
return nil ;};_dfa ,_ecf :=_cdg .GetNumbersAsFloat (_ac .Params );if _ecf !=nil {return _ecf ;};_ebc .LineTo (_dfa [0],_dfa [1]);case "\u0063":if len (_ac .Params )!=6{return _dbb ;};_bee ,_fab :=_cdg .GetNumbersAsFloat (_ac .Params );if _fab !=nil {return _fab ;
};_dd .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_bee );_ebc .CubicTo (_bee [0],_bee [1],_bee [2],_bee [3],_bee [4],_bee [5]);case "\u0076","\u0079":if len (_ac .Params )!=4{return _dbb ;
};_aca ,_eff :=_cdg .GetNumbersAsFloat (_ac .Params );if _eff !=nil {return _eff ;};_dd .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_aca );_ebc .QuadraticTo (_aca [0],_aca [1],_aca [2],_aca [3]);
case "\u0068":_ebc .ClosePath ();_ebc .NewSubPath ();case "\u0072\u0065":if len (_ac .Params )!=4{return _dbb ;};_eeg ,_cdac :=_cdg .GetNumbersAsFloat (_ac .Params );if _cdac !=nil {return _cdac ;};_ebc .DrawRectangle (_eeg [0],_eeg [1],_eeg [2],_eeg [3]);
_ebc .NewSubPath ();case "\u0053":_bdd ,_bbff :=_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _bbff !=nil {_dd .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",_bbff );
return _bbff ;};_afa ,_fdcb :=_bdd .(*_be .PdfColorDeviceRGB );if !_fdcb {_dd .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _bbff ;};_ebc .SetRGBA (_afa .R (),_afa .G (),_afa .B (),1);
_ebc .Stroke ();case "\u0073":_bce ,_cge :=_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _cge !=nil {_dd .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",_cge );
return _cge ;};_dbg ,_gegg :=_bce .(*_be .PdfColorDeviceRGB );if !_gegg {_dd .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _cge ;};_ebc .ClosePath ();_ebc .NewSubPath ();
_ebc .SetRGBA (_dbg .R (),_dbg .G (),_dbg .B (),1);_ebc .Stroke ();case "\u0066","\u0046":_feb ,_bcc :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );if _bcc !=nil {_dd .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 _bcc ;};switch _cbgg :=_feb .(type ){case *_be .PdfColorDeviceRGB :_ebc .SetRGBA (_cbgg .R (),_cbgg .G (),_cbgg .B (),1);_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .Fill ();case *_be .PdfColorPattern :_ebc .Fill ();};_dd .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
case "\u0066\u002a":_bgca ,_bda :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );if _bda !=nil {_dd .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",_bda );
return _bda ;};_deb ,_ddgb :=_bgca .(*_be .PdfColorDeviceRGB );if !_ddgb {_dd .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _bda ;};_ebc .SetRGBA (_deb .R (),_deb .G (),_deb .B (),1);
_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .Fill ();case "\u0042":_ega ,_agd :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );if _agd !=nil {_dd .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",_agd );
return _agd ;};switch _ead :=_ega .(type ){case *_be .PdfColorDeviceRGB :_ebc .SetRGBA (_ead .R (),_ead .G (),_ead .B (),1);_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .FillPreserve ();_ega ,_agd =_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );
if _agd !=nil {_dd .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",_agd );return _agd ;};if _gag ,_cdc :=_ega .(*_be .PdfColorDeviceRGB );
_cdc {_ebc .SetRGBA (_gag .R (),_gag .G (),_gag .B (),1);_ebc .Stroke ();};case *_be .PdfColorPattern :_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .Fill ();_ebc .StrokePattern ();};case "\u0042\u002a":_afag ,_gcb :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );
if _gcb !=nil {_dd .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",_gcb );return _gcb ;};switch _daf :=_afag .(type ){case *_be .PdfColorDeviceRGB :_ebc .SetRGBA (_daf .R (),_daf .G (),_daf .B (),1);
_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .FillPreserve ();_afag ,_gcb =_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _gcb !=nil {_dd .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",_gcb );
return _gcb ;};if _bcee ,_dec :=_afag .(*_be .PdfColorDeviceRGB );_dec {_ebc .SetRGBA (_bcee .R (),_bcee .G (),_bcee .B (),1);_ebc .Stroke ();};case *_be .PdfColorPattern :_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .Fill ();_ebc .StrokePattern ();};
case "\u0062":_ebc .ClosePath ();_bcdd ,_aac :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );if _aac !=nil {_dd .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",_aac );
return _aac ;};switch _egf :=_bcdd .(type ){case *_be .PdfColorDeviceRGB :_ebc .SetRGBA (_egf .R (),_egf .G (),_egf .B (),1);_ebc .NewSubPath ();_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .FillPreserve ();_bcdd ,_aac =_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );
if _aac !=nil {_dd .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",_aac );return _aac ;};if _eae ,_gea :=_bcdd .(*_be .PdfColorDeviceRGB );
_gea {_ebc .SetRGBA (_eae .R (),_eae .G (),_eae .B (),1);_ebc .Stroke ();};case *_be .PdfColorPattern :_ebc .NewSubPath ();_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .Fill ();_ebc .StrokePattern ();};case "\u0062\u002a":_ebc .ClosePath ();_adg ,_cffd :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );
if _cffd !=nil {_dd .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",_cffd );return _cffd ;};switch _ddga :=_adg .(type ){case *_be .PdfColorDeviceRGB :_ebc .SetRGBA (_ddga .R (),_ddga .G (),_ddga .B (),1);
_ebc .NewSubPath ();_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .FillPreserve ();_adg ,_cffd =_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _cffd !=nil {_dd .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",_cffd );
return _cffd ;};if _acb ,_egc :=_adg .(*_be .PdfColorDeviceRGB );_egc {_ebc .SetRGBA (_acb .R (),_acb .G (),_acb .B (),1);_ebc .Stroke ();};case *_be .PdfColorPattern :_ebc .NewSubPath ();_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .Fill ();_ebc .StrokePattern ();
};case "\u006e":_ebc .ClearPath ();case "\u0057":_ebc .SetFillRule (_ge .FillRuleWinding );_ebc .ClipPreserve ();case "\u0057\u002a":_ebc .SetFillRule (_ge .FillRuleEvenOdd );_ebc .ClipPreserve ();case "\u0072\u0067":_faba ,_fdgb :=_geg .ColorNonStroking .(*_be .PdfColorDeviceRGB );
if !_fdgb {_dd .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 .ColorNonStroking );return nil ;};_ebc .SetFillRGBA (_faba .R (),_faba .G (),_faba .B (),1);
case "\u0052\u0047":_ffa ,_cad :=_geg .ColorStroking .(*_be .PdfColorDeviceRGB );if !_cad {_dd .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 .ColorStroking );
return nil ;};_ebc .SetStrokeRGBA (_ffa .R (),_ffa .G (),_ffa .B (),1);case "\u006b":_ada ,_ggb :=_geg .ColorNonStroking .(*_be .PdfColorDeviceCMYK );if !_ggb {_dd .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 .ColorNonStroking );
return nil ;};_bcfe ,_ebcg :=_geg .ColorspaceNonStroking .ColorToRGB (_ada );if _ebcg !=nil {_dd .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 .ColorNonStroking );
return nil ;};_agf ,_ggb :=_bcfe .(*_be .PdfColorDeviceRGB );if !_ggb {_dd .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",_bcfe );return nil ;
};_ebc .SetFillRGBA (_agf .R (),_agf .G (),_agf .B (),1);case "\u004b":_gff ,_cba :=_geg .ColorStroking .(*_be .PdfColorDeviceCMYK );if !_cba {_dd .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 .ColorStroking );
return nil ;};_cgb ,_gbb :=_geg .ColorspaceStroking .ColorToRGB (_gff );if _gbb !=nil {_dd .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 .ColorStroking );
return nil ;};_dgg ,_cba :=_cgb .(*_be .PdfColorDeviceRGB );if !_cba {_dd .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cgb );return nil ;
};_ebc .SetStrokeRGBA (_dgg .R (),_dgg .G (),_dgg .B (),1);case "\u0067":_gbd ,_gaga :=_geg .ColorNonStroking .(*_be .PdfColorDeviceGray );if !_gaga {_dd .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 .ColorNonStroking );
return nil ;};_dbea ,_gab :=_geg .ColorspaceNonStroking .ColorToRGB (_gbd );if _gab !=nil {_dd .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 .ColorNonStroking );
return nil ;};_fbd ,_gaga :=_dbea .(*_be .PdfColorDeviceRGB );if !_gaga {_dd .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",_dbea );return nil ;
};_ebc .SetFillRGBA (_fbd .R (),_fbd .G (),_fbd .B (),1);case "\u0047":_eef ,_adea :=_geg .ColorStroking .(*_be .PdfColorDeviceGray );if !_adea {_dd .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 .ColorStroking );
return nil ;};_aff ,_bfe :=_geg .ColorspaceStroking .ColorToRGB (_eef );if _bfe !=nil {_dd .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 .ColorStroking );
return nil ;};_beb ,_adea :=_aff .(*_be .PdfColorDeviceRGB );if !_adea {_dd .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",_aff );return nil ;
};_ebc .SetStrokeRGBA (_beb .R (),_beb .G (),_beb .B (),1);case "\u0063\u0073":if len (_ac .Params )> 0{if _bcfef ,_ggg :=_cdg .GetName (_ac .Params [0]);_ggg &&_bcfef .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_egb ,_bgcg :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );
if _bgcg !=nil {_dd .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 .ColorNonStroking );return nil ;};_dgf ,_fdgd :=_egb .(*_be .PdfColorDeviceRGB );
if !_fdgd {_dd .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_egb );return nil ;};_ebc .SetFillRGBA (_dgf .R (),_dgf .G (),_dgf .B (),1);
case "\u0073\u0063":_befg ,_gfe :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );if _gfe !=nil {_dd .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 .ColorNonStroking );
return nil ;};_dcd ,_cgg :=_befg .(*_be .PdfColorDeviceRGB );if !_cgg {_dd .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",_befg );return nil ;
};_ebc .SetFillRGBA (_dcd .R (),_dcd .G (),_dcd .B (),1);case "\u0073\u0063\u006e":if len (_ac .Params )> 0&&len (_eg .Params )> 0{if _cbde ,_egg :=_cdg .GetName (_eg .Params [0]);_egg &&_cbde .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _dba ,_eadc :=_cdg .GetName (_ac .Params [0]);
_eadc {_ed ,_fea :=_gcc .processGradient (_ebc ,_ac ,_ebd ,_dba );if _fea !=nil {_dd .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",_fea );
break ;};if _ed ==nil {_dd .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_ebc .SetFillStyle (_ed );_ebc .SetStrokeStyle (_ed );break ;};};};_bbd ,_bcde :=_geg .ColorspaceNonStroking .ColorToRGB (_geg .ColorNonStroking );
if _bcde !=nil {_dd .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 .ColorNonStroking );return nil ;};_bca ,_ggf :=_bbd .(*_be .PdfColorDeviceRGB );
if !_ggf {_dd .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 ;};_ebc .SetFillRGBA (_bca .R (),_bca .G (),_bca .B (),1);
case "\u0043\u0053":if len (_ac .Params )> 0{if _feba ,_fabf :=_cdg .GetName (_ac .Params [0]);_fabf &&_feba .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_gbe ,_afe :=_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _afe !=nil {_dd .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 .ColorStroking );
return nil ;};_bbc ,_bcfb :=_gbe .(*_be .PdfColorDeviceRGB );if !_bcfb {_dd .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_gbe );return nil ;
};_ebc .SetStrokeRGBA (_bbc .R (),_bbc .G (),_bbc .B (),1);case "\u0053\u0043":_eda ,_dfb :=_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );if _dfb !=nil {_dd .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 .ColorStroking );
return nil ;};_efb ,_gdg :=_eda .(*_be .PdfColorDeviceRGB );if !_gdg {_dd .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",_eda );return nil ;
};_ebc .SetStrokeRGBA (_efb .R (),_efb .G (),_efb .B (),1);case "\u0053\u0043\u004e":if len (_ac .Params )> 0&&len (_eg .Params )> 0{if _dab ,_ba :=_cdg .GetName (_eg .Params [0]);_ba &&_dab .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _ce ,_aag :=_cdg .GetName (_ac .Params [0]);
_aag {_cea ,_dgd :=_gcc .processGradient (_ebc ,_ac ,_ebd ,_ce );if _dgd !=nil {_dd .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",_dgd );
break ;};if _cea ==nil {_dd .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_ebc .SetFillStyle (_cea );_ebc .SetStrokeStyle (_cea );break ;};};};_dbad ,_eee :=_geg .ColorspaceStroking .ColorToRGB (_geg .ColorStroking );
if _eee !=nil {_dd .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 .ColorStroking );return nil ;};_ccb ,_caa :=_dbad .(*_be .PdfColorDeviceRGB );
if !_caa {_dd .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",_dbad );return nil ;};_ebc .SetStrokeRGBA (_ccb .R (),_ccb .G (),_ccb .B (),1);
case "\u0073\u0068":if len (_ac .Params )!=1{_dd .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 ;};_bfd ,_gege :=_cdg .GetName (_ac .Params [0]);
if !_gege {_dd .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 ;};_fdd ,_gege :=_ebd .GetShadingByName (*_bfd );if !_gege {_dd .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 ;};_eaed ,_age ,_gdd :=_gcc .processShading (_ebc ,_fdd );if _gdd !=nil {_dd .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",_gdd );
break ;};if _eaed ==nil {_dd .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_gbg ,_gdd :=_age .ToFloat64Array ();if _gdd !=nil {_dd .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",_gdd );
break ;};_ebc .DrawRectangle (_gbg [0],_gbg [1],_gbg [2],_gbg [3]);_ebc .NewSubPath ();_ebc .SetFillStyle (_eaed );_ebc .SetStrokeStyle (_eaed );_ebc .Fill ();case "\u0044\u006f":if len (_ac .Params )!=1{return _dbb ;};_dgda ,_geba :=_cdg .GetName (_ac .Params [0]);
if !_geba {return _ea ;};_ ,_fbec :=_ebd .GetXObjectByName (*_dgda );switch _fbec {case _be .XObjectTypeImage :_dd .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_dgda .String ());_acd ,_feaf :=_ebd .GetXObjectImageByName (*_dgda );
if _feaf !=nil {return _feaf ;};_efc ,_feaf :=_acd .ToImage ();if _feaf !=nil {_dd .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",_feaf );
return nil ;};if _fgb :=_acd .ColorSpace ;_fgb !=nil {var _dgc bool ;switch _fgb .(type ){case *_be .PdfColorspaceSpecialIndexed :_dgc =true ;};if _dgc {if _dddd ,_aee :=_fgb .ImageToRGB (*_efc );_aee !=nil {_dd .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 {_efc =&_dddd ;};};};_feff :=_ebc .FillPattern ().ColorAt (0,0);var _gad _g .Image ;if _acd .Mask !=nil {if _gad ,_feaf =_fcd (_acd .Mask ,_feff );_feaf !=nil {_dd .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 _acd .SMask !=nil {if _gad ,_feaf =_deg (_acd .SMask ,_feff );_feaf !=nil {_dd .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 _ebdb _g .Image ;if _ddc ,_ :=_cdg .GetBoolVal (_acd .ImageMask );_ddc {_ebdb =_acg (_efc ,_feff );}else {_ebdb ,_feaf =_efc .ToGoImage ();if _feaf !=nil {_dd .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",_feaf );
return nil ;};};if _gad !=nil {_ebdb =_aabb (_ebdb ,_gad );};_cac :=_ebdb .Bounds ();_ebc .Push ();_ebc .Scale (1.0/float64 (_cac .Dx ()),-1.0/float64 (_cac .Dy ()));_ebc .DrawImageAnchored (_ebdb ,0,0,0,1);_ebc .Pop ();case _be .XObjectTypeForm :_dd .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_dgda .String ());
_dcb ,_cae :=_ebd .GetXObjectFormByName (*_dgda );if _cae !=nil {return _cae ;};_cbff ,_cae :=_dcb .GetContentStream ();if _cae !=nil {return _cae ;};_cbc :=_dcb .Resources ;if _cbc ==nil {_cbc =_ebd ;};_ebc .Push ();if _dcb .Matrix !=nil {_febe ,_agda :=_cdg .GetArray (_dcb .Matrix );
if !_agda {return _ea ;};_eba ,_bba :=_cdg .GetNumbersAsFloat (_febe .Elements ());if _bba !=nil {return _bba ;};if len (_eba )!=6{return _dbb ;};_gada :=_ff .NewMatrix (_eba [0],_eba [1],_eba [2],_eba [3],_eba [4],_eba [5]);_ebc .SetMatrix (_ebc .Matrix ().Mult (_gada ));
};if _dcb .BBox !=nil {_gac ,_gbbf :=_cdg .GetArray (_dcb .BBox );if !_gbbf {return _ea ;};_dbc ,_cec :=_cdg .GetNumbersAsFloat (_gac .Elements ());if _cec !=nil {return _cec ;};if len (_dbc )!=4{_dd .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_dbc ));
return _dbb ;};_ebc .DrawRectangle (_dbc [0],_dbc [1],_dbc [2]-_dbc [0],_dbc [3]-_dbc [1]);_ebc .SetRGBA (1,0,0,1);_ebc .Clip ();}else {_dd .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");
};_cae =_gcc .renderContentStream (_ebc ,string (_cbff ),_cbc );if _cae !=nil {return _cae ;};_ebc .Pop ();};case "\u0042\u0049":if len (_ac .Params )!=1{return _dbb ;};_ffaa ,_gbf :=_ac .Params [0].(*_gg .ContentStreamInlineImage );if !_gbf {return nil ;
};_dbca ,_dddf :=_ffaa .ToImage (_ebd );if _dddf !=nil {_dd .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",_dddf );
return nil ;};_fbgc ,_dddf :=_dbca .ToGoImage ();if _dddf !=nil {_dd .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",_dddf );
return nil ;};_aab :=_fbgc .Bounds ();_ebc .Push ();_ebc .Scale (1.0/float64 (_aab .Dx ()),-1.0/float64 (_aab .Dy ()));_ebc .DrawImageAnchored (_fbgc ,0,0,0,1);_ebc .Pop ();case "\u0042\u0054":_bge .Reset ();case "\u0045\u0054":_bge .Reset ();case "\u0054\u0072":if len (_ac .Params )!=1{return _dbb ;
};_ege ,_bdf :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _bdf !=nil {return _bdf ;};_bge .Tr =_ge .TextRenderingMode (_ege );case "\u0054\u004c":if len (_ac .Params )!=1{return _dbb ;};_baf ,_cga :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _cga !=nil {return _cga ;
};_bge .Tl =_baf ;case "\u0054\u0063":if len (_ac .Params )!=1{return _dbb ;};_ccd ,_gcf :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _gcf !=nil {return _gcf ;};_dd .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_ccd );_bge .Tc =_ccd ;case "\u0054\u0077":if len (_ac .Params )!=1{return _dbb ;
};_dcg ,_ggc :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _ggc !=nil {return _ggc ;};_dd .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_dcg );_bge .Tw =_dcg ;case "\u0054\u007a":if len (_ac .Params )!=1{return _dbb ;};_ggbe ,_bgb :=_cdg .GetNumberAsFloat (_ac .Params [0]);
if _bgb !=nil {return _bgb ;};_bge .Th =_ggbe ;case "\u0054\u0073":if len (_ac .Params )!=1{return _dbb ;};_gga ,_dad :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _dad !=nil {return _dad ;};_bge .Ts =_gga ;case "\u0054\u0064":if len (_ac .Params )!=2{return _dbb ;
};_bgf ,_edd :=_cdg .GetNumbersAsFloat (_ac .Params );if _edd !=nil {return _edd ;};_dd .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_bgf );_bge .ProcTd (_bgf [0],_bgf [1]);case "\u0054\u0044":if len (_ac .Params )!=2{return _dbb ;};_cfd ,_gcbf :=_cdg .GetNumbersAsFloat (_ac .Params );
if _gcbf !=nil {return _gcbf ;};_dd .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_cfd );_bge .ProcTD (_cfd [0],_cfd [1]);case "\u0054\u002a":_bge .ProcTStar ();case "\u0054\u006d":if len (_ac .Params )!=6{return _dbb ;};_fed ,_bbe :=_cdg .GetNumbersAsFloat (_ac .Params );
if _bbe !=nil {return _bbe ;};_dd .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_fed );_bge .ProcTm (_fed [0],_fed [1],_fed [2],_fed [3],_fed [4],_fed [5]);case "\u0027":if len (_ac .Params )!=1{return _dbb ;
};_geaa ,_ecfe :=_cdg .GetStringBytes (_ac .Params [0]);if !_ecfe {return _ea ;};_dd .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_geaa ));_bge .ProcQ (_geaa ,_ebc );case "\u0022":if len (_ac .Params )!=3{return _dbb ;
};_dcf ,_caac :=_cdg .GetNumberAsFloat (_ac .Params [0]);if _caac !=nil {return _caac ;};_cgef ,_caac :=_cdg .GetNumberAsFloat (_ac .Params [1]);if _caac !=nil {return _caac ;};_aba ,_abag :=_cdg .GetStringBytes (_ac .Params [2]);if !_abag {return _ea ;
};_bge .ProcDQ (_aba ,_dcf ,_cgef ,_ebc );case "\u0054\u006a":if len (_ac .Params )!=1{return _dbb ;};_gdf ,_ggab :=_cdg .GetStringBytes (_ac .Params [0]);if !_ggab {return _ea ;};_dd .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_gdf ));
_bge .ProcTj (_gdf ,_ebc );case "\u0054\u004a":if len (_ac .Params )!=1{return _dbb ;};_gec ,_egad :=_cdg .GetArray (_ac .Params [0]);if !_egad {_dd .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_gec );return _ea ;};_dd .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_gec );
for _ ,_abf :=range _gec .Elements (){switch _aae :=_abf .(type ){case *_cdg .PdfObjectString :if _aae !=nil {_bge .ProcTj (_aae .Bytes (),_ebc );};case *_cdg .PdfObjectFloat ,*_cdg .PdfObjectInteger :_dea ,_gbbc :=_cdg .GetNumberAsFloat (_aae );if _gbbc ==nil {_bge .Translate (-_dea *0.001*_bge .Tf .Size *_bge .Th /100.0,0);
};};};case "\u0054\u0066":if len (_ac .Params )!=2{return _dbb ;};_dd .Log .Debug ("\u0025\u0023\u0076",_ac .Params );_fbgd ,_cab :=_cdg .GetName (_ac .Params [0]);if !_cab ||_fbgd ==nil {_dd .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",_ac .Params [0]);
return _ea ;};_dd .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_fbgd .String ());_cbad ,_aeeg :=_cdg .GetNumberAsFloat (_ac .Params [1]);if _aeeg !=nil {_dd .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",_ac .Params [1]);
return _ea ;};_dd .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_cbad );_ccdf ,_acdf :=_ebd .GetFontByName (*_fbgd );if !_acdf {_dd .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_fbgd .String ());
return _d .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_dd .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_ccdf );_effa ,_cab :=_cdg .GetDict (_ccdf );if !_cab {_dd .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 _ea ;};_fde ,_aeeg :=_be .NewPdfFontFromPdfObject (_effa );if _aeeg !=nil {_dd .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 _aeeg ;};_bcff :=_fde .BaseFont ();if _bcff ==""{_bcff =_fbgd .String ();};_cfg ,_cab :=_bfa [_bcff ];if !_cab {_cfg ,_aeeg =_ge .NewTextFont (_fde ,_cbad );if _aeeg !=nil {_dd .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_aeeg );
};};if _cfg ==nil {if len (_bcff )> 7&&_bcff [6]=='+'{_bcff =_bcff [7:];};_ddb :=[]string {_bcff ,"\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 _ ,_gfa :=range _ddb {_dd .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",_gfa );if _cfg ,_cab =_bfa [_gfa ];
_cab {break ;};_feac :=_fdc .Match (_gfa );if _feac ==nil {_dd .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",_gfa );continue ;};_cfg ,_aeeg =_ge .NewTextFontFromPath (_feac .Filename ,_cbad );
if _aeeg !=nil {_dd .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",_feac .Filename );continue ;};_dd .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",_bcff ,_feac .Name ,_feac .Filename );
_bfa [_gfa ]=_cfg ;break ;};};if _cfg ==nil {_dd .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020n\u006f\u0074\u0020\u0066\u0069\u006ed\u0020\u0061\u006e\u0079\u0020\u0073\u0075\u0069\u0074\u0061\u0062\u006c\u0065 \u0066\u006f\u006e\u0074");
return _d .New ("\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0066\u0069\u006e\u0064\u0020a\u006ey\u0020\u0073\u0075\u0069\u0074\u0061\u0062\u006c\u0065\u0020\u0066\u006f\u006e\u0074");};_bge .ProcTf (_cfg .WithSize (_cbad ,_fde ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_dd .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",_ac .Operand );
};_eg =_ac ;return nil ;});_agbe =_dce .Process (_bd );if _agbe !=nil {return _agbe ;};return nil ;};
// RenderToPath converts the specified PDF page into an image and saves the
// result at the specified location.
func (_bg *ImageDevice )RenderToPath (page *_be .PdfPage ,outputPath string )error {_cbg ,_faf :=_bg .Render (page );if _faf !=nil {return _faf ;};_ad :=_b .ToLower (_db .Ext (outputPath ));if _ad ==""{return _d .New ("\u0063\u006ful\u0064\u0020\u006eo\u0074\u0020\u0072\u0065cog\u006eiz\u0065\u0020\u006f\u0075\u0074\u0070\u0075t \u0066\u0069\u006c\u0065\u0020\u0074\u0079p\u0065");
};switch _ad {case "\u002e\u0070\u006e\u0067":return _gcd (outputPath ,_cbg );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _bebf (outputPath ,_cbg ,100);};return _bb .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",_ad );
};