// // Copyright 2020 FoxyUtils ehf. All rights reserved. // // This is a commercial product and requires a license to operate. // A trial license can be obtained at https://unidoc.io // // DO NOT EDIT: generated by unitwist Go source code obfuscator. // // Use of this source code is governed by the UniDoc End User License Agreement // terms that can be accessed at https://unidoc.io/eula/ package render ;import (_c "errors";_ge "fmt";_cgc "github.com/adrg/sysfont";_cga "github.com/unidoc/unipdf/v3/common";_ac "github.com/unidoc/unipdf/v3/contentstream";_cg "github.com/unidoc/unipdf/v3/contentstream/draw";_a "github.com/unidoc/unipdf/v3/core"; _gd "github.com/unidoc/unipdf/v3/internal/license";_gb "github.com/unidoc/unipdf/v3/internal/transform";_abc "github.com/unidoc/unipdf/v3/model";_fa "github.com/unidoc/unipdf/v3/render/internal/context";_ab "github.com/unidoc/unipdf/v3/render/internal/context/imagerender"; _f "golang.org/x/image/draw";_da "image";_d "image/color";_bb "image/draw";_bc "image/jpeg";_bbf "image/png";_cd "math";_g "os";_b "path/filepath";_eg "strings";); // RenderToPath converts the specified PDF page into an image and saves the // result at the specified location. func (_de *ImageDevice )RenderToPath (page *_abc .PdfPage ,outputPath string )error {_afc ,_faf :=_de .Render (page );if _faf !=nil {return _faf ;};_dg :=_eg .ToLower (_b .Ext (outputPath ));if _dg ==""{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 _dg {case "\u002e\u0070\u006e\u0067":return _bfbf (outputPath ,_afc );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _gfa (outputPath ,_afc ,100);};return _ge .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",_dg ); };type renderer struct{_bba float64 };func (_dce renderer )renderContentStream (_dec _fa .Context ,_cdd string ,_fgb *_abc .PdfPageResources )error {_gdf ,_ba :=_ac .NewContentStreamParser (_cdd ).Parse ();if _ba !=nil {return _ba ;};_bfc :=_dec .TextState (); _bfc .GlobalScale =_dce ._bba ;_ccd :=map[string ]*_fa .TextFont {};_ccg :=_cgc .NewFinder (&_cgc .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});_gc :=_ac .NewContentStreamProcessor (*_gdf );_gc .AddHandler (_ac .HandlerConditionEnumAllOperands ,"",func (_cb *_ac .ContentStreamOperation ,_aa _ac .GraphicsState ,_fge *_abc .PdfPageResources )error {_cga .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_cb .Operand ); switch _cb .Operand {case "\u0071":_dec .Push ();case "\u0051":_dec .Pop ();_bfc =_dec .TextState ();case "\u0063\u006d":if len (_cb .Params )!=6{return _bf ;};_cac ,_fe :=_a .GetNumbersAsFloat (_cb .Params );if _fe !=nil {return _fe ;};_abe :=_gb .NewMatrix (_cac [0],_cac [1],_cac [2],_cac [3],_cac [4],_cac [5]); _cga .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",_abe );_dec .SetMatrix (_dec .Matrix ().Mult (_abe ));case "\u0077":if len (_cb .Params )!=1{return _bf ; };_bcc ,_bce :=_a .GetNumbersAsFloat (_cb .Params );if _bce !=nil {return _bce ;};_dec .SetLineWidth (_bcc [0]);case "\u004a":if len (_cb .Params )!=1{return _bf ;};_gca ,_ga :=_a .GetIntVal (_cb .Params [0]);if !_ga {return _ce ;};switch _gca {case 0:_dec .SetLineCap (_fa .LineCapButt ); case 1:_dec .SetLineCap (_fa .LineCapRound );case 2:_dec .SetLineCap (_fa .LineCapSquare );default:_cga .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",_gca ); return _bf ;};case "\u006a":if len (_cb .Params )!=1{return _bf ;};_gcc ,_ada :=_a .GetIntVal (_cb .Params [0]);if !_ada {return _ce ;};switch _gcc {case 0:_dec .SetLineJoin (_fa .LineJoinBevel );case 1:_dec .SetLineJoin (_fa .LineJoinRound );case 2:_dec .SetLineJoin (_fa .LineJoinBevel ); default:_cga .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",_gcc );return _bf ;};case "\u004d":if len (_cb .Params )!=1{return _bf ;};_fb ,_ggf :=_a .GetNumbersAsFloat (_cb .Params ); if _ggf !=nil {return _ggf ;};_ =_fb ;_cga .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 (_cb .Params )!=2{return _bf ;};_ace ,_fga :=_a .GetArray (_cb .Params [0]); if !_fga {return _ce ;};_bac ,_fga :=_a .GetIntVal (_cb .Params [1]);if !_fga {return _ce ;};_abd ,_gde :=_a .GetNumbersAsFloat (_ace .Elements ());if _gde !=nil {return _gde ;};_dec .SetDash (_abd ...);_ =_bac ;_cga .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":_cga .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":_cga .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 (_cb .Params )!=1{return _bf ;};_bff ,_ceb :=_a .GetName (_cb .Params [0]);if !_ceb {return _ce ;};if _bff ==nil {return _bf ;};_eeda ,_ceb :=_fge .GetExtGState (*_bff );if !_ceb {_cga .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",*_bff ); return _c .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_ccc ,_ceb :=_a .GetDict (_eeda );if !_ceb {_cga .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 _ce ;};_cga .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_ccc .String ());case "\u006d":if len (_cb .Params )!=2{_cga .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",_bf ); return nil ;};_bfd ,_ed :=_a .GetNumbersAsFloat (_cb .Params );if _ed !=nil {return _ed ;};_cga .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_bfd );_dec .NewSubPath ();_dec .MoveTo (_bfd [0],_bfd [1]);case "\u006c":if len (_cb .Params )!=2{_cga .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",_bf ); return nil ;};_agd ,_gag :=_a .GetNumbersAsFloat (_cb .Params );if _gag !=nil {return _gag ;};_dec .LineTo (_agd [0],_agd [1]);case "\u0063":if len (_cb .Params )!=6{return _bf ;};_be ,_bda :=_a .GetNumbersAsFloat (_cb .Params );if _bda !=nil {return _bda ; };_cga .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_be );_dec .CubicTo (_be [0],_be [1],_be [2],_be [3],_be [4],_be [5]);case "\u0076","\u0079":if len (_cb .Params )!=4{return _bf ; };_bcb ,_aae :=_a .GetNumbersAsFloat (_cb .Params );if _aae !=nil {return _aae ;};_cga .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_bcb );_dec .QuadraticTo (_bcb [0],_bcb [1],_bcb [2],_bcb [3]); case "\u0068":_dec .ClosePath ();_dec .NewSubPath ();case "\u0072\u0065":if len (_cb .Params )!=4{return _bf ;};_gbg ,_fae :=_a .GetNumbersAsFloat (_cb .Params );if _fae !=nil {return _fae ;};_dec .DrawRectangle (_gbg [0],_gbg [1],_gbg [2],_gbg [3]);_dec .NewSubPath (); case "\u0053":_eeb ,_gf :=_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking );if _gf !=nil {_cga .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",_gf ); return _gf ;};_feb ,_cdc :=_eeb .(*_abc .PdfColorDeviceRGB );if !_cdc {_cga .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _gf ;};_dec .SetRGBA (_feb .R (),_feb .G (),_feb .B (),1); _dec .Stroke ();case "\u0073":_ebe ,_edd :=_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking );if _edd !=nil {_cga .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",_edd ); return _edd ;};_eef ,_egf :=_ebe .(*_abc .PdfColorDeviceRGB );if !_egf {_cga .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _edd ;};_dec .ClosePath ();_dec .NewSubPath (); _dec .SetRGBA (_eef .R (),_eef .G (),_eef .B (),1);_dec .Stroke ();case "\u0066","\u0046":_fgbe ,_dcdf :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _dcdf !=nil {_cga .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",_dcdf ); return _dcdf ;};_aaf ,_ccff :=_fgbe .(*_abc .PdfColorDeviceRGB );if !_ccff {_cga .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _dcdf ;};_dec .SetRGBA (_aaf .R (),_aaf .G (),_aaf .B (),1); _dec .SetFillRule (_fa .FillRuleWinding );_dec .Fill ();case "\u0066\u002a":_gcca ,_aee :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _aee !=nil {_cga .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",_aee ); return _aee ;};_agdg ,_dd :=_gcca .(*_abc .PdfColorDeviceRGB );if !_dd {_cga .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _aee ;};_dec .SetRGBA (_agdg .R (),_agdg .G (),_agdg .B (),1); _dec .SetFillRule (_fa .FillRuleEvenOdd );_dec .Fill ();case "\u0042":_efe ,_cfc :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _cfc !=nil {_cga .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",_cfc ); return _cfc ;};_geg :=_efe .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_geg .R (),_geg .G (),_geg .B (),1);_dec .SetFillRule (_fa .FillRuleWinding );_dec .FillPreserve ();_efe ,_cfc =_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking );if _cfc !=nil {_cga .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",_cfc ); return _cfc ;};_geg =_efe .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_geg .R (),_geg .G (),_geg .B (),1);_dec .Stroke ();case "\u0042\u002a":_dfg ,_fgg :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _fgg !=nil {_cga .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",_fgg ); return _fgg ;};_gbd :=_dfg .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_gbd .R (),_gbd .G (),_gbd .B (),1);_dec .SetFillRule (_fa .FillRuleEvenOdd );_dec .FillPreserve ();_dfg ,_fgg =_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking );if _fgg !=nil {_cga .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",_fgg ); return _fgg ;};_gbd =_dfg .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_gbd .R (),_gbd .G (),_gbd .B (),1);_dec .Stroke ();case "\u0062":_aca ,_cccb :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _cccb !=nil {_cga .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",_cccb ); return _cccb ;};_gge :=_aca .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_gge .R (),_gge .G (),_gge .B (),1);_dec .ClosePath ();_dec .NewSubPath ();_dec .SetFillRule (_fa .FillRuleWinding );_dec .FillPreserve ();_aca ,_cccb =_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking ); if _cccb !=nil {_cga .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",_cccb );return _cccb ;};_gge =_aca .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_gge .R (),_gge .G (),_gge .B (),1); _dec .Stroke ();case "\u0062\u002a":_dec .ClosePath ();_aed ,_fgeb :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _fgeb !=nil {_cga .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",_fgeb ); return _fgeb ;};_agc :=_aed .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_agc .R (),_agc .G (),_agc .B (),1);_dec .NewSubPath ();_dec .SetFillRule (_fa .FillRuleEvenOdd );_dec .FillPreserve ();_aed ,_fgeb =_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking ); if _fgeb !=nil {_cga .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",_fgeb );return _fgeb ;};_agc =_aed .(*_abc .PdfColorDeviceRGB );_dec .SetRGBA (_agc .R (),_agc .G (),_agc .B (),1); _dec .Stroke ();case "\u006e":_dec .ClearPath ();case "\u0057":_dec .SetFillRule (_fa .FillRuleWinding );_dec .ClipPreserve ();case "\u0057\u002a":_dec .SetFillRule (_fa .FillRuleEvenOdd );_dec .ClipPreserve ();case "\u0072\u0067":_efg ,_gaf :=_aa .ColorNonStroking .(*_abc .PdfColorDeviceRGB ); if !_gaf {_cga .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",_aa .ColorNonStroking );return nil ;};_dec .SetFillRGBA (_efg .R (),_efg .G (),_efg .B (),1); case "\u0052\u0047":_gfg ,_dbg :=_aa .ColorStroking .(*_abc .PdfColorDeviceRGB );if !_dbg {_cga .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",_aa .ColorStroking ); return nil ;};_dec .SetStrokeRGBA (_gfg .R (),_gfg .G (),_gfg .B (),1);case "\u006b":_gccad ,_acd :=_aa .ColorNonStroking .(*_abc .PdfColorDeviceCMYK );if !_acd {_cga .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",_aa .ColorNonStroking ); return nil ;};_ege ,_dgb :=_aa .ColorspaceNonStroking .ColorToRGB (_gccad );if _dgb !=nil {_cga .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",_aa .ColorNonStroking ); return nil ;};_aac ,_acd :=_ege .(*_abc .PdfColorDeviceRGB );if !_acd {_cga .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ege );return nil ; };_dec .SetFillRGBA (_aac .R (),_aac .G (),_aac .B (),1);case "\u004b":_agcg ,_gcd :=_aa .ColorStroking .(*_abc .PdfColorDeviceCMYK );if !_gcd {_cga .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",_aa .ColorStroking ); return nil ;};_dac ,_fcf :=_aa .ColorspaceStroking .ColorToRGB (_agcg );if _fcf !=nil {_cga .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",_aa .ColorStroking ); return nil ;};_ec ,_gcd :=_dac .(*_abc .PdfColorDeviceRGB );if !_gcd {_cga .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",_dac );return nil ; };_dec .SetStrokeRGBA (_ec .R (),_ec .G (),_ec .B (),1);case "\u0067":_ffe ,_acc :=_aa .ColorNonStroking .(*_abc .PdfColorDeviceGray );if !_acc {_cga .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",_aa .ColorNonStroking ); return nil ;};_dda ,_fbe :=_aa .ColorspaceNonStroking .ColorToRGB (_ffe );if _fbe !=nil {_cga .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",_aa .ColorNonStroking ); return nil ;};_bdc ,_acc :=_dda .(*_abc .PdfColorDeviceRGB );if !_acc {_cga .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",_dda );return nil ; };_dec .SetFillRGBA (_bdc .R (),_bdc .G (),_bdc .B (),1);case "\u0047":_gcaa ,_gdc :=_aa .ColorStroking .(*_abc .PdfColorDeviceGray );if !_gdc {_cga .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",_aa .ColorStroking ); return nil ;};_aedc ,_cgb :=_aa .ColorspaceStroking .ColorToRGB (_gcaa );if _cgb !=nil {_cga .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",_aa .ColorStroking ); return nil ;};_ceg ,_gdc :=_aedc .(*_abc .PdfColorDeviceRGB );if !_gdc {_cga .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",_aedc );return nil ; };_dec .SetStrokeRGBA (_ceg .R (),_ceg .G (),_ceg .B (),1);case "\u0063\u0073","\u0073\u0063","\u0073\u0063\u006e":_cbd ,_cgff :=_aa .ColorspaceNonStroking .ColorToRGB (_aa .ColorNonStroking );if _cgff !=nil {_cga .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",_aa .ColorNonStroking ); return nil ;};_cebd ,_bdd :=_cbd .(*_abc .PdfColorDeviceRGB );if !_bdd {_cga .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",_cbd );return nil ; };_dec .SetFillRGBA (_cebd .R (),_cebd .G (),_cebd .B (),1);case "\u0043\u0053","\u0053\u0043","\u0053\u0043\u004e":_dfgf ,_acdg :=_aa .ColorspaceStroking .ColorToRGB (_aa .ColorStroking );if _acdg !=nil {_cga .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",_aa .ColorStroking ); return nil ;};_gdda ,_gafa :=_dfgf .(*_abc .PdfColorDeviceRGB );if !_gafa {_cga .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",_dfgf );return nil ; };_dec .SetStrokeRGBA (_gdda .R (),_gdda .G (),_gdda .B (),1);case "\u0044\u006f":if len (_cb .Params )!=1{return _bf ;};_dae ,_gcde :=_a .GetName (_cb .Params [0]);if !_gcde {return _ce ;};_ ,_gec :=_fge .GetXObjectByName (*_dae );switch _gec {case _abc .XObjectTypeImage :_cga .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_dae .String ()); _def ,_dfa :=_fge .GetXObjectImageByName (*_dae );if _dfa !=nil {return _dfa ;};_ddg ,_dfa :=_def .ToImage ();if _dfa !=nil {return _dfa ;};if _gcg :=_def .ColorSpace ;_gcg !=nil {var _ccb bool ;switch _gcg .(type ){case *_abc .PdfColorspaceSpecialIndexed :_ccb =true ; };if _ccb {if _gcgg ,_acf :=_gcg .ImageToRGB (*_ddg );_acf !=nil {_cga .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 {_ddg =&_gcgg ;};};};_bdaa :=_dec .FillPattern ().ColorAt (0,0);var _acfg _da .Image ;if _def .Mask !=nil {if _acfg ,_dfa =_cegd (_def .Mask ,_bdaa );_dfa !=nil {_cga .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"); };};var _dbe _da .Image ;if _gfe ,_ :=_a .GetBoolVal (_def .ImageMask );_gfe {_dbe =_dbcg (_ddg ,_bdaa );}else {_dbe ,_dfa =_ddg .ToGoImage ();if _dfa !=nil {return _dfa ;};};if _acfg !=nil {_dbe =_acb (_dbe ,_acfg );};_beb :=_dbe .Bounds ();_dec .Push (); _dec .Scale (1.0/float64 (_beb .Dx ()),-1.0/float64 (_beb .Dy ()));_dec .DrawImageAnchored (_dbe ,0,0,0,1);_dec .Pop ();case _abc .XObjectTypeForm :_cga .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_dae .String ()); _fff ,_ega :=_fge .GetXObjectFormByName (*_dae );if _ega !=nil {return _ega ;};_bgg ,_ega :=_fff .GetContentStream ();if _ega !=nil {return _ega ;};_fce :=_fff .Resources ;if _fce ==nil {_fce =_fge ;};_dec .Push ();if _fff .Matrix !=nil {_efb ,_fd :=_a .GetArray (_fff .Matrix ); if !_fd {return _ce ;};_agg ,_fgf :=_a .GetNumbersAsFloat (_efb .Elements ());if _fgf !=nil {return _fgf ;};if len (_agg )!=6{return _bf ;};_efba :=_gb .NewMatrix (_agg [0],_agg [1],_agg [2],_agg [3],_agg [4],_agg [5]);_dec .SetMatrix (_dec .Matrix ().Mult (_efba )); };if _fff .BBox !=nil {_cdcb ,_bdb :=_a .GetArray (_fff .BBox );if !_bdb {return _ce ;};_dad ,_ebb :=_a .GetNumbersAsFloat (_cdcb .Elements ());if _ebb !=nil {return _ebb ;};if len (_dad )!=4{_cga .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_dad )); return _bf ;};_dec .DrawRectangle (_dad [0],_dad [1],_dad [2]-_dad [0],_dad [3]-_dad [1]);_dec .SetRGBA (1,0,0,1);_dec .Clip ();}else {_cga .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"); };_ega =_dce .renderContentStream (_dec ,string (_bgg ),_fce );if _ega !=nil {return _ega ;};_dec .Pop ();};case "\u0042\u0049":if len (_cb .Params )!=1{return _bf ;};_adac ,_cebe :=_cb .Params [0].(*_ac .ContentStreamInlineImage );if !_cebe {return nil ; };_fgd ,_dea :=_adac .ToImage (_fge );if _dea !=nil {return _dea ;};_efa ,_dea :=_fgd .ToGoImage ();if _dea !=nil {return _dea ;};_dcg :=_efa .Bounds ();_dec .Push ();_dec .Scale (1.0/float64 (_dcg .Dx ()),-1.0/float64 (_dcg .Dy ()));_dec .DrawImageAnchored (_efa ,0,0,0,1); _dec .Pop ();case "\u0042\u0054":_bfc .Reset ();case "\u0045\u0054":_bfc .Reset ();case "\u0054\u0072":if len (_cb .Params )!=1{return _bf ;};_fffa ,_dga :=_a .GetNumberAsFloat (_cb .Params [0]);if _dga !=nil {return _dga ;};_bfc .Tr =_fa .TextRenderingMode (_fffa ); case "\u0054\u004c":if len (_cb .Params )!=1{return _bf ;};_bfb ,_bef :=_a .GetNumberAsFloat (_cb .Params [0]);if _bef !=nil {return _bef ;};_bfc .Tl =_bfb ;case "\u0054\u0063":if len (_cb .Params )!=1{return _bf ;};_gbf ,_fgfe :=_a .GetNumberAsFloat (_cb .Params [0]); if _fgfe !=nil {return _fgfe ;};_cga .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_gbf );_bfc .Tc =_gbf ;case "\u0054\u0077":if len (_cb .Params )!=1{return _bf ;};_ffeg ,_agf :=_a .GetNumberAsFloat (_cb .Params [0]);if _agf !=nil {return _agf ; };_cga .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_ffeg );_bfc .Tw =_ffeg ;case "\u0054\u007a":if len (_cb .Params )!=1{return _bf ;};_age ,_fea :=_a .GetNumberAsFloat (_cb .Params [0]);if _fea !=nil {return _fea ;};_bfc .Th =_age ;case "\u0054\u0073":if len (_cb .Params )!=1{return _bf ; };_ggbb ,_adg :=_a .GetNumberAsFloat (_cb .Params [0]);if _adg !=nil {return _adg ;};_bfc .Ts =_ggbb ;case "\u0054\u0064":if len (_cb .Params )!=2{return _bf ;};_agcb ,_fec :=_a .GetNumbersAsFloat (_cb .Params );if _fec !=nil {return _fec ;};_cga .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_agcb ); _bfc .ProcTd (_agcb [0],_agcb [1]);case "\u0054\u0044":if len (_cb .Params )!=2{return _bf ;};_bab ,_add :=_a .GetNumbersAsFloat (_cb .Params );if _add !=nil {return _add ;};_cga .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_bab );_bfc .ProcTD (_bab [0],_bab [1]); case "\u0054\u002a":_bfc .ProcTStar ();case "\u0054\u006d":if len (_cb .Params )!=6{return _bf ;};_aad ,_fgaf :=_a .GetNumbersAsFloat (_cb .Params );if _fgaf !=nil {return _fgaf ;};_cga .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_aad ); _bfc .ProcTm (_aad [0],_aad [1],_aad [2],_aad [3],_aad [4],_aad [5]);case "\u0027":if len (_cb .Params )!=1{return _bf ;};_faa ,_acae :=_a .GetStringBytes (_cb .Params [0]);if !_acae {return _ce ;};_cga .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_faa )); _bfc .ProcQ (_faa ,_dec );case "\u0022":if len (_cb .Params )!=3{return _bf ;};_gdb ,_dgc :=_a .GetNumberAsFloat (_cb .Params [0]);if _dgc !=nil {return _dgc ;};_dbc ,_dgc :=_a .GetNumberAsFloat (_cb .Params [1]);if _dgc !=nil {return _dgc ;};_dfae ,_adag :=_a .GetStringBytes (_cb .Params [2]); if !_adag {return _ce ;};_bfc .ProcDQ (_dfae ,_gdb ,_dbc ,_dec );case "\u0054\u006a":if len (_cb .Params )!=1{return _bf ;};_dag ,_cfd :=_a .GetStringBytes (_cb .Params [0]);if !_cfd {return _ce ;};_cga .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_dag )); _bfc .ProcTj (_dag ,_dec );case "\u0054\u004a":if len (_cb .Params )!=1{return _bf ;};_fde ,_eec :=_a .GetArray (_cb .Params [0]);if !_eec {_cga .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_fde );return _ce ;};_cga .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_fde ); for _ ,_dde :=range _fde .Elements (){switch _dbgg :=_dde .(type ){case *_a .PdfObjectString :if _dbgg !=nil {_bfc .ProcTj (_dbgg .Bytes (),_dec );};case *_a .PdfObjectFloat ,*_a .PdfObjectInteger :_gfd ,_egee :=_a .GetNumberAsFloat (_dbgg );if _egee ==nil {_bfc .Translate (-_gfd *0.001*_bfc .Tf .Size *_bfc .Th /100.0,0); };};};case "\u0054\u0066":if len (_cb .Params )!=2{return _bf ;};_cga .Log .Debug ("\u0025\u0023\u0076",_cb .Params );_acaea ,_gga :=_a .GetName (_cb .Params [0]);if !_gga ||_acaea ==nil {_cga .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",_cb .Params [0]); return _ce ;};_cga .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_acaea .String ());_cba ,_gad :=_a .GetNumberAsFloat (_cb .Params [1]);if _gad !=nil {_cga .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",_cb .Params [1]); return _ce ;};_cga .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_cba );_cgd ,_cgec :=_fge .GetFontByName (*_acaea );if !_cgec {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_acaea .String ()); return _c .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_cga .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_cgd );_bcd ,_gga :=_a .GetDict (_cgd );if !_gga {_cga .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 _ce ;};_cda ,_gad :=_abc .NewPdfFontFromPdfObject (_bcd );if _gad !=nil {_cga .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 _gad ;};_adb :=_cda .BaseFont ();if _adb ==""{_adb =_acaea .String ();};_eeaa ,_gga :=_ccd [_adb ];if !_gga {_eeaa ,_gad =_fa .NewTextFont (_cda ,_cba );if _gad !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gad );};};if _eeaa ==nil {if len (_adb )> 7&&_adb [6]=='+'{_adb =_adb [7:]; };_bcf :=[]string {_adb ,"\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 _ ,_ccda :=range _bcf {_cga .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",_ccda ); if _eeaa ,_gga =_ccd [_ccda ];_gga {break ;};_bdbb :=_ccg .Match (_ccda );if _bdbb ==nil {_cga .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",_ccda ); continue ;};_eeaa ,_gad =_fa .NewTextFontFromPath (_bdbb .Filename ,_cba );if _gad !=nil {_cga .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",_bdbb .Filename ); continue ;};_cga .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",_adb ,_bdbb .Name ,_bdbb .Filename ); _ccd [_ccda ]=_eeaa ;break ;};};if _eeaa ==nil {_cga .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");};_bfc .ProcTf (_eeaa .WithSize (_cba ,_cda ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_cga .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",_cb .Operand ); };return nil ;});_ba =_gc .Process (_fgb );if _ba !=nil {return _ba ;};return nil ;};func _deb (_bbg ,_ggd ,_ceac float64 )_cg .BoundingBox {return _cg .Path {Points :[]_cg .Point {_cg .NewPoint (0,0).Rotate (_ceac ),_cg .NewPoint (_bbg ,0).Rotate (_ceac ),_cg .NewPoint (0,_ggd ).Rotate (_ceac ),_cg .NewPoint (_bbg ,_ggd ).Rotate (_ceac )}}.GetBoundingBox (); };func _dbcg (_cea *_abc .Image ,_gfc _d .Color )_da .Image {_cfda ,_bggg :=int (_cea .Width ),int (_cea .Height );_eagg :=_da .NewRGBA (_da .Rect (0,0,_cfda ,_bggg ));for _ebbg :=0;_ebbg < _bggg ;_ebbg ++{for _gbc :=0;_gbc < _cfda ;_gbc ++{_bdbf ,_cccf :=_cea .ColorAt (_gbc ,_ebbg ); if _cccf !=nil {_cga .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",_gbc ,_ebbg ); continue ;};_fcff ,_bddg ,_egc ,_ :=_bdbf .RGBA ();var _gbe _d .Color ;if _fcff +_bddg +_egc ==0{_gbe =_gfc ;}else {_gbe =_d .Transparent ;};_eagg .Set (_gbc ,_ebbg ,_gbe );};};return _eagg ;};func _acb (_fgc ,_aedb _da .Image )_da .Image {_bceb ,_fbeb :=_aedb .Bounds ().Size (),_fgc .Bounds ().Size (); _bbdb ,_ffc :=_bceb .X ,_bceb .Y ;if _fbeb .X > _bbdb {_bbdb =_fbeb .X ;};if _fbeb .Y > _ffc {_ffc =_fbeb .Y ;};_abf :=_da .Rect (0,0,_bbdb ,_ffc );if _bceb .X !=_bbdb ||_bceb .Y !=_ffc {_dab :=_da .NewRGBA (_abf );_f .BiLinear .Scale (_dab ,_abf ,_fgc ,_aedb .Bounds (),_f .Over ,nil ); _aedb =_dab ;};if _fbeb .X !=_bbdb ||_fbeb .Y !=_ffc {_cbc :=_da .NewRGBA (_abf );_f .BiLinear .Scale (_cbc ,_abf ,_fgc ,_fgc .Bounds (),_f .Over ,nil );_fgc =_cbc ;};_dcf :=_da .NewRGBA (_abf );_f .DrawMask (_dcf ,_abf ,_fgc ,_da .Point {},_aedb ,_da .Point {},_f .Over ); return _dcf ;}; // Render converts the specified PDF page into an image and returns the result. func (_df *ImageDevice )Render (page *_abc .PdfPage )(_da .Image ,error ){_ee ,_cc :=page .GetMediaBox ();if _cc !=nil {return nil ,_cc ;};_ee .Normalize ();_ca :=page .CropBox ;var _ag ,_fc float64 ;if _ca !=nil {_ca .Normalize ();_ag ,_fc =_ca .Width (),_ca .Height (); };_cf :=page .Rotate ;_ef ,_gba ,_eb ,_ccf :=_ee .Llx ,_ee .Lly ,_ee .Width (),_ee .Height ();_gg :=_gb .IdentityMatrix ();if _cf !=nil &&*_cf %360!=0&&*_cf %90==0{_eea :=-float64 (*_cf );_daf :=_deb (_eb ,_ccf ,_eea );_gg =_gg .Translate ((_daf .Width -_eb )/2+_eb /2,(_daf .Height -_ccf )/2+_ccf /2).Rotate (_eea *_cd .Pi /180).Translate (-_eb /2,-_ccf /2); _eb ,_ccf =_daf .Width ,_daf .Height ;if _ca !=nil {_fg :=_deb (_ag ,_fc ,_eea );_ag ,_fc =_fg .Width ,_fg .Height ;};};if _ef !=0||_gba !=0{_gg =_gg .Translate (-_ef ,-_gba );};_df ._bba =1.0;if _df .OutputWidth !=0{_cgg :=_eb ;if _ca !=nil {_cgg =_ag ; };_df ._bba =float64 (_df .OutputWidth )/_cgg ;_eb ,_ccf ,_ag ,_fc =_eb *_df ._bba ,_ccf *_df ._bba ,_ag *_df ._bba ,_fc *_df ._bba ;_gg =_gb .ScaleMatrix (_df ._bba ,_df ._bba ).Mult (_gg );};_ae :=_ab .NewContext (int (_eb ),int (_ccf ));if _bg :=_df .renderPage (_ae ,page ,_gg ); _bg !=nil {return nil ,_bg ;};_cge :=_ae .Image ();if _ca !=nil {_gbaa ,_dc :=(_ca .Llx -_ef )*_df ._bba ,(_ca .Lly -_gba )*_df ._bba ;_ad :=_da .Rect (0,0,int (_ag ),int (_fc ));_af :=_da .Pt (int (_gbaa ),int (_ccf -_dc -_fc ));_eed :=_da .NewRGBA (_ad ); _bb .Draw (_eed ,_ad ,_cge ,_af ,_bb .Src );_cge =_eed ;};return _cge ,nil ;};func _bfbf (_fdc string ,_geb _da .Image )error {_abdf ,_eac :=_g .Create (_fdc );if _eac !=nil {return _eac ;};defer _abdf .Close ();return _bbf .Encode (_abdf ,_geb );};func _gfa (_eag string ,_bbd _da .Image ,_aff int )error {_efaa ,_adab :=_g .Create (_eag ); if _adab !=nil {return _adab ;};defer _efaa .Close ();return _bc .Encode (_efaa ,_bbd ,&_bc .Options {Quality :_aff });};var (_ce =_c .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");_bf =_c .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"); );func (_cgf renderer )renderPage (_cfe _fa .Context ,_ff *_abc .PdfPage ,_dcd _gb .Matrix )error {_gdd ,_aec :=_ff .GetAllContentStreams ();if _aec !=nil {return _aec ;};if _ggb :=_dcd ;!_ggb .Identity (){_gdd =_ge .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",_ggb [0],_ggb [1],_ggb [3],_ggb [4],_ggb [6],_ggb [7],_gdd ); };_cfe .Translate (0,float64 (_cfe .Height ()));_cfe .Scale (1,-1);_cfe .Push ();_cfe .SetRGBA (1,1,1,1);_cfe .DrawRectangle (0,0,float64 (_cfe .Width ()),float64 (_cfe .Height ()));_cfe .Fill ();_cfe .Pop ();_cfe .SetLineWidth (1.0);_cfe .SetRGBA (0,0,0,1); return _cgf .renderContentStream (_cfe ,_gdd ,_ff .Resources );}; // 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 ;}; // NewImageDevice returns a new image device. func NewImageDevice ()*ImageDevice {const _db ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_gd .TrackUse (_db );return &ImageDevice {};};func _cegd (_cdcc _a .PdfObject ,_ddee _d .Color )(_da .Image ,error ){_cfcb ,_aeef :=_a .GetStream (_cdcc ); if !_aeef {return nil ,nil ;};_ccgc ,_adabg :=_abc .NewXObjectImageFromStream (_cfcb );if _adabg !=nil {return nil ,_adabg ;};_bag ,_adabg :=_ccgc .ToImage ();if _adabg !=nil {return nil ,_adabg ;};return _dbcg (_bag ,_ddee ),nil ;};