unipdf/render/render.go
2021-02-22 02:29:48 +00:00

140 lines
36 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 (_fe "errors";_ge "fmt";_ae "github.com/adrg/sysfont";_da "github.com/unidoc/unipdf/v3/common";_bc "github.com/unidoc/unipdf/v3/contentstream";_ff "github.com/unidoc/unipdf/v3/core";_gee "github.com/unidoc/unipdf/v3/internal/license";
_d "github.com/unidoc/unipdf/v3/internal/transform";_be "github.com/unidoc/unipdf/v3/model";_ac "github.com/unidoc/unipdf/v3/render/internal/context";_e "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";_fa "golang.org/x/image/draw";_gc "image";
_b "image/color";_fc "image/draw";_aa "image/jpeg";_fd "image/png";_a "os";_af "path/filepath";_g "strings";);type renderer struct{_ba float64 };func _dea (_bcgb string ,_ffb _gc .Image )error {_afee ,_cbg :=_a .Create (_bcgb );if _cbg !=nil {return _cbg ;
};defer _afee .Close ();return _fd .Encode (_afee ,_ffb );};func _beb (_fada *_be .Image ,_baa _b .Color )_gc .Image {_fga ,_bcgf :=int (_fada .Width ),int (_fada .Height );_bafb :=_gc .NewRGBA (_gc .Rect (0,0,_fga ,_bcgf ));for _eccg :=0;_eccg < _bcgf ;
_eccg ++{for _fbd :=0;_fbd < _fga ;_fbd ++{_ffa ,_cgc :=_fada .ColorAt (_fbd ,_eccg );if _cgc !=nil {_da .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",_fbd ,_eccg );
continue ;};_ffg ,_gef ,_febb ,_ :=_ffa .RGBA ();var _cfe _b .Color ;if _ffg +_gef +_febb ==0{_cfe =_baa ;}else {_cfe =_b .Transparent ;};_bafb .Set (_fbd ,_eccg ,_cfe );};};return _bafb ;};func (_aec renderer )renderPage (_cg _ac .Context ,_fag *_be .PdfPage )error {_ab ,_de :=_fag .GetAllContentStreams ();
if _de !=nil {return _de ;};if _aec ._ba !=1.0{_ab =_ge .Sprintf ("\u0025\u002e\u0032f \u0030\u0020\u0030\u0020\u0025\u002e\u0032\u0066\u0020\u0030\u0020\u0030\u0020\u0063\u006d\u0020\u0025\u0073",_aec ._ba ,_aec ._ba ,_ab );};_cg .Translate (0,float64 (_cg .Height ()));
_cg .Scale (1,-1);_cg .Push ();_cg .SetRGBA (1,1,1,1);_cg .DrawRectangle (0,0,float64 (_cg .Width ()),float64 (_cg .Height ()));_cg .Fill ();_cg .Pop ();_cg .SetLineWidth (1.0);_cg .SetRGBA (0,0,0,1);return _aec .renderContentStream (_cg ,_ab ,_fag .Resources );
};
// NewImageDevice returns a new image device.
func NewImageDevice ()*ImageDevice {const _c ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_gee .TrackUse (_c );return &ImageDevice {};};
// RenderToPath converts the specified PDF page into an image and saves the
// result at the specified location.
func (_ag *ImageDevice )RenderToPath (page *_be .PdfPage ,outputPath string )error {_fdb ,_bf :=_ag .Render (page );if _bf !=nil {return _bf ;};_cf :=_g .ToLower (_af .Ext (outputPath ));if _cf ==""{return _fe .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 _cf {case "\u002e\u0070\u006e\u0067":return _dea (outputPath ,_fdb );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _bfcc (outputPath ,_fdb ,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",_cf );
};func (_bb renderer )renderContentStream (_faf _ac .Context ,_cfc string ,_cfce *_be .PdfPageResources )error {_afb ,_cc :=_bc .NewContentStreamParser (_cfc ).Parse ();if _cc !=nil {return _cc ;};_fb :=_faf .TextState ();_fb .GlobalScale =_bb ._ba ;_daf :=map[string ]*_ac .TextFont {};
_faeg :=_ae .NewFinder (&_ae .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});_eb :=_bc .NewContentStreamProcessor (*_afb );_eb .AddHandler (_bc .HandlerConditionEnumAllOperands ,"",func (_gf *_bc .ContentStreamOperation ,_gd _bc .GraphicsState ,_gff *_be .PdfPageResources )error {_da .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_gf .Operand );
switch _gf .Operand {case "\u0071":_faf .Push ();case "\u0051":_faf .Pop ();_fb =_faf .TextState ();case "\u0063\u006d":if len (_gf .Params )!=6{return _dde ;};_ade ,_fab :=_ff .GetNumbersAsFloat (_gf .Params );if _fab !=nil {return _fab ;};_cd :=_d .NewMatrix (_ade [0],_ade [1],_ade [2],_ade [3],_ade [4],_ade [5]);
_da .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",_cd );_faf .SetMatrix (_faf .Matrix ().Mult (_cd ));case "\u0077":if len (_gf .Params )!=1{return _dde ;
};_aad ,_afba :=_ff .GetNumbersAsFloat (_gf .Params );if _afba !=nil {return _afba ;};_faf .SetLineWidth (_aad [0]);case "\u004a":if len (_gf .Params )!=1{return _dde ;};_eec ,_fac :=_ff .GetIntVal (_gf .Params [0]);if !_fac {return _bca ;};switch _eec {case 0:_faf .SetLineCap (_ac .LineCapButt );
case 1:_faf .SetLineCap (_ac .LineCapRound );case 2:_faf .SetLineCap (_ac .LineCapSquare );default:_da .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",_eec );
return _dde ;};case "\u006a":if len (_gf .Params )!=1{return _dde ;};_beg ,_gfd :=_ff .GetIntVal (_gf .Params [0]);if !_gfd {return _bca ;};switch _beg {case 0:_faf .SetLineJoin (_ac .LineJoinBevel );case 1:_faf .SetLineJoin (_ac .LineJoinRound );case 2:_faf .SetLineJoin (_ac .LineJoinBevel );
default:_da .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",_beg );return _dde ;};case "\u004d":if len (_gf .Params )!=1{return _dde ;};_df ,_dae :=_ff .GetNumbersAsFloat (_gf .Params );
if _dae !=nil {return _dae ;};_ =_df ;_da .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 (_gf .Params )!=2{return _dde ;};_geeg ,_ga :=_ff .GetArray (_gf .Params [0]);
if !_ga {return _bca ;};_ed ,_ga :=_ff .GetIntVal (_gf .Params [1]);if !_ga {return _bca ;};_daea ,_ce :=_ff .GetNumbersAsFloat (_geeg .Elements ());if _ce !=nil {return _ce ;};_faf .SetDash (_daea ...);_ =_ed ;_da .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":_da .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":_da .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 (_gf .Params )!=1{return _dde ;};_baf ,_gdb :=_ff .GetName (_gf .Params [0]);if !_gdb {return _bca ;};if _baf ==nil {return _dde ;};_bfc ,_gdb :=_gff .GetExtGState (*_baf );if !_gdb {_da .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",*_baf );
return _fe .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_fad ,_gdb :=_ff .GetDict (_bfc );if !_gdb {_da .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 _bca ;};_da .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_fad .String ());case "\u006d":if len (_gf .Params )!=2{_da .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",_dde );
return nil ;};_bg ,_ddee :=_ff .GetNumbersAsFloat (_gf .Params );if _ddee !=nil {return _ddee ;};_da .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_bg );_faf .NewSubPath ();_faf .MoveTo (_bg [0],_bg [1]);case "\u006c":if len (_gf .Params )!=2{_da .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",_dde );
return nil ;};_edf ,_aae :=_ff .GetNumbersAsFloat (_gf .Params );if _aae !=nil {return _aae ;};_faf .LineTo (_edf [0],_edf [1]);case "\u0063":if len (_gf .Params )!=6{return _dde ;};_cgd ,_afe :=_ff .GetNumbersAsFloat (_gf .Params );if _afe !=nil {return _afe ;
};_da .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_cgd );_faf .CubicTo (_cgd [0],_cgd [1],_cgd [2],_cgd [3],_cgd [4],_cgd [5]);case "\u0076","\u0079":if len (_gf .Params )!=4{return _dde ;
};_gb ,_bcg :=_ff .GetNumbersAsFloat (_gf .Params );if _bcg !=nil {return _bcg ;};_da .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_gb );_faf .QuadraticTo (_gb [0],_gb [1],_gb [2],_gb [3]);
case "\u0068":_faf .ClosePath ();_faf .NewSubPath ();case "\u0072\u0065":if len (_gf .Params )!=4{return _dde ;};_ddd ,_agf :=_ff .GetNumbersAsFloat (_gf .Params );if _agf !=nil {return _agf ;};_faf .DrawRectangle (_ddd [0],_ddd [1],_ddd [2],_ddd [3]);
_faf .NewSubPath ();case "\u0053":_fafb ,_eeb :=_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );if _eeb !=nil {_da .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",_eeb );
return _eeb ;};_acb ,_gag :=_fafb .(*_be .PdfColorDeviceRGB );if !_gag {_da .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _eeb ;};_faf .SetRGBA (_acb .R (),_acb .G (),_acb .B (),1);
_faf .Stroke ();case "\u0073":_cb ,_fafe :=_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );if _fafe !=nil {_da .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",_fafe );
return _fafe ;};_dc ,_daeb :=_cb .(*_be .PdfColorDeviceRGB );if !_daeb {_da .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _fafe ;};_faf .ClosePath ();_faf .NewSubPath ();
_faf .SetRGBA (_dc .R (),_dc .G (),_dc .B (),1);_faf .Stroke ();case "\u0066","\u0046":_dab ,_ceb :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _ceb !=nil {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ceb );
return _ceb ;};_bed ,_abb :=_dab .(*_be .PdfColorDeviceRGB );if !_abb {_da .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _ceb ;};_faf .SetRGBA (_bed .R (),_bed .G (),_bed .B (),1);
_faf .SetFillRule (_ac .FillRuleWinding );_faf .Fill ();case "\u0066\u002a":_fcd ,_agb :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _agb !=nil {_da .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",_agb );
return _agb ;};_db ,_fdf :=_fcd .(*_be .PdfColorDeviceRGB );if !_fdf {_da .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _agb ;};_faf .SetRGBA (_db .R (),_db .G (),_db .B (),1);
_faf .SetFillRule (_ac .FillRuleEvenOdd );_faf .Fill ();case "\u0042":_ced ,_dge :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _dge !=nil {_da .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",_dge );
return _dge ;};_bbd :=_ced .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_bbd .R (),_bbd .G (),_bbd .B (),1);_faf .SetFillRule (_ac .FillRuleWinding );_faf .FillPreserve ();_ced ,_dge =_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );if _dge !=nil {_da .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",_dge );
return _dge ;};_bbd =_ced .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_bbd .R (),_bbd .G (),_bbd .B (),1);_faf .Stroke ();case "\u0042\u002a":_dff ,_cedb :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _cedb !=nil {_da .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",_cedb );
return _cedb ;};_fagb :=_dff .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_fagb .R (),_fagb .G (),_fagb .B (),1);_faf .SetFillRule (_ac .FillRuleEvenOdd );_faf .FillPreserve ();_dff ,_cedb =_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );if _cedb !=nil {_da .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",_cedb );
return _cedb ;};_fagb =_dff .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_fagb .R (),_fagb .G (),_fagb .B (),1);_faf .Stroke ();case "\u0062":_aba ,_ca :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _ca !=nil {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ca );
return _ca ;};_cfd :=_aba .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_cfd .R (),_cfd .G (),_cfd .B (),1);_faf .ClosePath ();_faf .NewSubPath ();_faf .SetFillRule (_ac .FillRuleWinding );_faf .FillPreserve ();_aba ,_ca =_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );
if _ca !=nil {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_ca );return _ca ;};_cfd =_aba .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_cfd .R (),_cfd .G (),_cfd .B (),1);
_faf .Stroke ();case "\u0062\u002a":_faf .ClosePath ();_dfd ,_bd :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _bd !=nil {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bd );
return _bd ;};_fde :=_dfd .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_fde .R (),_fde .G (),_fde .B (),1);_faf .NewSubPath ();_faf .SetFillRule (_ac .FillRuleEvenOdd );_faf .FillPreserve ();_dfd ,_bd =_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );
if _bd !=nil {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bd );return _bd ;};_fde =_dfd .(*_be .PdfColorDeviceRGB );_faf .SetRGBA (_fde .R (),_fde .G (),_fde .B (),1);
_faf .Stroke ();case "\u006e":_faf .ClearPath ();case "\u0057":_faf .SetFillRule (_ac .FillRuleWinding );_faf .ClipPreserve ();case "\u0057\u002a":_faf .SetFillRule (_ac .FillRuleEvenOdd );_faf .ClipPreserve ();case "\u0072\u0067":_cfb ,_gbc :=_gd .ColorNonStroking .(*_be .PdfColorDeviceRGB );
if !_gbc {_da .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",_gd .ColorNonStroking );return nil ;};_faf .SetFillRGBA (_cfb .R (),_cfb .G (),_cfb .B (),1);
case "\u0052\u0047":_aea ,_bbda :=_gd .ColorStroking .(*_be .PdfColorDeviceRGB );if !_bbda {_da .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",_gd .ColorStroking );
return nil ;};_faf .SetStrokeRGBA (_aea .R (),_aea .G (),_aea .B (),1);case "\u006b":_fbe ,_aac :=_gd .ColorNonStroking .(*_be .PdfColorDeviceCMYK );if !_aac {_da .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",_gd .ColorNonStroking );
return nil ;};_dec ,_gfe :=_gd .ColorspaceNonStroking .ColorToRGB (_fbe );if _gfe !=nil {_da .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",_gd .ColorNonStroking );
return nil ;};_ceba ,_aac :=_dec .(*_be .PdfColorDeviceRGB );if !_aac {_da .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",_dec );return nil ;
};_faf .SetFillRGBA (_ceba .R (),_ceba .G (),_ceba .B (),1);case "\u004b":_faba ,_cae :=_gd .ColorStroking .(*_be .PdfColorDeviceCMYK );if !_cae {_da .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",_gd .ColorStroking );
return nil ;};_cde ,_agc :=_gd .ColorspaceStroking .ColorToRGB (_faba );if _agc !=nil {_da .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",_gd .ColorStroking );
return nil ;};_bbf ,_cae :=_cde .(*_be .PdfColorDeviceRGB );if !_cae {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cde );return nil ;
};_faf .SetStrokeRGBA (_bbf .R (),_bbf .G (),_bbf .B (),1);case "\u0067":_bcae ,_fdg :=_gd .ColorNonStroking .(*_be .PdfColorDeviceGray );if !_fdg {_da .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",_gd .ColorNonStroking );
return nil ;};_gg ,_efc :=_gd .ColorspaceNonStroking .ColorToRGB (_bcae );if _efc !=nil {_da .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",_gd .ColorNonStroking );
return nil ;};_dee ,_fdg :=_gg .(*_be .PdfColorDeviceRGB );if !_fdg {_da .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",_gg );return nil ;
};_faf .SetFillRGBA (_dee .R (),_dee .G (),_dee .B (),1);case "\u0047":_dbe ,_ebb :=_gd .ColorStroking .(*_be .PdfColorDeviceGray );if !_ebb {_da .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",_gd .ColorStroking );
return nil ;};_dgg ,_abg :=_gd .ColorspaceStroking .ColorToRGB (_dbe );if _abg !=nil {_da .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",_gd .ColorStroking );
return nil ;};_ecc ,_ebb :=_dgg .(*_be .PdfColorDeviceRGB );if !_ebb {_da .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_dgg );return nil ;
};_faf .SetStrokeRGBA (_ecc .R (),_ecc .G (),_ecc .B (),1);case "\u0063\u0073","\u0073\u0063","\u0073\u0063\u006e":_dgf ,_fed :=_gd .ColorspaceNonStroking .ColorToRGB (_gd .ColorNonStroking );if _fed !=nil {_da .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",_gd .ColorNonStroking );
return nil ;};_gge ,_ddc :=_dgf .(*_be .PdfColorDeviceRGB );if !_ddc {_da .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",_dgf );return nil ;
};_faf .SetFillRGBA (_gge .R (),_gge .G (),_gge .B (),1);case "\u0043\u0053","\u0053\u0043","\u0053\u0043\u004e":_cdc ,_cac :=_gd .ColorspaceStroking .ColorToRGB (_gd .ColorStroking );if _cac !=nil {_da .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",_gd .ColorStroking );
return nil ;};_cda ,_adg :=_cdc .(*_be .PdfColorDeviceRGB );if !_adg {_da .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",_cdc );return nil ;
};_faf .SetStrokeRGBA (_cda .R (),_cda .G (),_cda .B (),1);case "\u0044\u006f":if len (_gf .Params )!=1{return _dde ;};_eebd ,_dcc :=_ff .GetName (_gf .Params [0]);if !_dcc {return _bca ;};_ ,_fce :=_gff .GetXObjectByName (*_eebd );switch _fce {case _be .XObjectTypeImage :_da .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_eebd .String ());
_eea ,_gdbf :=_gff .GetXObjectImageByName (*_eebd );if _gdbf !=nil {return _gdbf ;};_ecf ,_gdbf :=_eea .ToImage ();if _gdbf !=nil {return _gdbf ;};if _dbf :=_eea .ColorSpace ;_dbf !=nil {var _feb bool ;switch _dbf .(type ){case *_be .PdfColorspaceSpecialIndexed :_feb =true ;
};if _feb {if _cbd ,_bdg :=_dbf .ImageToRGB (*_ecf );_bdg !=nil {_da .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 {_ecf =&_cbd ;};};};_dca :=_faf .FillPattern ().ColorAt (0,0);var _fgg _gc .Image ;if _eea .Mask !=nil {if _fgg ,_gdbf =_dafg (_eea .Mask ,_dca );_gdbf !=nil {_da .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 _gcc _gc .Image ;if _gbd ,_ :=_ff .GetBoolVal (_eea .ImageMask );_gbd {_gcc =_beb (_ecf ,_dca );}else {_gcc ,_gdbf =_ecf .ToGoImage ();if _gdbf !=nil {return _gdbf ;};};if _fgg !=nil {_gcc =_eab (_gcc ,_fgg );};_cge :=_gcc .Bounds ();_faf .Push ();
_faf .Scale (1.0/float64 (_cge .Dx ()),-1.0/float64 (_cge .Dy ()));_faf .DrawImageAnchored (_gcc ,0,0,0,1);_faf .Pop ();case _be .XObjectTypeForm :_da .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_eebd .String ());
_cdce ,_gfa :=_gff .GetXObjectFormByName (*_eebd );if _gfa !=nil {return _gfa ;};_cfbg ,_gfa :=_cdce .GetContentStream ();if _gfa !=nil {return _gfa ;};_aaf :=_cdce .Resources ;if _aaf ==nil {_aaf =_gff ;};_faf .Push ();if _cdce .Matrix !=nil {_cgf ,_gae :=_ff .GetArray (_cdce .Matrix );
if !_gae {return _bca ;};_agfg ,_fcfa :=_ff .GetNumbersAsFloat (_cgf .Elements ());if _fcfa !=nil {return _fcfa ;};if len (_agfg )!=6{return _dde ;};_bfa :=_d .NewMatrix (_agfg [0],_agfg [1],_agfg [2],_agfg [3],_agfg [4],_agfg [5]);_faf .SetMatrix (_faf .Matrix ().Mult (_bfa ));
};if _cdce .BBox !=nil {_afbc ,_daee :=_ff .GetArray (_cdce .BBox );if !_daee {return _bca ;};_dcg ,_ea :=_ff .GetNumbersAsFloat (_afbc .Elements ());if _ea !=nil {return _ea ;};if len (_dcg )!=4{_da .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_dcg ));
return _dde ;};_faf .DrawRectangle (_dcg [0],_dcg [1],_dcg [2]-_dcg [0],_dcg [3]-_dcg [1]);_faf .SetRGBA (1,0,0,1);_faf .Clip ();}else {_da .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");
};_gfa =_bb .renderContentStream (_faf ,string (_cfbg ),_aaf );if _gfa !=nil {return _gfa ;};_faf .Pop ();};case "\u0042\u0049":if len (_gf .Params )!=1{return _dde ;};_geg ,_cab :=_gf .Params [0].(*_bc .ContentStreamInlineImage );if !_cab {return nil ;
};_febf ,_bgc :=_geg .ToImage (_gff );if _bgc !=nil {return _bgc ;};_dad ,_bgc :=_febf .ToGoImage ();if _bgc !=nil {return _bgc ;};_cfg :=_dad .Bounds ();_faf .Push ();_faf .Scale (1.0/float64 (_cfg .Dx ()),-1.0/float64 (_cfg .Dy ()));_faf .DrawImageAnchored (_dad ,0,0,0,1);
_faf .Pop ();case "\u0042\u0054":_fb .Reset ();case "\u0045\u0054":_fb .Reset ();case "\u0054\u0072":if len (_gf .Params )!=1{return _dde ;};_gcf ,_agd :=_ff .GetNumberAsFloat (_gf .Params [0]);if _agd !=nil {return _agd ;};_fb .Tr =_ac .TextRenderingMode (_gcf );
case "\u0054\u004c":if len (_gf .Params )!=1{return _dde ;};_edb ,_fcb :=_ff .GetNumberAsFloat (_gf .Params [0]);if _fcb !=nil {return _fcb ;};_fb .Tl =_edb ;case "\u0054\u0063":if len (_gf .Params )!=1{return _dde ;};_gce ,_agbb :=_ff .GetNumberAsFloat (_gf .Params [0]);
if _agbb !=nil {return _agbb ;};_da .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_gce );_fb .Tc =_gce ;case "\u0054\u0077":if len (_gf .Params )!=1{return _dde ;};_cbe ,_gfg :=_ff .GetNumberAsFloat (_gf .Params [0]);if _gfg !=nil {return _gfg ;};
_da .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_cbe );_fb .Tw =_cbe ;case "\u0054\u007a":if len (_gf .Params )!=1{return _dde ;};_cdg ,_acd :=_ff .GetNumberAsFloat (_gf .Params [0]);if _acd !=nil {return _acd ;};_fb .Th =_cdg ;case "\u0054\u0073":if len (_gf .Params )!=1{return _dde ;
};_gaga ,_fgf :=_ff .GetNumberAsFloat (_gf .Params [0]);if _fgf !=nil {return _fgf ;};_fb .Ts =_gaga ;case "\u0054\u0064":if len (_gf .Params )!=2{return _dde ;};_gfac ,_ceg :=_ff .GetNumbersAsFloat (_gf .Params );if _ceg !=nil {return _ceg ;};_da .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_gfac );
_fb .ProcTd (_gfac [0],_gfac [1]);case "\u0054\u0044":if len (_gf .Params )!=2{return _dde ;};_ggc ,_dgb :=_ff .GetNumbersAsFloat (_gf .Params );if _dgb !=nil {return _dgb ;};_da .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_ggc );_fb .ProcTD (_ggc [0],_ggc [1]);
case "\u0054\u002a":_fb .ProcTStar ();case "\u0054\u006d":if len (_gf .Params )!=6{return _dde ;};_fadc ,_gaf :=_ff .GetNumbersAsFloat (_gf .Params );if _gaf !=nil {return _gaf ;};_da .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_fadc );
_fb .ProcTm (_fadc [0],_fadc [1],_fadc [2],_fadc [3],_fadc [4],_fadc [5]);case "\u0027":if len (_gf .Params )!=1{return _dde ;};_fcfg ,_aecf :=_ff .GetStringBytes (_gf .Params [0]);if !_aecf {return _bca ;};_da .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_fcfg ));
_fb .ProcQ (_fcfg ,_faf );case "\u0022":if len (_gf .Params )!=3{return _dde ;};_edba ,_dgc :=_ff .GetNumberAsFloat (_gf .Params [0]);if _dgc !=nil {return _dgc ;};_bfe ,_dgc :=_ff .GetNumberAsFloat (_gf .Params [1]);if _dgc !=nil {return _dgc ;};_ddeg ,_fcfb :=_ff .GetStringBytes (_gf .Params [2]);
if !_fcfb {return _bca ;};_fb .ProcDQ (_ddeg ,_edba ,_bfe ,_faf );case "\u0054\u006a":if len (_gf .Params )!=1{return _dde ;};_fee ,_add :=_ff .GetStringBytes (_gf .Params [0]);if !_add {return _bca ;};_da .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_fee ));
_fb .ProcTj (_fee ,_faf );case "\u0054\u004a":if len (_gf .Params )!=1{return _dde ;};_aaef ,_deee :=_ff .GetArray (_gf .Params [0]);if !_deee {_da .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_aaef );return _bca ;};_da .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_aaef );
for _ ,_ded :=range _aaef .Elements (){switch _fgd :=_ded .(type ){case *_ff .PdfObjectString :if _fgd !=nil {_fb .ProcTj (_fgd .Bytes (),_faf );};case *_ff .PdfObjectFloat ,*_ff .PdfObjectInteger :_bfag ,_aeeb :=_ff .GetNumberAsFloat (_fgd );if _aeeb ==nil {_fb .Translate (-_bfag *0.001*_fb .Tf .Size *_fb .Th /100.0,0);
};};};case "\u0054\u0066":if len (_gf .Params )!=2{return _dde ;};_da .Log .Debug ("\u0025\u0023\u0076",_gf .Params );_gbb ,_bbg :=_ff .GetName (_gf .Params [0]);if !_bbg ||_gbb ==nil {_da .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",_gf .Params [0]);
return _bca ;};_da .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_gbb .String ());_bef ,_bda :=_ff .GetNumberAsFloat (_gf .Params [1]);if _bda !=nil {_da .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",_gf .Params [1]);
return _bca ;};_da .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_bef );_ccf ,_caa :=_gff .GetFontByName (*_gbb );if !_caa {_da .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_gbb .String ());
return _fe .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_da .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_ccf );_eg ,_bbg :=_ff .GetDict (_ccf );if !_bbg {_da .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 _bca ;};_gcb ,_bda :=_be .NewPdfFontFromPdfObject (_eg );if _bda !=nil {_da .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 _bda ;};_cacf :=_gcb .BaseFont ();if _cacf ==""{_cacf =_gbb .String ();};_dgee ,_bbg :=_daf [_cacf ];if !_bbg {_dgee ,_bda =_ac .NewTextFont (_gcb ,_bef );if _bda !=nil {_da .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_bda );};};
if _dgee ==nil {if len (_cacf )> 7&&_cacf [6]=='+'{_cacf =_cacf [7:];};_dcac :=[]string {_cacf ,"\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 _ ,_ddg :=range _dcac {_da .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",_ddg );if _dgee ,_bbg =_daf [_ddg ];
_bbg {break ;};_bdgb :=_faeg .Match (_ddg );if _bdgb ==nil {_da .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",_ddg );continue ;};_dgee ,_bda =_ac .NewTextFontFromPath (_bdgb .Filename ,_bef );
if _bda !=nil {_da .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",_bdgb .Filename );continue ;};_da .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",_cacf ,_bdgb .Name ,_bdgb .Filename );
_daf [_ddg ]=_dgee ;break ;};};if _dgee ==nil {_da .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 _fe .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");};_fb .ProcTf (_dgee .WithSize (_bef ,_gcb ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_da .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",_gf .Operand );
};return nil ;});_cc =_eb .Process (_cfce );if _cc !=nil {return _cc ;};return nil ;};func _dafg (_eac _ff .PdfObject ,_bac _b .Color )(_gc .Image ,error ){_cgg ,_afbd :=_ff .GetStream (_eac );if !_afbd {return nil ,nil ;};_abbf ,_dda :=_be .NewXObjectImageFromStream (_cgg );
if _dda !=nil {return nil ,_dda ;};_bec ,_dda :=_abbf .ToImage ();if _dda !=nil {return nil ,_dda ;};return _beb (_bec ,_bac ),nil ;};func _bfcc (_bad string ,_eef _gc .Image ,_ffd int )error {_cdf ,_dcf :=_a .Create (_bad );if _dcf !=nil {return _dcf ;
};defer _cdf .Close ();return _aa .Encode (_cdf ,_eef ,&_aa .Options {Quality :_ffd });};
// 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 _eab (_ddef ,_dfe _gc .Image )_gc .Image {_bfd ,_bcd :=_dfe .Bounds ().Size (),_ddef .Bounds ().Size ();_adb ,_cdd :=_bfd .X ,_bfd .Y ;if _bcd .X > _adb {_adb =_bcd .X ;};if _bcd .Y > _cdd {_cdd =_bcd .Y ;};_feg :=_gc .Rect (0,0,_adb ,_cdd );
if _bfd .X !=_adb ||_bfd .Y !=_cdd {_fdd :=_gc .NewRGBA (_feg );_fa .BiLinear .Scale (_fdd ,_feg ,_ddef ,_dfe .Bounds (),_fa .Over ,nil );_dfe =_fdd ;};if _bcd .X !=_adb ||_bcd .Y !=_cdd {_gfed :=_gc .NewRGBA (_feg );_fa .BiLinear .Scale (_gfed ,_feg ,_ddef ,_ddef .Bounds (),_fa .Over ,nil );
_ddef =_gfed ;};_fge :=_gc .NewRGBA (_feg );_fa .DrawMask (_fge ,_feg ,_ddef ,_gc .Point {},_dfe ,_gc .Point {},_fa .Over );return _fge ;};var (_bca =_fe .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");_dde =_fe .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");
);
// Render converts the specified PDF page into an image and returns the result.
func (_ec *ImageDevice )Render (page *_be .PdfPage )(_gc .Image ,error ){_dd ,_bcb :=page .GetMediaBox ();if _bcb !=nil {return nil ,_bcb ;};_dd .Normalize ();_ad ,_ee :=_dd .Llx +_dd .Width (),_dd .Lly +_dd .Height ();_afc :=_ad ;_fg :=page .CropBox ;
if _fg !=nil {_fg .Normalize ();_afc =_fg .Llx +_fg .Width ();};_ec ._ba =1.0;if _ec .OutputWidth !=0{_ec ._ba =float64 (_ec .OutputWidth )/_afc ;_ad ,_ee =_ad *_ec ._ba ,_ee *_ec ._ba ;};_ef :=_e .NewContext (int (_ad ),int (_ee ));if _eca :=_ec .renderPage (_ef ,page );
_eca !=nil {return nil ,_eca ;};_aee :=_ef .Image ();if _fg !=nil {_geef ,_afd :=int (_fg .Width ()*_ec ._ba ),int (_fg .Height ()*_ec ._ba );_fae :=_gc .Rect (0,0,_geef ,_afd );_fcf ,_fgb :=int (_fg .Llx *_ec ._ba ),int (_ee -_fg .Ury *_ec ._ba );_dg :=_gc .Pt (_fcf ,_fgb );
_bcbb :=_gc .NewRGBA (_fae );_fc .Draw (_bcbb ,_fae ,_aee ,_dg ,_fc .Src );_aee =_bcbb ;};return _aee ,nil ;};