// // 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 (_b "errors";_af "fmt";_aa "github.com/adrg/sysfont";_ab "github.com/unidoc/unipdf/v3/common";_g "github.com/unidoc/unipdf/v3/contentstream";_dcc "github.com/unidoc/unipdf/v3/contentstream/draw";_ff "github.com/unidoc/unipdf/v3/core"; _cd "github.com/unidoc/unipdf/v3/internal/license";_ggc "github.com/unidoc/unipdf/v3/internal/transform";_de "github.com/unidoc/unipdf/v3/model";_gg "github.com/unidoc/unipdf/v3/render/internal/context";_ba "github.com/unidoc/unipdf/v3/render/internal/context/imagerender"; _eg "golang.org/x/image/draw";_ac "image";_dc "image/color";_bf "image/draw";_ae "image/jpeg";_e "image/png";_f "math";_bd "os";_d "path/filepath";_c "strings";);var (_gfg =_b .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072"); _ad =_b .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");); // 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 ;};type renderer struct{_ccf float64 }; // NewImageDevice returns a new image device. func NewImageDevice ()*ImageDevice {const _egc ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_cd .TrackUse (_egc );return &ImageDevice {};};func _deab (_bgb _ff .PdfObject ,_gcb _dc .Color )(_ac .Image ,error ){_dfe ,_ebaf :=_ff .GetStream (_bgb ); if !_ebaf {return nil ,nil ;};_bgac ,_gbe :=_de .NewXObjectImageFromStream (_dfe );if _gbe !=nil {return nil ,_gbe ;};_dbd ,_gbe :=_bgac .ToImage ();if _gbe !=nil {return nil ,_gbe ;};return _aade (_dbd ,_gcb ),nil ;};func _bfec (_add string ,_bfa _ac .Image ,_acb int )error {_dedg ,_cfa :=_bd .Create (_add ); if _cfa !=nil {return _cfa ;};defer _dedg .Close ();return _ae .Encode (_dedg ,_bfa ,&_ae .Options {Quality :_acb });};func (_cdf renderer )renderContentStream (_fa _gg .Context ,_gaf string ,_cdff *_de .PdfPageResources )error {_cffe ,_baa :=_g .NewContentStreamParser (_gaf ).Parse (); if _baa !=nil {return _baa ;};_egf :=_fa .TextState ();_egf .GlobalScale =_cdf ._ccf ;_ec :=map[string ]*_gg .TextFont {};_eb :=_aa .NewFinder (&_aa .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});_bgd :=_g .NewContentStreamProcessor (*_cffe ); _bgd .AddHandler (_g .HandlerConditionEnumAllOperands ,"",func (_bcd *_g .ContentStreamOperation ,_aea _g .GraphicsState ,_gdf *_de .PdfPageResources )error {_ab .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_bcd .Operand ); switch _bcd .Operand {case "\u0071":_fa .Push ();case "\u0051":_fa .Pop ();_egf =_fa .TextState ();case "\u0063\u006d":if len (_bcd .Params )!=6{return _ad ;};_gfb ,_ebd :=_ff .GetNumbersAsFloat (_bcd .Params );if _ebd !=nil {return _ebd ;};_gc :=_ggc .NewMatrix (_gfb [0],_gfb [1],_gfb [2],_gfb [3],_gfb [4],_gfb [5]); _ab .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",_gc );_fa .SetMatrix (_fa .Matrix ().Mult (_gc ));case "\u0077":if len (_bcd .Params )!=1{return _ad ; };_gfba ,_egcc :=_ff .GetNumbersAsFloat (_bcd .Params );if _egcc !=nil {return _egcc ;};_fa .SetLineWidth (_gfba [0]);case "\u004a":if len (_bcd .Params )!=1{return _ad ;};_gb ,_gaa :=_ff .GetIntVal (_bcd .Params [0]);if !_gaa {return _gfg ;};switch _gb {case 0:_fa .SetLineCap (_gg .LineCapButt ); case 1:_fa .SetLineCap (_gg .LineCapRound );case 2:_fa .SetLineCap (_gg .LineCapSquare );default:_ab .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",_gb ); return _ad ;};case "\u006a":if len (_bcd .Params )!=1{return _ad ;};_db ,_ea :=_ff .GetIntVal (_bcd .Params [0]);if !_ea {return _gfg ;};switch _db {case 0:_fa .SetLineJoin (_gg .LineJoinBevel );case 1:_fa .SetLineJoin (_gg .LineJoinRound );case 2:_fa .SetLineJoin (_gg .LineJoinBevel ); default:_ab .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",_db );return _ad ;};case "\u004d":if len (_bcd .Params )!=1{return _ad ;};_aee ,_ded :=_ff .GetNumbersAsFloat (_bcd .Params ); if _ded !=nil {return _ded ;};_ =_aee ;_ab .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 (_bcd .Params )!=2{return _ad ;};_fbb ,_afb :=_ff .GetArray (_bcd .Params [0]); if !_afb {return _gfg ;};_gada ,_afb :=_ff .GetIntVal (_bcd .Params [1]);if !_afb {return _gfg ;};_gff ,_bdb :=_ff .GetNumbersAsFloat (_fbb .Elements ());if _bdb !=nil {return _bdb ;};_fa .SetDash (_gff ...);_ =_gada ;_ab .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":_ab .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":_ab .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 (_bcd .Params )!=1{return _ad ;};_ee ,_gbf :=_ff .GetName (_bcd .Params [0]);if !_gbf {return _gfg ;};if _ee ==nil {return _ad ;};_aeaf ,_gbf :=_gdf .GetExtGState (*_ee );if !_gbf {_ab .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 _b .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_afg ,_gbf :=_ff .GetDict (_aeaf );if !_gbf {_ab .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 _gfg ;};_ab .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_afg .String ());case "\u006d":if len (_bcd .Params )!=2{_ab .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",_ad ); return nil ;};_aef ,_cdffe :=_ff .GetNumbersAsFloat (_bcd .Params );if _cdffe !=nil {return _cdffe ;};_ab .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_aef );_fa .NewSubPath ();_fa .MoveTo (_aef [0],_aef [1]);case "\u006c":if len (_bcd .Params )!=2{_ab .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",_ad ); return nil ;};_eba ,_dd :=_ff .GetNumbersAsFloat (_bcd .Params );if _dd !=nil {return _dd ;};_fa .LineTo (_eba [0],_eba [1]);case "\u0063":if len (_bcd .Params )!=6{return _ad ;};_cad ,_bfb :=_ff .GetNumbersAsFloat (_bcd .Params );if _bfb !=nil {return _bfb ; };_ab .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_cad );_fa .CubicTo (_cad [0],_cad [1],_cad [2],_cad [3],_cad [4],_cad [5]);case "\u0076","\u0079":if len (_bcd .Params )!=4{return _ad ; };_bee ,_cee :=_ff .GetNumbersAsFloat (_bcd .Params );if _cee !=nil {return _cee ;};_ab .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 );_fa .QuadraticTo (_bee [0],_bee [1],_bee [2],_bee [3]); case "\u0068":_fa .ClosePath ();_fa .NewSubPath ();case "\u0072\u0065":if len (_bcd .Params )!=4{return _ad ;};_eeg ,_fad :=_ff .GetNumbersAsFloat (_bcd .Params );if _fad !=nil {return _fad ;};_fa .DrawRectangle (_eeg [0],_eeg [1],_eeg [2],_eeg [3]);_fa .NewSubPath (); case "\u0053":_beb ,_bcdf :=_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking );if _bcdf !=nil {_ab .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",_bcdf ); return _bcdf ;};_dg ,_ffc :=_beb .(*_de .PdfColorDeviceRGB );if !_ffc {_ab .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _bcdf ;};_fa .SetRGBA (_dg .R (),_dg .G (),_dg .B (),1); _fa .Stroke ();case "\u0073":_bca ,_bad :=_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking );if _bad !=nil {_ab .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",_bad ); return _bad ;};_aeg ,_dag :=_bca .(*_de .PdfColorDeviceRGB );if !_dag {_ab .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _bad ;};_fa .ClosePath ();_fa .NewSubPath (); _fa .SetRGBA (_aeg .R (),_aeg .G (),_aeg .B (),1);_fa .Stroke ();case "\u0066","\u0046":_bgdd ,_bfe :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _bfe !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bfe ); return _bfe ;};_cdfd ,_aeb :=_bgdd .(*_de .PdfColorDeviceRGB );if !_aeb {_ab .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _bfe ;};_fa .SetRGBA (_cdfd .R (),_cdfd .G (),_cdfd .B (),1); _fa .SetFillRule (_gg .FillRuleWinding );_fa .Fill ();case "\u0066\u002a":_df ,_fed :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _fed !=nil {_ab .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",_fed ); return _fed ;};_egcd ,_dfg :=_df .(*_de .PdfColorDeviceRGB );if !_dfg {_ab .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _fed ;};_fa .SetRGBA (_egcd .R (),_egcd .G (),_egcd .B (),1); _fa .SetFillRule (_gg .FillRuleEvenOdd );_fa .Fill ();case "\u0042":_cfc ,_baf :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _baf !=nil {_ab .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",_baf ); return _baf ;};_aefb :=_cfc .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_aefb .R (),_aefb .G (),_aefb .B (),1);_fa .SetFillRule (_gg .FillRuleWinding );_fa .FillPreserve ();_cfc ,_baf =_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking );if _baf !=nil {_ab .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",_baf ); return _baf ;};_aefb =_cfc .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_aefb .R (),_aefb .G (),_aefb .B (),1);_fa .Stroke ();case "\u0042\u002a":_eaa ,_fef :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _fef !=nil {_ab .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",_fef ); return _fef ;};_deb :=_eaa .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_deb .R (),_deb .G (),_deb .B (),1);_fa .SetFillRule (_gg .FillRuleEvenOdd );_fa .FillPreserve ();_eaa ,_fef =_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking );if _fef !=nil {_ab .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",_fef ); return _fef ;};_deb =_eaa .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_deb .R (),_deb .G (),_deb .B (),1);_fa .Stroke ();case "\u0062":_egd ,_fc :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _fc !=nil {_ab .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",_fc ); return _fc ;};_aaf :=_egd .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_aaf .R (),_aaf .G (),_aaf .B (),1);_fa .ClosePath ();_fa .NewSubPath ();_fa .SetFillRule (_gg .FillRuleWinding );_fa .FillPreserve ();_egd ,_fc =_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking ); if _fc !=nil {_ab .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",_fc );return _fc ;};_aaf =_egd .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_aaf .R (),_aaf .G (),_aaf .B (),1); _fa .Stroke ();case "\u0062\u002a":_fa .ClosePath ();_egda ,_cfb :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _cfb !=nil {_ab .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",_cfb ); return _cfb ;};_gbc :=_egda .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_gbc .R (),_gbc .G (),_gbc .B (),1);_fa .NewSubPath ();_fa .SetFillRule (_gg .FillRuleEvenOdd );_fa .FillPreserve ();_egda ,_cfb =_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking ); if _cfb !=nil {_ab .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",_cfb );return _cfb ;};_gbc =_egda .(*_de .PdfColorDeviceRGB );_fa .SetRGBA (_gbc .R (),_gbc .G (),_gbc .B (),1); _fa .Stroke ();case "\u006e":_fa .ClearPath ();case "\u0057":_fa .SetFillRule (_gg .FillRuleWinding );_fa .ClipPreserve ();case "\u0057\u002a":_fa .SetFillRule (_gg .FillRuleEvenOdd );_fa .ClipPreserve ();case "\u0072\u0067":_agf ,_gca :=_aea .ColorNonStroking .(*_de .PdfColorDeviceRGB ); if !_gca {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking );return nil ;};_fa .SetFillRGBA (_agf .R (),_agf .G (),_agf .B (),1); case "\u0052\u0047":_ecc ,_fbc :=_aea .ColorStroking .(*_de .PdfColorDeviceRGB );if !_fbc {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_fa .SetStrokeRGBA (_ecc .R (),_ecc .G (),_ecc .B (),1);case "\u006b":_cgg ,_cb :=_aea .ColorNonStroking .(*_de .PdfColorDeviceCMYK );if !_cb {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking ); return nil ;};_ffb ,_dce :=_aea .ColorspaceNonStroking .ColorToRGB (_cgg );if _dce !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking ); return nil ;};_ebc ,_cb :=_ffb .(*_de .PdfColorDeviceRGB );if !_cb {_ab .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",_ffb );return nil ; };_fa .SetFillRGBA (_ebc .R (),_ebc .G (),_ebc .B (),1);case "\u004b":_bb ,_cde :=_aea .ColorStroking .(*_de .PdfColorDeviceCMYK );if !_cde {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_bfg ,_gfa :=_aea .ColorspaceStroking .ColorToRGB (_bb );if _gfa !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_cdcc ,_cde :=_bfg .(*_de .PdfColorDeviceRGB );if !_cde {_ab .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",_bfg );return nil ; };_fa .SetStrokeRGBA (_cdcc .R (),_cdcc .G (),_cdcc .B (),1);case "\u0067":_ebed ,_ede :=_aea .ColorNonStroking .(*_de .PdfColorDeviceGray );if !_ede {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking ); return nil ;};_gdfe ,_bbb :=_aea .ColorspaceNonStroking .ColorToRGB (_ebed );if _bbb !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking ); return nil ;};_dega ,_ede :=_gdfe .(*_de .PdfColorDeviceRGB );if !_ede {_ab .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",_gdfe );return nil ; };_fa .SetFillRGBA (_dega .R (),_dega .G (),_dega .B (),1);case "\u0047":_ef ,_faa :=_aea .ColorStroking .(*_de .PdfColorDeviceGray );if !_faa {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_dagg ,_bba :=_aea .ColorspaceStroking .ColorToRGB (_ef );if _bba !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_ggb ,_faa :=_dagg .(*_de .PdfColorDeviceRGB );if !_faa {_ab .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",_dagg );return nil ; };_fa .SetStrokeRGBA (_ggb .R (),_ggb .G (),_ggb .B (),1);case "\u0063\u0073","\u0073\u0063","\u0073\u0063\u006e":_caf ,_cge :=_aea .ColorspaceNonStroking .ColorToRGB (_aea .ColorNonStroking );if _cge !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorNonStroking ); return nil ;};_cfbc ,_dcd :=_caf .(*_de .PdfColorDeviceRGB );if !_dcd {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_caf );return nil ; };_fa .SetFillRGBA (_cfbc .R (),_cfbc .G (),_cfbc .B (),1);case "\u0043\u0053","\u0053\u0043","\u0053\u0043\u004e":_cbf ,_bcg :=_aea .ColorspaceStroking .ColorToRGB (_aea .ColorStroking );if _bcg !=nil {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_aea .ColorStroking ); return nil ;};_adf ,_efe :=_cbf .(*_de .PdfColorDeviceRGB );if !_efe {_ab .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cbf );return nil ; };_fa .SetStrokeRGBA (_adf .R (),_adf .G (),_adf .B (),1);case "\u0044\u006f":if len (_bcd .Params )!=1{return _ad ;};_fff ,_gdd :=_ff .GetName (_bcd .Params [0]);if !_gdd {return _gfg ;};_ ,_gag :=_gdf .GetXObjectByName (*_fff );switch _gag {case _de .XObjectTypeImage :_ab .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_fff .String ()); _ceb ,_adb :=_gdf .GetXObjectImageByName (*_fff );if _adb !=nil {return _adb ;};_bbe ,_adb :=_ceb .ToImage ();if _adb !=nil {return _adb ;};if _bcgc :=_ceb .ColorSpace ;_bcgc !=nil {var _fbcf bool ;switch _bcgc .(type ){case *_de .PdfColorspaceSpecialIndexed :_fbcf =true ; };if _fbcf {if _gae ,_dea :=_bcgc .ImageToRGB (*_bbe );_dea !=nil {_ab .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 {_bbe =&_gae ;};};};_dda :=_fa .FillPattern ().ColorAt (0,0);var _ece _ac .Image ;if _ceb .Mask !=nil {if _ece ,_adb =_deab (_ceb .Mask ,_dda );_adb !=nil {_ab .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 _ffa _ac .Image ;if _edg ,_ :=_ff .GetBoolVal (_ceb .ImageMask );_edg {_ffa =_aade (_bbe ,_dda );}else {_ffa ,_adb =_bbe .ToGoImage ();if _adb !=nil {return _adb ;};};if _ece !=nil {_ffa =_cbb (_ffa ,_ece );};_feg :=_ffa .Bounds ();_fa .Push (); _fa .Scale (1.0/float64 (_feg .Dx ()),-1.0/float64 (_feg .Dy ()));_fa .DrawImageAnchored (_ffa ,0,0,0,1);_fa .Pop ();case _de .XObjectTypeForm :_ab .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_fff .String ()); _faf ,_edc :=_gdf .GetXObjectFormByName (*_fff );if _edc !=nil {return _edc ;};_bac ,_edc :=_faf .GetContentStream ();if _edc !=nil {return _edc ;};_dca :=_faf .Resources ;if _dca ==nil {_dca =_gdf ;};_fa .Push ();if _faf .Matrix !=nil {_fde ,_ddg :=_ff .GetArray (_faf .Matrix ); if !_ddg {return _gfg ;};_eea ,_bcf :=_ff .GetNumbersAsFloat (_fde .Elements ());if _bcf !=nil {return _bcf ;};if len (_eea )!=6{return _ad ;};_gbd :=_ggc .NewMatrix (_eea [0],_eea [1],_eea [2],_eea [3],_eea [4],_eea [5]);_fa .SetMatrix (_fa .Matrix ().Mult (_gbd )); };if _faf .BBox !=nil {_bbbe ,_cab :=_ff .GetArray (_faf .BBox );if !_cab {return _gfg ;};_ace ,_bgg :=_ff .GetNumbersAsFloat (_bbbe .Elements ());if _bgg !=nil {return _bgg ;};if len (_ace )!=4{_ab .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_ace )); return _ad ;};_fa .DrawRectangle (_ace [0],_ace [1],_ace [2]-_ace [0],_ace [3]-_ace [1]);_fa .SetRGBA (1,0,0,1);_fa .Clip ();}else {_ab .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"); };_edc =_cdf .renderContentStream (_fa ,string (_bac ),_dca );if _edc !=nil {return _edc ;};_fa .Pop ();};case "\u0042\u0049":if len (_bcd .Params )!=1{return _ad ;};_aegg ,_cae :=_bcd .Params [0].(*_g .ContentStreamInlineImage );if !_cae {return nil ; };_ffbf ,_def :=_aegg .ToImage (_gdf );if _def !=nil {return _def ;};_ffg ,_def :=_ffbf .ToGoImage ();if _def !=nil {return _def ;};_bbba :=_ffg .Bounds ();_fa .Push ();_fa .Scale (1.0/float64 (_bbba .Dx ()),-1.0/float64 (_bbba .Dy ()));_fa .DrawImageAnchored (_ffg ,0,0,0,1); _fa .Pop ();case "\u0042\u0054":_egf .Reset ();case "\u0045\u0054":_egf .Reset ();case "\u0054\u0072":if len (_bcd .Params )!=1{return _ad ;};_dcee ,_bbf :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _bbf !=nil {return _bbf ;};_egf .Tr =_gg .TextRenderingMode (_dcee ); case "\u0054\u004c":if len (_bcd .Params )!=1{return _ad ;};_aega ,_fbg :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _fbg !=nil {return _fbg ;};_egf .Tl =_aega ;case "\u0054\u0063":if len (_bcd .Params )!=1{return _ad ;};_gce ,_bada :=_ff .GetNumberAsFloat (_bcd .Params [0]); if _bada !=nil {return _bada ;};_ab .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_gce );_egf .Tc =_gce ;case "\u0054\u0077":if len (_bcd .Params )!=1{return _ad ;};_bgcd ,_cffg :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _cffg !=nil {return _cffg ; };_ab .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_bgcd );_egf .Tw =_bgcd ;case "\u0054\u007a":if len (_bcd .Params )!=1{return _ad ;};_eaf ,_bcae :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _bcae !=nil {return _bcae ;};_egf .Th =_eaf ;case "\u0054\u0073":if len (_bcd .Params )!=1{return _ad ; };_ggf ,_fafb :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _fafb !=nil {return _fafb ;};_egf .Ts =_ggf ;case "\u0054\u0064":if len (_bcd .Params )!=2{return _ad ;};_aead ,_fdcg :=_ff .GetNumbersAsFloat (_bcd .Params );if _fdcg !=nil {return _fdcg ;};_ab .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_aead ); _egf .ProcTd (_aead [0],_aead [1]);case "\u0054\u0044":if len (_bcd .Params )!=2{return _ad ;};_eef ,_gfga :=_ff .GetNumbersAsFloat (_bcd .Params );if _gfga !=nil {return _gfga ;};_ab .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_eef );_egf .ProcTD (_eef [0],_eef [1]); case "\u0054\u002a":_egf .ProcTStar ();case "\u0054\u006d":if len (_bcd .Params )!=6{return _ad ;};_efg ,_ebb :=_ff .GetNumbersAsFloat (_bcd .Params );if _ebb !=nil {return _ebb ;};_ab .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_efg ); _egf .ProcTm (_efg [0],_efg [1],_efg [2],_efg [3],_efg [4],_efg [5]);case "\u0027":if len (_bcd .Params )!=1{return _ad ;};_egcb ,_gba :=_ff .GetStringBytes (_bcd .Params [0]);if !_gba {return _gfg ;};_ab .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_egcb )); _egf .ProcQ (_egcb ,_fa );case "\u0022":if len (_bcd .Params )!=3{return _ad ;};_adg ,_cef :=_ff .GetNumberAsFloat (_bcd .Params [0]);if _cef !=nil {return _cef ;};_ggbd ,_cef :=_ff .GetNumberAsFloat (_bcd .Params [1]);if _cef !=nil {return _cef ;};_caa ,_afc :=_ff .GetStringBytes (_bcd .Params [2]); if !_afc {return _gfg ;};_egf .ProcDQ (_caa ,_adg ,_ggbd ,_fa );case "\u0054\u006a":if len (_bcd .Params )!=1{return _ad ;};_feda ,_gcd :=_ff .GetStringBytes (_bcd .Params [0]);if !_gcd {return _gfg ;};_ab .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_feda )); _egf .ProcTj (_feda ,_fa );case "\u0054\u004a":if len (_bcd .Params )!=1{return _ad ;};_fge ,_cag :=_ff .GetArray (_bcd .Params [0]);if !_cag {_ab .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_fge );return _gfg ;};_ab .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_fge ); for _ ,_bff :=range _fge .Elements (){switch _ecf :=_bff .(type ){case *_ff .PdfObjectString :if _ecf !=nil {_egf .ProcTj (_ecf .Bytes (),_fa );};case *_ff .PdfObjectFloat ,*_ff .PdfObjectInteger :_deae ,_dec :=_ff .GetNumberAsFloat (_ecf );if _dec ==nil {_egf .Translate (-_deae *0.001*_egf .Tf .Size *_egf .Th /100.0,0); };};};case "\u0054\u0066":if len (_bcd .Params )!=2{return _ad ;};_ab .Log .Debug ("\u0025\u0023\u0076",_bcd .Params );_eafc ,_aegd :=_ff .GetName (_bcd .Params [0]);if !_aegd ||_eafc ==nil {_ab .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",_bcd .Params [0]); return _gfg ;};_ab .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_eafc .String ());_cec ,_abc :=_ff .GetNumberAsFloat (_bcd .Params [1]);if _abc !=nil {_ab .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",_bcd .Params [1]); return _gfg ;};_ab .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_cec );_aace ,_adgf :=_gdf .GetFontByName (*_eafc );if !_adgf {_ab .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_eafc .String ()); return _b .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_ab .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_aace );_aba ,_aegd :=_ff .GetDict (_aace );if !_aegd {_ab .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 _gfg ;};_egdb ,_abc :=_de .NewPdfFontFromPdfObject (_aba );if _abc !=nil {_ab .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 _abc ;};_gdb :=_egdb .BaseFont ();if _gdb ==""{_gdb =_eafc .String ();};_fcd ,_aegd :=_ec [_gdb ];if !_aegd {_fcd ,_abc =_gg .NewTextFont (_egdb ,_cec );if _abc !=nil {_ab .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_abc );};};if _fcd ==nil {if len (_gdb )> 7&&_gdb [6]=='+'{_gdb =_gdb [7:]; };_cgd :=[]string {_gdb ,"\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 _ ,_bag :=range _cgd {_ab .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",_bag ); if _fcd ,_aegd =_ec [_bag ];_aegd {break ;};_aad :=_eb .Match (_bag );if _aad ==nil {_ab .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",_bag );continue ; };_fcd ,_abc =_gg .NewTextFontFromPath (_aad .Filename ,_cec );if _abc !=nil {_ab .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",_aad .Filename ); continue ;};_ab .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",_gdb ,_aad .Name ,_aad .Filename );_ec [_bag ]=_fcd ; break ;};};if _fcd ==nil {_ab .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 _b .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");};_egf .ProcTf (_fcd .WithSize (_cec ,_egdb ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_ab .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",_bcd .Operand ); };return nil ;});_baa =_bgd .Process (_cdff );if _baa !=nil {return _baa ;};return nil ;}; // Render converts the specified PDF page into an image and returns the result. func (_fb *ImageDevice )Render (page *_de .PdfPage )(_ac .Image ,error ){_acf ,_be :=page .GetMediaBox ();if _be !=nil {return nil ,_be ;};_acf .Normalize ();_fg :=page .CropBox ;var _ag ,_cdc float64 ;if _fg !=nil {_fg .Normalize ();_ag ,_cdc =_fg .Width (),_fg .Height (); };_cdg :=page .Rotate ;_da ,_agd ,_bg ,_cc :=_acf .Llx ,_acf .Lly ,_acf .Width (),_acf .Height ();_egb :=_ggc .IdentityMatrix ();if _cdg !=nil &&*_cdg %360!=0&&*_cdg %90==0{_ga :=-float64 (*_cdg );_gad :=_dad (_bg ,_cc ,_ga );_egb =_egb .Translate ((_gad .Width -_bg )/2+_bg /2,(_gad .Height -_cc )/2+_cc /2).Rotate (_ga *_f .Pi /180).Translate (-_bg /2,-_cc /2); _bg ,_cc =_gad .Width ,_gad .Height ;if _fg !=nil {_bc :=_dad (_ag ,_cdc ,_ga );_ag ,_cdc =_bc .Width ,_bc .Height ;};};if _da !=0||_agd !=0{_egb =_egb .Translate (-_da ,-_agd );};_fb ._ccf =1.0;if _fb .OutputWidth !=0{_cf :=_bg ;if _fg !=nil {_cf =_ag ; };_fb ._ccf =float64 (_fb .OutputWidth )/_cf ;_bg ,_cc ,_ag ,_cdc =_bg *_fb ._ccf ,_cc *_fb ._ccf ,_ag *_fb ._ccf ,_cdc *_fb ._ccf ;_egb =_ggc .ScaleMatrix (_fb ._ccf ,_fb ._ccf ).Mult (_egb );};_bge :=_ba .NewContext (int (_bg ),int (_cc ));if _cg :=_fb .renderPage (_bge ,page ,_egb ); _cg !=nil {return nil ,_cg ;};_bgec :=_bge .Image ();if _fg !=nil {_ca ,_fd :=(_fg .Llx -_da )*_fb ._ccf ,(_fg .Lly -_agd )*_fb ._ccf ;_cac :=_ac .Rect (0,0,int (_ag ),int (_cdc ));_bda :=_ac .Pt (int (_ca ),int (_cc -_fd -_cdc ));_ed :=_ac .NewRGBA (_cac ); _bf .Draw (_ed ,_cac ,_bgec ,_bda ,_bf .Src );_bgec =_ed ;};return _bgec ,nil ;};func _aade (_ebdc *_de .Image ,_fee _dc .Color )_ac .Image {_adff ,_deba :=int (_ebdc .Width ),int (_ebdc .Height );_fgf :=_ac .NewRGBA (_ac .Rect (0,0,_adff ,_deba ));for _dfd :=0; _dfd < _deba ;_dfd ++{for _ada :=0;_ada < _adff ;_ada ++{_cgb ,_ebf :=_ebdc .ColorAt (_ada ,_dfd );if _ebf !=nil {_ab .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",_ada ,_dfd ); continue ;};_afd ,_eeaf ,_bga ,_ :=_cgb .RGBA ();var _fbe _dc .Color ;if _afd +_eeaf +_bga ==0{_fbe =_fee ;}else {_fbe =_dc .Transparent ;};_fgf .Set (_ada ,_dfd ,_fbe );};};return _fgf ;};func _dad (_dac ,_abd ,_abb float64 )_dcc .BoundingBox {return _dcc .Path {Points :[]_dcc .Point {_dcc .NewPoint (0,0).Rotate (_abb ),_dcc .NewPoint (_dac ,0).Rotate (_abb ),_dcc .NewPoint (0,_abd ).Rotate (_abb ),_dcc .NewPoint (_dac ,_abd ).Rotate (_abb )}}.GetBoundingBox (); };func _caff (_dagd string ,_bebe _ac .Image )error {_bgeg ,_ecfc :=_bd .Create (_dagd );if _ecfc !=nil {return _ecfc ;};defer _bgeg .Close ();return _e .Encode (_bgeg ,_bebe );};func _cbb (_efc ,_bdf _ac .Image )_ac .Image {_dgd ,_bdd :=_bdf .Bounds ().Size (),_efc .Bounds ().Size (); _dgf ,_ddd :=_dgd .X ,_dgd .Y ;if _bdd .X > _dgf {_dgf =_bdd .X ;};if _bdd .Y > _ddd {_ddd =_bdd .Y ;};_afa :=_ac .Rect (0,0,_dgf ,_ddd );if _dgd .X !=_dgf ||_dgd .Y !=_ddd {_beg :=_ac .NewRGBA (_afa );_eg .BiLinear .Scale (_beg ,_afa ,_efc ,_bdf .Bounds (),_eg .Over ,nil ); _bdf =_beg ;};if _bdd .X !=_dgf ||_bdd .Y !=_ddd {_gac :=_ac .NewRGBA (_afa );_eg .BiLinear .Scale (_gac ,_afa ,_efc ,_efc .Bounds (),_eg .Over ,nil );_efc =_gac ;};_ccg :=_ac .NewRGBA (_afa );_eg .DrawMask (_ccg ,_afa ,_efc ,_ac .Point {},_bdf ,_ac .Point {},_eg .Over ); return _ccg ;}; // RenderToPath converts the specified PDF page into an image and saves the // result at the specified location. func (_aag *ImageDevice )RenderToPath (page *_de .PdfPage ,outputPath string )error {_ccc ,_gf :=_aag .Render (page );if _gf !=nil {return _gf ;};_deg :=_c .ToLower (_d .Ext (outputPath ));if _deg ==""{return _b .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 _deg {case "\u002e\u0070\u006e\u0067":return _caff (outputPath ,_ccc );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _bfec (outputPath ,_ccc ,100);};return _af .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",_deg ); };func (_bgc renderer )renderPage (_ce _gg .Context ,_fdc *_de .PdfPage ,_gd _ggc .Matrix )error {_agg ,_aac :=_fdc .GetAllContentStreams ();if _aac !=nil {return _aac ;};if _cff :=_gd ;!_cff .Identity (){_agg =_af .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",_cff [0],_cff [1],_cff [3],_cff [4],_cff [6],_cff [7],_agg ); };_ce .Translate (0,float64 (_ce .Height ()));_ce .Scale (1,-1);_ce .Push ();_ce .SetRGBA (1,1,1,1);_ce .DrawRectangle (0,0,float64 (_ce .Width ()),float64 (_ce .Height ()));_ce .Fill ();_ce .Pop ();_ce .SetLineWidth (1.0);_ce .SetRGBA (0,0,0,1);return _bgc .renderContentStream (_ce ,_agg ,_fdc .Resources ); };