2020-08-27 21:45:09 +00:00
|
|
|
//
|
|
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
|
|
//
|
|
|
|
// This is a commercial product and requires a license to operate.
|
|
|
|
// A trial license can be obtained at https://unidoc.io
|
|
|
|
//
|
|
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
|
|
//
|
|
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
|
2022-03-13 12:41:53 +00:00
|
|
|
package render ;import (_c "errors";_bfa "fmt";_ab "github.com/adrg/sysfont";_ae "github.com/unidoc/unipdf/v3/common";_ca "github.com/unidoc/unipdf/v3/contentstream";_ge "github.com/unidoc/unipdf/v3/contentstream/draw";_f "github.com/unidoc/unipdf/v3/core";
|
|
|
|
_ag "github.com/unidoc/unipdf/v3/internal/license";_ed "github.com/unidoc/unipdf/v3/internal/transform";_cf "github.com/unidoc/unipdf/v3/model";_fe "github.com/unidoc/unipdf/v3/render/internal/context";_geb "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";
|
|
|
|
_e "golang.org/x/image/draw";_bf "image";_cd "image/color";_gb "image/draw";_ce "image/jpeg";_dc "image/png";_da "math";_a "os";_d "path/filepath";_b "strings";);func _cdcg (_ebed *_cf .Image ,_cfgb _cd .Color )_bf .Image {_dgfb ,_eafd :=int (_ebed .Width ),int (_ebed .Height );
|
|
|
|
_bcf :=_bf .NewRGBA (_bf .Rect (0,0,_dgfb ,_eafd ));for _cdf :=0;_cdf < _eafd ;_cdf ++{for _cggb :=0;_cggb < _dgfb ;_cggb ++{_efb ,_fac :=_ebed .ColorAt (_cggb ,_cdf );if _fac !=nil {_ae .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",_cggb ,_cdf );
|
|
|
|
continue ;};_dcga ,_fbf ,_abg ,_ :=_efb .RGBA ();var _cbgd _cd .Color ;if _dcga +_fbf +_abg ==0{_cbgd =_cd .Transparent ;}else {_cbgd =_cfgb ;};_bcf .Set (_cggb ,_cdf ,_cbgd );};};return _bcf ;};
|
|
|
|
|
|
|
|
// NewImageDevice returns a new image device.
|
|
|
|
func NewImageDevice ()*ImageDevice {const _bg ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_ag .TrackUse (_bg );return &ImageDevice {};};
|
2021-09-23 22:37:42 +00:00
|
|
|
|
|
|
|
// RenderToPath converts the specified PDF page into an image and saves the
|
|
|
|
// result at the specified location.
|
2022-03-13 12:41:53 +00:00
|
|
|
func (_dbc *ImageDevice )RenderToPath (page *_cf .PdfPage ,outputPath string )error {_fb ,_cba :=_dbc .Render (page );if _cba !=nil {return _cba ;};_cfg :=_b .ToLower (_d .Ext (outputPath ));if _cfg ==""{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 _cfg {case "\u002e\u0070\u006e\u0067":return _dgc (outputPath ,_fb );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _aggd (outputPath ,_fb ,100);};return _bfa .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",_cfg );
|
|
|
|
};type renderer struct{_cgg float64 };func _aggd (_gdgd string ,_fbad _bf .Image ,_cfa int )error {_bfed ,_bac :=_a .Create (_gdgd );if _bac !=nil {return _bac ;};defer _bfed .Close ();return _ce .Encode (_bfed ,_fbad ,&_ce .Options {Quality :_cfa });};
|
|
|
|
func (_adb renderer )renderPage (_dcd _fe .Context ,_cdb *_cf .PdfPage ,_eb _ed .Matrix )error {_cgc ,_gbb :=_cdb .GetAllContentStreams ();if _gbb !=nil {return _gbb ;};if _gab :=_eb ;!_gab .Identity (){_cgc =_bfa .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",_gab [0],_gab [1],_gab [3],_gab [4],_gab [6],_gab [7],_cgc );
|
|
|
|
};_dcd .Translate (0,float64 (_dcd .Height ()));_dcd .Scale (1,-1);_dcd .Push ();_dcd .SetRGBA (1,1,1,1);_dcd .DrawRectangle (0,0,float64 (_dcd .Width ()),float64 (_dcd .Height ()));_dcd .Fill ();_dcd .Pop ();_dcd .SetLineWidth (1.0);_dcd .SetRGBA (0,0,0,1);
|
|
|
|
return _adb .renderContentStream (_dcd ,_cgc ,_cdb .Resources );};func _dfa (_acae _f .PdfObject ,_fbe _cd .Color )(_bf .Image ,error ){_cce ,_ccfd :=_f .GetStream (_acae );if !_ccfd {return nil ,nil ;};_aefb ,_fgg :=_cf .NewXObjectImageFromStream (_cce );
|
|
|
|
if _fgg !=nil {return nil ,_fgg ;};_fbb ,_fgg :=_aefb .ToImage ();if _fgg !=nil {return nil ,_fgg ;};return _eaf (_fbb ,_fbe ),nil ;};
|
|
|
|
|
|
|
|
// Render converts the specified PDF page into an image and returns the result.
|
|
|
|
func (_dd *ImageDevice )Render (page *_cf .PdfPage )(_bf .Image ,error ){_ad ,_ade :=page .GetMediaBox ();if _ade !=nil {return nil ,_ade ;};_ad .Normalize ();_aga :=page .CropBox ;var _fc ,_aeg float64 ;if _aga !=nil {_aga .Normalize ();_fc ,_aeg =_aga .Width (),_aga .Height ();
|
|
|
|
};_fa :=page .Rotate ;_db ,_gg ,_ea ,_ggc :=_ad .Llx ,_ad .Lly ,_ad .Width (),_ad .Height ();_ga :=_ed .IdentityMatrix ();if _fa !=nil &&*_fa %360!=0&&*_fa %90==0{_cc :=-float64 (*_fa );_bd :=_add (_ea ,_ggc ,_cc );_ga =_ga .Translate ((_bd .Width -_ea )/2+_ea /2,(_bd .Height -_ggc )/2+_ggc /2).Rotate (_cc *_da .Pi /180).Translate (-_ea /2,-_ggc /2);
|
|
|
|
_ea ,_ggc =_bd .Width ,_bd .Height ;if _aga !=nil {_agg :=_add (_fc ,_aeg ,_cc );_fc ,_aeg =_agg .Width ,_agg .Height ;};};if _db !=0||_gg !=0{_ga =_ga .Translate (-_db ,-_gg );};_dd ._cgg =1.0;if _dd .OutputWidth !=0{_cg :=_ea ;if _aga !=nil {_cg =_fc ;
|
|
|
|
};_dd ._cgg =float64 (_dd .OutputWidth )/_cg ;_ea ,_ggc ,_fc ,_aeg =_ea *_dd ._cgg ,_ggc *_dd ._cgg ,_fc *_dd ._cgg ,_aeg *_dd ._cgg ;_ga =_ed .ScaleMatrix (_dd ._cgg ,_dd ._cgg ).Mult (_ga );};_gea :=_geb .NewContext (int (_ea ),int (_ggc ));if _ec :=_dd .renderPage (_gea ,page ,_ga );
|
|
|
|
_ec !=nil {return nil ,_ec ;};_ff :=_gea .Image ();if _aga !=nil {_edg ,_ee :=(_aga .Llx -_db )*_dd ._cgg ,(_aga .Lly -_gg )*_dd ._cgg ;_bgd :=_bf .Rect (0,0,int (_fc ),int (_aeg ));_cb :=_bf .Pt (int (_edg ),int (_ggc -_ee -_aeg ));_gee :=_bf .NewRGBA (_bgd );
|
|
|
|
_gb .Draw (_gee ,_bgd ,_ff ,_cb ,_gb .Src );_ff =_gee ;};return _ff ,nil ;};var (_ecf =_c .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");_fba =_c .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");
|
|
|
|
);func _fbbg (_caef ,_geff _bf .Image )_bf .Image {_dcc ,_gfcc :=_geff .Bounds ().Size (),_caef .Bounds ().Size ();_fdf ,_caab :=_dcc .X ,_dcc .Y ;if _gfcc .X > _fdf {_fdf =_gfcc .X ;};if _gfcc .Y > _caab {_caab =_gfcc .Y ;};_egc :=_bf .Rect (0,0,_fdf ,_caab );
|
|
|
|
if _dcc .X !=_fdf ||_dcc .Y !=_caab {_gfccc :=_bf .NewRGBA (_egc );_e .BiLinear .Scale (_gfccc ,_egc ,_caef ,_geff .Bounds (),_e .Over ,nil );_geff =_gfccc ;};if _gfcc .X !=_fdf ||_gfcc .Y !=_caab {_cafe :=_bf .NewRGBA (_egc );_e .BiLinear .Scale (_cafe ,_egc ,_caef ,_caef .Bounds (),_e .Over ,nil );
|
|
|
|
_caef =_cafe ;};_gdgf :=_bf .NewRGBA (_egc );_e .DrawMask (_gdgf ,_egc ,_caef ,_bf .Point {},_geff ,_bf .Point {},_e .Over );return _gdgf ;};
|
2021-04-23 20:28:14 +00:00
|
|
|
|
2021-05-11 00:01:27 +00:00
|
|
|
// ImageDevice is used to render PDF pages to image targets.
|
|
|
|
type ImageDevice struct{renderer ;
|
|
|
|
|
|
|
|
// OutputWidth represents the width of the rendered images in pixels.
|
|
|
|
// The heights of the output images are calculated based on the selected
|
|
|
|
// width and the original height of each rendered page.
|
2022-03-13 12:41:53 +00:00
|
|
|
OutputWidth int ;};func _cbcc (_edcd _f .PdfObject ,_dec _cd .Color )(_bf .Image ,error ){_gcc ,_agea :=_f .GetStream (_edcd );if !_agea {return nil ,nil ;};_ggdc ,_gebd :=_cf .NewXObjectImageFromStream (_gcc );if _gebd !=nil {return nil ,_gebd ;};_gbe ,_gebd :=_ggdc .ToImage ();
|
|
|
|
if _gebd !=nil {return nil ,_gebd ;};return _cdcg (_gbe ,_dec ),nil ;};func _dgc (_dba string ,_eggb _bf .Image )error {_accd ,_baa :=_a .Create (_dba );if _baa !=nil {return _baa ;};defer _accd .Close ();return _dc .Encode (_accd ,_eggb );};func _eaf (_acf *_cf .Image ,_eafe _cd .Color )_bf .Image {_eab ,_gge :=int (_acf .Width ),int (_acf .Height );
|
|
|
|
_dfe :=_bf .NewRGBA (_bf .Rect (0,0,_eab ,_gge ));for _eeda :=0;_eeda < _gge ;_eeda ++{for _cbcg :=0;_cbcg < _eab ;_cbcg ++{_fafd ,_dgfd :=_acf .ColorAt (_cbcg ,_eeda );if _dgfd !=nil {_ae .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",_cbcg ,_eeda );
|
|
|
|
continue ;};_bbf ,_bcg ,_aebc ,_ :=_fafd .RGBA ();var _aaef _cd .Color ;if _bbf +_bcg +_aebc ==0{_aaef =_eafe ;}else {_aaef =_cd .Transparent ;};_dfe .Set (_cbcg ,_eeda ,_aaef );};};return _dfe ;};func (_abd renderer )renderContentStream (_gd _fe .Context ,_gdb string ,_ffa *_cf .PdfPageResources )error {_ccg ,_eda :=_ca .NewContentStreamParser (_gdb ).Parse ();
|
|
|
|
if _eda !=nil {return _eda ;};_eg :=_gd .TextState ();_eg .GlobalScale =_abd ._cgg ;_bb :=map[string ]*_fe .TextFont {};_cdc :=_ab .NewFinder (&_ab .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});_ebe :=_ca .NewContentStreamProcessor (*_ccg );
|
|
|
|
_ebe .AddHandler (_ca .HandlerConditionEnumAllOperands ,"",func (_gae *_ca .ContentStreamOperation ,_gdg _ca .GraphicsState ,_de *_cf .PdfPageResources )error {_ae .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_gae .Operand );
|
|
|
|
switch _gae .Operand {case "\u0071":_gd .Push ();case "\u0051":_gd .Pop ();_eg =_gd .TextState ();case "\u0063\u006d":if len (_gae .Params )!=6{return _fba ;};_gf ,_dcg :=_f .GetNumbersAsFloat (_gae .Params );if _dcg !=nil {return _dcg ;};_fd :=_ed .NewMatrix (_gf [0],_gf [1],_gf [2],_gf [3],_gf [4],_gf [5]);
|
|
|
|
_ae .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",_fd );_gd .SetMatrix (_gd .Matrix ().Mult (_fd ));case "\u0077":if len (_gae .Params )!=1{return _fba ;
|
|
|
|
};_geab ,_ac :=_f .GetNumbersAsFloat (_gae .Params );if _ac !=nil {return _ac ;};_gd .SetLineWidth (_geab [0]);case "\u004a":if len (_gae .Params )!=1{return _fba ;};_df ,_bc :=_f .GetIntVal (_gae .Params [0]);if !_bc {return _ecf ;};switch _df {case 0:_gd .SetLineCap (_fe .LineCapButt );
|
|
|
|
case 1:_gd .SetLineCap (_fe .LineCapRound );case 2:_gd .SetLineCap (_fe .LineCapSquare );default:_ae .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",_df );
|
|
|
|
return _fba ;};case "\u006a":if len (_gae .Params )!=1{return _fba ;};_gfc ,_ecg :=_f .GetIntVal (_gae .Params [0]);if !_ecg {return _ecf ;};switch _gfc {case 0:_gd .SetLineJoin (_fe .LineJoinBevel );case 1:_gd .SetLineJoin (_fe .LineJoinRound );case 2:_gd .SetLineJoin (_fe .LineJoinBevel );
|
|
|
|
default:_ae .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",_gfc );return _fba ;};case "\u004d":if len (_gae .Params )!=1{return _fba ;};_edd ,_edc :=_f .GetNumbersAsFloat (_gae .Params );
|
|
|
|
if _edc !=nil {return _edc ;};_ =_edd ;_ae .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 (_gae .Params )!=2{return _fba ;};_bdg ,_fbc :=_f .GetArray (_gae .Params [0]);
|
|
|
|
if !_fbc {return _ecf ;};_ggb ,_fbc :=_f .GetIntVal (_gae .Params [1]);if !_fbc {return _ecf ;};_gac ,_aed :=_f .GetNumbersAsFloat (_bdg .Elements ());if _aed !=nil {return _aed ;};_gd .SetDash (_gac ...);_ =_ggb ;_ae .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":_ae .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":_ae .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 (_gae .Params )!=1{return _fba ;};_aeb ,_fcd :=_f .GetName (_gae .Params [0]);if !_fcd {return _ecf ;};if _aeb ==nil {return _fba ;};_dbb ,_fcd :=_de .GetExtGState (*_aeb );if !_fcd {_ae .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",*_aeb );
|
|
|
|
return _c .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_fce ,_fcd :=_f .GetDict (_dbb );if !_fcd {_ae .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 _ecf ;};_ae .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_fce .String ());case "\u006d":if len (_gae .Params )!=2{_ae .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",_fba );
|
|
|
|
return nil ;};_ba ,_cbc :=_f .GetNumbersAsFloat (_gae .Params );if _cbc !=nil {return _cbc ;};_ae .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_ba );_gd .NewSubPath ();_gd .MoveTo (_ba [0],_ba [1]);case "\u006c":if len (_gae .Params )!=2{_ae .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",_fba );
|
|
|
|
return nil ;};_gef ,_def :=_f .GetNumbersAsFloat (_gae .Params );if _def !=nil {return _def ;};_gd .LineTo (_gef [0],_gef [1]);case "\u0063":if len (_gae .Params )!=6{return _fba ;};_gc ,_bff :=_f .GetNumbersAsFloat (_gae .Params );if _bff !=nil {return _bff ;
|
|
|
|
};_ae .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_gc );_gd .CubicTo (_gc [0],_gc [1],_gc [2],_gc [3],_gc [4],_gc [5]);case "\u0076","\u0079":if len (_gae .Params )!=4{return _fba ;
|
|
|
|
};_cbb ,_gdc :=_f .GetNumbersAsFloat (_gae .Params );if _gdc !=nil {return _gdc ;};_ae .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_cbb );_gd .QuadraticTo (_cbb [0],_cbb [1],_cbb [2],_cbb [3]);
|
|
|
|
case "\u0068":_gd .ClosePath ();_gd .NewSubPath ();case "\u0072\u0065":if len (_gae .Params )!=4{return _fba ;};_dea ,_cec :=_f .GetNumbersAsFloat (_gae .Params );if _cec !=nil {return _cec ;};_gd .DrawRectangle (_dea [0],_dea [1],_dea [2],_dea [3]);_gd .NewSubPath ();
|
|
|
|
case "\u0053":_egd ,_dge :=_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );if _dge !=nil {_ae .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 ;};_abe ,_cggg :=_egd .(*_cf .PdfColorDeviceRGB );if !_cggg {_ae .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _dge ;};_gd .SetRGBA (_abe .R (),_abe .G (),_abe .B (),1);
|
|
|
|
_gd .Stroke ();case "\u0073":_be ,_dab :=_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );if _dab !=nil {_ae .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",_dab );
|
|
|
|
return _dab ;};_ggcb ,_bab :=_be .(*_cf .PdfColorDeviceRGB );if !_bab {_ae .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _dab ;};_gd .ClosePath ();_gd .NewSubPath ();
|
|
|
|
_gd .SetRGBA (_ggcb .R (),_ggcb .G (),_ggcb .B (),1);_gd .Stroke ();case "\u0066","\u0046":_eaa ,_adbg :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _adbg !=nil {_ae .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",_adbg );
|
|
|
|
return _adbg ;};_dcdf ,_cfd :=_eaa .(*_cf .PdfColorDeviceRGB );if !_cfd {_ae .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _adbg ;};_gd .SetRGBA (_dcdf .R (),_dcdf .G (),_dcdf .B (),1);
|
|
|
|
_gd .SetFillRule (_fe .FillRuleWinding );_gd .Fill ();case "\u0066\u002a":_gbg ,_ace :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _ace !=nil {_ae .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",_ace );
|
|
|
|
return _ace ;};_cac ,_dga :=_gbg .(*_cf .PdfColorDeviceRGB );if !_dga {_ae .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _ace ;};_gd .SetRGBA (_cac .R (),_cac .G (),_cac .B (),1);
|
|
|
|
_gd .SetFillRule (_fe .FillRuleEvenOdd );_gd .Fill ();case "\u0042":_ggd ,_fbd :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _fbd !=nil {_ae .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",_fbd );
|
|
|
|
return _fbd ;};_aca :=_ggd .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_aca .R (),_aca .G (),_aca .B (),1);_gd .SetFillRule (_fe .FillRuleWinding );_gd .FillPreserve ();_ggd ,_fbd =_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );if _fbd !=nil {_ae .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",_fbd );
|
|
|
|
return _fbd ;};_aca =_ggd .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_aca .R (),_aca .G (),_aca .B (),1);_gd .Stroke ();case "\u0042\u002a":_af ,_fad :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _fad !=nil {_ae .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",_fad );
|
|
|
|
return _fad ;};_aeda :=_af .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_aeda .R (),_aeda .G (),_aeda .B (),1);_gd .SetFillRule (_fe .FillRuleEvenOdd );_gd .FillPreserve ();_af ,_fad =_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );if _fad !=nil {_ae .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",_fad );
|
|
|
|
return _fad ;};_aeda =_af .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_aeda .R (),_aeda .G (),_aeda .B (),1);_gd .Stroke ();case "\u0062":_faf ,_dce :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _dce !=nil {_ae .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",_dce );
|
|
|
|
return _dce ;};_egg :=_faf .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_egg .R (),_egg .G (),_egg .B (),1);_gd .ClosePath ();_gd .NewSubPath ();_gd .SetFillRule (_fe .FillRuleWinding );_gd .FillPreserve ();_faf ,_dce =_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );
|
|
|
|
if _dce !=nil {_ae .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",_dce );return _dce ;};_egg =_faf .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_egg .R (),_egg .G (),_egg .B (),1);
|
|
|
|
_gd .Stroke ();case "\u0062\u002a":_gd .ClosePath ();_afb ,_bcc :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _bcc !=nil {_ae .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bcc );
|
|
|
|
return _bcc ;};_caa :=_afb .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_caa .R (),_caa .G (),_caa .B (),1);_gd .NewSubPath ();_gd .SetFillRule (_fe .FillRuleEvenOdd );_gd .FillPreserve ();_afb ,_bcc =_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );
|
|
|
|
if _bcc !=nil {_ae .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_bcc );return _bcc ;};_caa =_afb .(*_cf .PdfColorDeviceRGB );_gd .SetRGBA (_caa .R (),_caa .G (),_caa .B (),1);
|
|
|
|
_gd .Stroke ();case "\u006e":_gd .ClearPath ();case "\u0057":_gd .SetFillRule (_fe .FillRuleWinding );_gd .ClipPreserve ();case "\u0057\u002a":_gd .SetFillRule (_fe .FillRuleEvenOdd );_gd .ClipPreserve ();case "\u0072\u0067":_gdbe ,_daf :=_gdg .ColorNonStroking .(*_cf .PdfColorDeviceRGB );
|
|
|
|
if !_daf {_ae .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",_gdg .ColorNonStroking );return nil ;};_gd .SetFillRGBA (_gdbe .R (),_gdbe .G (),_gdbe .B (),1);
|
|
|
|
case "\u0052\u0047":_aee ,_cbd :=_gdg .ColorStroking .(*_cf .PdfColorDeviceRGB );if !_cbd {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_gd .SetStrokeRGBA (_aee .R (),_aee .G (),_aee .B (),1);case "\u006b":_gfe ,_ggbd :=_gdg .ColorNonStroking .(*_cf .PdfColorDeviceCMYK );if !_ggbd {_ae .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",_gdg .ColorNonStroking );
|
|
|
|
return nil ;};_ebb ,_ddd :=_gdg .ColorspaceNonStroking .ColorToRGB (_gfe );if _ddd !=nil {_ae .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",_gdg .ColorNonStroking );
|
|
|
|
return nil ;};_gcb ,_ggbd :=_ebb .(*_cf .PdfColorDeviceRGB );if !_ggbd {_ae .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",_ebb );return nil ;
|
|
|
|
};_gd .SetFillRGBA (_gcb .R (),_gcb .G (),_gcb .B (),1);case "\u004b":_bca ,_cee :=_gdg .ColorStroking .(*_cf .PdfColorDeviceCMYK );if !_cee {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_cbg ,_aebb :=_gdg .ColorspaceStroking .ColorToRGB (_bca );if _aebb !=nil {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_fda ,_cee :=_cbg .(*_cf .PdfColorDeviceRGB );if !_cee {_ae .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",_cbg );return nil ;
|
|
|
|
};_gd .SetStrokeRGBA (_fda .R (),_fda .G (),_fda .B (),1);case "\u0067":_fcb ,_dgf :=_gdg .ColorNonStroking .(*_cf .PdfColorDeviceGray );if !_dgf {_ae .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",_gdg .ColorNonStroking );
|
|
|
|
return nil ;};_gbf ,_dbg :=_gdg .ColorspaceNonStroking .ColorToRGB (_fcb );if _dbg !=nil {_ae .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",_gdg .ColorNonStroking );
|
|
|
|
return nil ;};_dac ,_dgf :=_gbf .(*_cf .PdfColorDeviceRGB );if !_dgf {_ae .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",_gbf );return nil ;
|
|
|
|
};_gd .SetFillRGBA (_dac .R (),_dac .G (),_dac .B (),1);case "\u0047":_bfc ,_bef :=_gdg .ColorStroking .(*_cf .PdfColorDeviceGray );if !_bef {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_fbag ,_bfe :=_gdg .ColorspaceStroking .ColorToRGB (_bfc );if _bfe !=nil {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_aa ,_bef :=_fbag .(*_cf .PdfColorDeviceRGB );if !_bef {_ae .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",_fbag );return nil ;
|
|
|
|
};_gd .SetStrokeRGBA (_aa .R (),_aa .G (),_aa .B (),1);case "\u0063\u0073","\u0073\u0063","\u0073\u0063\u006e":_aggb ,_fff :=_gdg .ColorspaceNonStroking .ColorToRGB (_gdg .ColorNonStroking );if _fff !=nil {_ae .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",_gdg .ColorNonStroking );
|
|
|
|
return nil ;};_deff ,_ede :=_aggb .(*_cf .PdfColorDeviceRGB );if !_ede {_ae .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",_aggb );return nil ;
|
|
|
|
};_gd .SetFillRGBA (_deff .R (),_deff .G (),_deff .B (),1);case "\u0043\u0053","\u0053\u0043","\u0053\u0043\u004e":_cdg ,_gaa :=_gdg .ColorspaceStroking .ColorToRGB (_gdg .ColorStroking );if _gaa !=nil {_ae .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",_gdg .ColorStroking );
|
|
|
|
return nil ;};_bce ,_gbgb :=_cdg .(*_cf .PdfColorDeviceRGB );if !_gbgb {_ae .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",_cdg );return nil ;
|
|
|
|
};_gd .SetStrokeRGBA (_bce .R (),_bce .G (),_bce .B (),1);case "\u0044\u006f":if len (_gae .Params )!=1{return _fba ;};_efa ,_cbca :=_f .GetName (_gae .Params [0]);if !_cbca {return _ecf ;};_ ,_beb :=_de .GetXObjectByName (*_efa );switch _beb {case _cf .XObjectTypeImage :_ae .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_efa .String ());
|
|
|
|
_age ,_dcb :=_de .GetXObjectImageByName (*_efa );if _dcb !=nil {return _dcb ;};_bgg ,_dcb :=_age .ToImage ();if _dcb !=nil {return _dcb ;};if _gga :=_age .ColorSpace ;_gga !=nil {var _acc bool ;switch _gga .(type ){case *_cf .PdfColorspaceSpecialIndexed :_acc =true ;
|
|
|
|
};if _acc {if _edb ,_cbe :=_gga .ImageToRGB (*_bgg );_cbe !=nil {_ae .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 {_bgg =&_edb ;};};};_bec :=_gd .FillPattern ().ColorAt (0,0);var _efd _bf .Image ;if _age .Mask !=nil {if _efd ,_dcb =_dfa (_age .Mask ,_bec );_dcb !=nil {_ae .Log .Debug ("\u0057\u0041\u0052\u004e\u003a \u0063\u006f\u0075\u006c\u0064 \u006eo\u0074\u0020\u0067\u0065\u0074\u0020\u0065\u0078\u0070\u006c\u0069\u0063\u0069\u0074\u0020\u0069\u006d\u0061\u0067e\u0020\u006d\u0061\u0073\u006b\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063o\u0072\u0072\u0065\u0063\u0074\u002e");
|
|
|
|
};}else if _age .SMask !=nil {if _efd ,_dcb =_cbcc (_age .SMask ,_bec );_dcb !=nil {_ae .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0067\u0065\u0074\u0020\u0073\u006f\u0066\u0074\u0020\u0069\u006da\u0067e\u0020\u006d\u0061\u0073k\u002e\u0020O\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u002e");
|
|
|
|
};};var _fdc _bf .Image ;if _eed ,_ :=_f .GetBoolVal (_age .ImageMask );_eed {_fdc =_eaf (_bgg ,_bec );}else {_fdc ,_dcb =_bgg .ToGoImage ();if _dcb !=nil {return _dcb ;};};if _efd !=nil {_fdc =_fbbg (_fdc ,_efd );};_aae :=_fdc .Bounds ();_gd .Push ();
|
|
|
|
_gd .Scale (1.0/float64 (_aae .Dx ()),-1.0/float64 (_aae .Dy ()));_gd .DrawImageAnchored (_fdc ,0,0,0,1);_gd .Pop ();case _cf .XObjectTypeForm :_ae .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_efa .String ());
|
|
|
|
_daa ,_eaaa :=_de .GetXObjectFormByName (*_efa );if _eaaa !=nil {return _eaaa ;};_defd ,_eaaa :=_daa .GetContentStream ();if _eaaa !=nil {return _eaaa ;};_edea :=_daa .Resources ;if _edea ==nil {_edea =_de ;};_gd .Push ();if _daa .Matrix !=nil {_bdb ,_bea :=_f .GetArray (_daa .Matrix );
|
|
|
|
if !_bea {return _ecf ;};_ddf ,_fbcd :=_f .GetNumbersAsFloat (_bdb .Elements ());if _fbcd !=nil {return _fbcd ;};if len (_ddf )!=6{return _fba ;};_ebd :=_ed .NewMatrix (_ddf [0],_ddf [1],_ddf [2],_ddf [3],_ddf [4],_ddf [5]);_gd .SetMatrix (_gd .Matrix ().Mult (_ebd ));
|
|
|
|
};if _daa .BBox !=nil {_gde ,_edge :=_f .GetArray (_daa .BBox );if !_edge {return _ecf ;};_bgc ,_agf :=_f .GetNumbersAsFloat (_gde .Elements ());if _agf !=nil {return _agf ;};if len (_bgc )!=4{_ae .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_bgc ));
|
|
|
|
return _fba ;};_gd .DrawRectangle (_bgc [0],_bgc [1],_bgc [2]-_bgc [0],_bgc [3]-_bgc [1]);_gd .SetRGBA (1,0,0,1);_gd .Clip ();}else {_ae .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");
|
|
|
|
};_eaaa =_abd .renderContentStream (_gd ,string (_defd ),_edea );if _eaaa !=nil {return _eaaa ;};_gd .Pop ();};case "\u0042\u0049":if len (_gae .Params )!=1{return _fba ;};_dgab ,_cea :=_gae .Params [0].(*_ca .ContentStreamInlineImage );if !_cea {return nil ;
|
|
|
|
};_adg ,_fdac :=_dgab .ToImage (_de );if _fdac !=nil {return _fdac ;};_ggf ,_fdac :=_adg .ToGoImage ();if _fdac !=nil {return _fdac ;};_cgb :=_ggf .Bounds ();_gd .Push ();_gd .Scale (1.0/float64 (_cgb .Dx ()),-1.0/float64 (_cgb .Dy ()));_gd .DrawImageAnchored (_ggf ,0,0,0,1);
|
|
|
|
_gd .Pop ();case "\u0042\u0054":_eg .Reset ();case "\u0045\u0054":_eg .Reset ();case "\u0054\u0072":if len (_gae .Params )!=1{return _fba ;};_gacg ,_fffc :=_f .GetNumberAsFloat (_gae .Params [0]);if _fffc !=nil {return _fffc ;};_eg .Tr =_fe .TextRenderingMode (_gacg );
|
|
|
|
case "\u0054\u004c":if len (_gae .Params )!=1{return _fba ;};_cae ,_eff :=_f .GetNumberAsFloat (_gae .Params [0]);if _eff !=nil {return _eff ;};_eg .Tl =_cae ;case "\u0054\u0063":if len (_gae .Params )!=1{return _fba ;};_fg ,_ded :=_f .GetNumberAsFloat (_gae .Params [0]);
|
|
|
|
if _ded !=nil {return _ded ;};_ae .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_fg );_eg .Tc =_fg ;case "\u0054\u0077":if len (_gae .Params )!=1{return _fba ;};_ccf ,_bae :=_f .GetNumberAsFloat (_gae .Params [0]);if _bae !=nil {return _bae ;};_ae .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_ccf );
|
|
|
|
_eg .Tw =_ccf ;case "\u0054\u007a":if len (_gae .Params )!=1{return _fba ;};_dag ,_dcec :=_f .GetNumberAsFloat (_gae .Params [0]);if _dcec !=nil {return _dcec ;};_eg .Th =_dag ;case "\u0054\u0073":if len (_gae .Params )!=1{return _fba ;};_ggag ,_fcdf :=_f .GetNumberAsFloat (_gae .Params [0]);
|
|
|
|
if _fcdf !=nil {return _fcdf ;};_eg .Ts =_ggag ;case "\u0054\u0064":if len (_gae .Params )!=2{return _fba ;};_dgb ,_dee :=_f .GetNumbersAsFloat (_gae .Params );if _dee !=nil {return _dee ;};_ae .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_dgb );
|
|
|
|
_eg .ProcTd (_dgb [0],_dgb [1]);case "\u0054\u0044":if len (_gae .Params )!=2{return _fba ;};_fcc ,_caf :=_f .GetNumbersAsFloat (_gae .Params );if _caf !=nil {return _caf ;};_ae .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_fcc );_eg .ProcTD (_fcc [0],_fcc [1]);
|
|
|
|
case "\u0054\u002a":_eg .ProcTStar ();case "\u0054\u006d":if len (_gae .Params )!=6{return _fba ;};_ccc ,_cad :=_f .GetNumbersAsFloat (_gae .Params );if _cad !=nil {return _cad ;};_ae .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_ccc );
|
|
|
|
_eg .ProcTm (_ccc [0],_ccc [1],_ccc [2],_ccc [3],_ccc [4],_ccc [5]);case "\u0027":if len (_gae .Params )!=1{return _fba ;};_cgcc ,_gbfc :=_f .GetStringBytes (_gae .Params [0]);if !_gbfc {return _ecf ;};_ae .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_cgcc ));
|
|
|
|
_eg .ProcQ (_cgcc ,_gd );case "\u0022":if len (_gae .Params )!=3{return _fba ;};_bbd ,_fec :=_f .GetNumberAsFloat (_gae .Params [0]);if _fec !=nil {return _fec ;};_abb ,_fec :=_f .GetNumberAsFloat (_gae .Params [1]);if _fec !=nil {return _fec ;};_deaa ,_egf :=_f .GetStringBytes (_gae .Params [2]);
|
|
|
|
if !_egf {return _ecf ;};_eg .ProcDQ (_deaa ,_bbd ,_abb ,_gd );case "\u0054\u006a":if len (_gae .Params )!=1{return _fba ;};_fcf ,_bggc :=_f .GetStringBytes (_gae .Params [0]);if !_bggc {return _ecf ;};_ae .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_fcf ));
|
|
|
|
_eg .ProcTj (_fcf ,_gd );case "\u0054\u004a":if len (_gae .Params )!=1{return _fba ;};_acd ,_dfd :=_f .GetArray (_gae .Params [0]);if !_dfd {_ae .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_acd );return _ecf ;};_ae .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_acd );
|
|
|
|
for _ ,_bgb :=range _acd .Elements (){switch _fae :=_bgb .(type ){case *_f .PdfObjectString :if _fae !=nil {_eg .ProcTj (_fae .Bytes (),_gd );};case *_f .PdfObjectFloat ,*_f .PdfObjectInteger :_efc ,_edec :=_f .GetNumberAsFloat (_fae );if _edec ==nil {_eg .Translate (-_efc *0.001*_eg .Tf .Size *_eg .Th /100.0,0);
|
|
|
|
};};};case "\u0054\u0066":if len (_gae .Params )!=2{return _fba ;};_ae .Log .Debug ("\u0025\u0023\u0076",_gae .Params );_fbdg ,_ccgd :=_f .GetName (_gae .Params [0]);if !_ccgd ||_fbdg ==nil {_ae .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",_gae .Params [0]);
|
|
|
|
return _ecf ;};_ae .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_fbdg .String ());_cfe ,_acg :=_f .GetNumberAsFloat (_gae .Params [1]);if _acg !=nil {_ae .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",_gae .Params [1]);
|
|
|
|
return _ecf ;};_ae .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_cfe );_afa ,_feg :=_de .GetFontByName (*_fbdg );if !_feg {_ae .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_fbdg .String ());
|
|
|
|
return _c .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_ae .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_afa );_dcf ,_ccgd :=_f .GetDict (_afa );if !_ccgd {_ae .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 _ecf ;};_aef ,_acg :=_cf .NewPdfFontFromPdfObject (_dcf );if _acg !=nil {_ae .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 _acg ;};_cca :=_aef .BaseFont ();if _cca ==""{_cca =_fbdg .String ();};_fcec ,_ccgd :=_bb [_cca ];if !_ccgd {_fcec ,_acg =_fe .NewTextFont (_aef ,_cfe );if _acg !=nil {_ae .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_acg );};};if _fcec ==nil {if len (_cca )> 7&&_cca [6]=='+'{_cca =_cca [7:];
|
|
|
|
};_eaag :=[]string {_cca ,"\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 _ ,_ddfc :=range _eaag {_ae .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",_ddfc );
|
|
|
|
if _fcec ,_ccgd =_bb [_ddfc ];_ccgd {break ;};_dcgf :=_cdc .Match (_ddfc );if _dcgf ==nil {_ae .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",_ddfc );
|
|
|
|
continue ;};_fcec ,_acg =_fe .NewTextFontFromPath (_dcgf .Filename ,_cfe );if _acg !=nil {_ae .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",_dcgf .Filename );
|
|
|
|
continue ;};_ae .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",_cca ,_dcgf .Name ,_dcgf .Filename );
|
|
|
|
_bb [_ddfc ]=_fcec ;break ;};};if _fcec ==nil {_ae .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");};_eg .ProcTf (_fcec .WithSize (_cfe ,_aef ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_ae .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",_gae .Operand );
|
|
|
|
};return nil ;});_eda =_ebe .Process (_ffa );if _eda !=nil {return _eda ;};return nil ;};func _add (_agb ,_cadd ,_eggg float64 )_ge .BoundingBox {return _ge .Path {Points :[]_ge .Point {_ge .NewPoint (0,0).Rotate (_eggg ),_ge .NewPoint (_agb ,0).Rotate (_eggg ),_ge .NewPoint (0,_cadd ).Rotate (_eggg ),_ge .NewPoint (_agb ,_cadd ).Rotate (_eggg )}}.GetBoundingBox ();
|
|
|
|
};
|