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/
|
|
|
|
|
2024-05-29 17:04:37 +00:00
|
|
|
package render ;import (_c "errors";_feg "fmt";_fg "github.com/adrg/sysfont";_ed "github.com/unidoc/unipdf/v3/annotator";_gg "github.com/unidoc/unipdf/v3/common";_ec "github.com/unidoc/unipdf/v3/contentstream";_ee "github.com/unidoc/unipdf/v3/contentstream/draw";
|
|
|
|
_ff "github.com/unidoc/unipdf/v3/core";_cd "github.com/unidoc/unipdf/v3/internal/license";_dg "github.com/unidoc/unipdf/v3/internal/transform";_cf "github.com/unidoc/unipdf/v3/model";_edg "github.com/unidoc/unipdf/v3/render/internal/context";_fa "github.com/unidoc/unipdf/v3/render/internal/context/imagerender";
|
|
|
|
_ca "golang.org/x/image/draw";_afb "image";_de "image/color";_g "image/draw";_e "image/jpeg";_fe "image/png";_fb "math";_d "os";_af "path/filepath";_f "strings";);
|
2023-12-17 13:54:01 +00:00
|
|
|
|
2024-03-27 22:34:33 +00:00
|
|
|
// NewImageDevice returns a new image device.
|
2024-05-29 17:04:37 +00:00
|
|
|
func NewImageDevice ()*ImageDevice {const _b ="r\u0065\u006e\u0064\u0065r.\u004ee\u0077\u0049\u006d\u0061\u0067e\u0044\u0065\u0076\u0069\u0063\u0065";_cd .TrackUse (_b );return &ImageDevice {};};func _gdef (_afce _ff .PdfObject ,_eddb _de .Color )(_afb .Image ,error ){_dbec ,_ecab :=_ff .GetStream (_afce );
|
|
|
|
if !_ecab {return nil ,nil ;};_dgee ,_bbcc :=_cf .NewXObjectImageFromStream (_dbec );if _bbcc !=nil {return nil ,_bbcc ;};_gdee ,_bbcc :=_dgee .ToImage ();if _bbcc !=nil {return nil ,_bbcc ;};return _dfg (_gdee ,_eddb ),nil ;};func _dfg (_fddd *_cf .Image ,_gead _de .Color )_afb .Image {_gefd ,_gfde :=int (_fddd .Width ),int (_fddd .Height );
|
|
|
|
_bbe :=_afb .NewRGBA (_afb .Rect (0,0,_gefd ,_gfde ));for _bfg :=0;_bfg < _gfde ;_bfg ++{for _dac :=0;_dac < _gefd ;_dac ++{_cfe ,_gee :=_fddd .ColorAt (_dac ,_bfg );if _gee !=nil {_gg .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",_dac ,_bfg );
|
|
|
|
continue ;};_dcac ,_abcb ,_efdf ,_ :=_cfe .RGBA ();var _fbbg _de .Color ;if _dcac +_abcb +_efdf ==0{_fbbg =_gead ;}else {_fbbg =_de .Transparent ;};_bbe .Set (_dac ,_bfg ,_fbbg );};};return _bbe ;};
|
2023-06-30 13:19:48 +00:00
|
|
|
|
2023-10-07 13:58:01 +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.
|
2024-05-29 17:04:37 +00:00
|
|
|
OutputWidth int ;};func _aabe (_bgea _edg .Gradient ,_beb *_cf .PdfFunctionType3 ,_bed _cf .PdfColorspace ,_ecf []float64 )(_edg .Gradient ,error ){var _ffcb error ;for _cace :=0;_cace < len (_beb .Functions );_cace ++{if _cbgg ,_fcf :=_beb .Functions [_cace ].(*_cf .PdfFunctionType2 );
|
|
|
|
_fcf {_bgea ,_ffcb =_badc (_bgea ,_cbgg ,_bed ,_ecf [_cace +1],_cace ==0);if _ffcb !=nil {return nil ,_ffcb ;};};};return _bgea ,nil ;};func _gfg (_egfff string ,_dcde _afb .Image )error {_edcc ,_bec :=_d .Create (_egfff );if _bec !=nil {return _bec ;};
|
|
|
|
defer _edcc .Close ();return _fe .Encode (_edcc ,_dcde );};func (_cba renderer )processGradient (_bdad _edg .Context ,_fcde *_ec .ContentStreamOperation ,_fgbaf *_cf .PdfPageResources ,_beag *_ff .PdfObjectName )(_edg .Gradient ,error ){if _dgd ,_ceb :=_fgbaf .GetPatternByName (*_beag );
|
|
|
|
_ceb &&_dgd .IsShading (){_bdd :=_dgd .GetAsShadingPattern ().Shading ;_bccf ,_ ,_bbc :=_cba .processShading (_bdad ,_bdd );if _bbc !=nil {return nil ,_bbc ;};return _bccf ,nil ;};return nil ,nil ;};const (ShadingTypeFunctionBased PdfShadingType =1;ShadingTypeAxial PdfShadingType =2;
|
|
|
|
ShadingTypeRadial PdfShadingType =3;ShadingTypeFreeForm PdfShadingType =4;ShadingTypeLatticeForm PdfShadingType =5;ShadingTypeCoons PdfShadingType =6;ShadingTypeTensorProduct PdfShadingType =7;);var (_dgc =_c .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");
|
|
|
|
_dd =_c .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072"););func _daa (_gcff ,_gagf _afb .Image )_afb .Image {_aage ,_ebg :=_gagf .Bounds ().Size (),_gcff .Bounds ().Size ();_aaf ,_defe :=_aage .X ,_aage .Y ;
|
|
|
|
if _ebg .X > _aaf {_aaf =_ebg .X ;};if _ebg .Y > _defe {_defe =_ebg .Y ;};_gcca :=_afb .Rect (0,0,_aaf ,_defe );if _aage .X !=_aaf ||_aage .Y !=_defe {_dgcg :=_afb .NewRGBA (_gcca );_ca .BiLinear .Scale (_dgcg ,_gcca ,_gcff ,_gagf .Bounds (),_ca .Over ,nil );
|
|
|
|
_gagf =_dgcg ;};if _ebg .X !=_aaf ||_ebg .Y !=_defe {_cabc :=_afb .NewRGBA (_gcca );_ca .BiLinear .Scale (_cabc ,_gcca ,_gcff ,_gcff .Bounds (),_ca .Over ,nil );_gcff =_cabc ;};_daad :=_afb .NewRGBA (_gcca );_ca .DrawMask (_daad ,_gcca ,_gcff ,_afb .Point {},_gagf ,_afb .Point {},_ca .Over );
|
|
|
|
return _daad ;};
|
|
|
|
|
|
|
|
// RenderWithOpts converts the specified PDF page into an image, optionally flattens annotations and returns the result.
|
|
|
|
func (_cc *ImageDevice )RenderWithOpts (page *_cf .PdfPage ,skipFlattening bool )(_afb .Image ,error ){_def ,_db :=page .GetMediaBox ();if _db !=nil {return nil ,_db ;};_def .Normalize ();_dgb :=page .CropBox ;var _dc ,_aa float64 ;if _dgb !=nil {_dgb .Normalize ();
|
|
|
|
_dc ,_aa =_dgb .Width (),_dgb .Height ();};_eg :=page .Rotate ;_cg ,_fef ,_fga ,_ag :=_def .Llx ,_def .Lly ,_def .Width (),_def .Height ();_afbg :=_dg .IdentityMatrix ();if _eg !=nil &&*_eg %360!=0&&*_eg %90==0{_fba :=-float64 (*_eg );_ge :=_fadb (_fga ,_ag ,_fba );
|
|
|
|
_afbg =_afbg .Translate ((_ge .Width -_fga )/2+_fga /2,(_ge .Height -_ag )/2+_ag /2).Rotate (_fba *_fb .Pi /180).Translate (-_fga /2,-_ag /2);_fga ,_ag =_ge .Width ,_ge .Height ;if _dgb !=nil {_ad :=_fadb (_dc ,_aa ,_fba );_dc ,_aa =_ad .Width ,_ad .Height ;
|
|
|
|
};};if _cg !=0||_fef !=0{_afbg =_afbg .Translate (-_cg ,-_fef );};_cc ._fac =1.0;if _cc .OutputWidth !=0{_be :=_fga ;if _dgb !=nil {_be =_dc ;};_cc ._fac =float64 (_cc .OutputWidth )/_be ;_fga ,_ag ,_dc ,_aa =_fga *_cc ._fac ,_ag *_cc ._fac ,_dc *_cc ._fac ,_aa *_cc ._fac ;
|
|
|
|
_afbg =_dg .ScaleMatrix (_cc ._fac ,_cc ._fac ).Mult (_afbg );};_cdf :=_fa .NewContext (int (_fga ),int (_ag ));if _ac :=_cc .renderPage (_cdf ,page ,_afbg ,skipFlattening );_ac !=nil {return nil ,_ac ;};_ae :=_cdf .Image ();if _dgb !=nil {_cb ,_df :=(_dgb .Llx -_cg )*_cc ._fac ,(_dgb .Lly -_fef )*_cc ._fac ;
|
|
|
|
_fega :=_afb .Rect (0,0,int (_dc ),int (_aa ));_ab :=_afb .Pt (int (_cb ),int (_ag -_df -_aa ));_fd :=_afb .NewRGBA (_fega );_g .Draw (_fd ,_fega ,_ae ,_ab ,_g .Src );_ae =_fd ;};return _ae ,nil ;};func (_ebae renderer )processRadialShading (_ade _edg .Context ,_dca *_cf .PdfShading )(_edg .Gradient ,*_ff .PdfObjectArray ,error ){_dgbd :=_dca .GetContext ().(*_cf .PdfShadingType3 );
|
|
|
|
if len (_dgbd .Function )==0{return nil ,nil ,_c .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e");
|
|
|
|
};_cegd ,_adee :=_dgbd .Coords .ToFloat64Array ();if _adee !=nil {return nil ,nil ,_c .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e");
|
|
|
|
};_aabd :=_dca .ColorSpace ;_bdab :=_ff .MakeArrayFromFloats ([]float64 {0,0,1,1});var _agc ,_bbg ,_fdad ,_fedf ,_eaf ,_ded float64 ;_agc ,_bbg =_ade .Matrix ().Transform (_cegd [0],_cegd [1]);_fdad ,_fedf =_ade .Matrix ().Transform (_cegd [3],_cegd [4]);
|
|
|
|
_eaf ,_ =_ade .Matrix ().Transform (_cegd [2],0);_ded ,_ =_ade .Matrix ().Transform (_cegd [5],0);_ebd ,_ :=_ade .Matrix ().Translation ();_eaf -=_ebd ;_ded -=_ebd ;for _bgcfg ,_gbb :=range _cegd {if _bgcfg ==2||_bgcfg ==5{continue ;};if _gbb > 1.0{_ebb :=_fb .Min (_agc -_eaf ,_fdad -_ded );
|
|
|
|
_fff :=_fb .Min (_bbg -_eaf ,_fedf -_ded );_ace :=_fb .Max (_agc +_eaf ,_fdad +_ded );_bbbc :=_fb .Max (_bbg +_eaf ,_fedf +_ded );_gge :=_ace -_ebb ;_fdd :=_fff -_bbbc ;_bdab =_ff .MakeArrayFromFloats ([]float64 {_ebb ,_fff ,_gge ,_fdd });break ;};};_edb :=_fa .NewRadialGradient (_agc ,_bbg ,_eaf ,_fdad ,_fedf ,_ded );
|
|
|
|
if _cabd ,_cbec :=_dgbd .Function [0].(*_cf .PdfFunctionType2 );_cbec {_edb ,_adee =_badc (_edb ,_cabd ,_aabd ,1.0,true );}else if _gefa ,_eagf :=_dgbd .Function [0].(*_cf .PdfFunctionType3 );_eagf {_egbb :=append ([]float64 {0},_gefa .Bounds ...);_egbb =append (_egbb ,1.0);
|
|
|
|
_edb ,_adee =_aabe (_edb ,_gefa ,_aabd ,_egbb );};if _adee !=nil {return nil ,nil ,_adee ;};return _edb ,_bdab ,nil ;};type renderer struct{_fac float64 };
|
|
|
|
|
|
|
|
// Render converts the specified PDF page into an image, flattens annotations by default and returns the result.
|
|
|
|
func (_fc *ImageDevice )Render (page *_cf .PdfPage )(_afb .Image ,error ){return _fc .RenderWithOpts (page ,false );};
|
2024-04-30 12:24:05 +00:00
|
|
|
|
|
|
|
// RenderToPath converts the specified PDF page into an image and saves the
|
|
|
|
// result at the specified location.
|
2024-05-29 17:04:37 +00:00
|
|
|
func (_ba *ImageDevice )RenderToPath (page *_cf .PdfPage ,outputPath string )error {_afe ,_cfb :=_ba .Render (page );if _cfb !=nil {return _cfb ;};_eca :=_f .ToLower (_af .Ext (outputPath ));if _eca ==""{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 _eca {case "\u002e\u0070\u006e\u0067":return _gfg (outputPath ,_afe );case "\u002e\u006a\u0070\u0067","\u002e\u006a\u0070e\u0067":return _eff (outputPath ,_afe ,100);};return _feg .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",_eca );
|
|
|
|
};
|
|
|
|
|
|
|
|
// PdfShadingType defines PDF shading types.
|
|
|
|
// Source: PDF32000_2008.pdf. Chapter 8.7.4.5
|
|
|
|
type PdfShadingType int64 ;func _dafc (_afff _ff .PdfObject ,_bcg _de .Color )(_afb .Image ,error ){_aac ,_efca :=_ff .GetStream (_afff );if !_efca {return nil ,nil ;};_bddf ,_ecd :=_cf .NewXObjectImageFromStream (_aac );if _ecd !=nil {return nil ,_ecd ;
|
|
|
|
};_bgf ,_ecd :=_bddf .ToImage ();if _ecd !=nil {return nil ,_ecd ;};return _cged (_bgf ,_bcg ),nil ;};func _cged (_aeg *_cf .Image ,_fag _de .Color )_afb .Image {_cefd ,_cgae :=int (_aeg .Width ),int (_aeg .Height );_cdb :=_afb .NewRGBA (_afb .Rect (0,0,_cefd ,_cgae ));
|
|
|
|
for _cgegf :=0;_cgegf < _cgae ;_cgegf ++{for _fbac :=0;_fbac < _cefd ;_fbac ++{_adaf ,_dcb :=_aeg .ColorAt (_fbac ,_cgegf );if _dcb !=nil {_gg .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",_fbac ,_cgegf );
|
|
|
|
continue ;};_ggf ,_bdfb ,_fbde ,_ :=_adaf .RGBA ();var _bab _de .Color ;if _ggf +_bdfb +_fbde ==0{_bab =_de .Transparent ;}else {_bab =_fag ;};_cdb .Set (_fbac ,_cgegf ,_bab );};};return _cdb ;};func _badc (_aedg _edg .Gradient ,_bafg *_cf .PdfFunctionType2 ,_efba _cf .PdfColorspace ,_efc float64 ,_bbcd bool )(_edg .Gradient ,error ){switch _efba .(type ){case *_cf .PdfColorspaceDeviceRGB :if len (_bafg .C0 )!=3||len (_bafg .C1 )!=3{return nil ,_c .New ("\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u0020\u0052\u0047\u0042\u0020\u0063o\u006co\u0072\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");
|
|
|
|
};_gedf :=_bafg .C0 ;_eeaa :=_bafg .C1 ;if _bbcd {_aedg .AddColorStop (0.0,_de .RGBA {R :uint8 (_gedf [0]*255),G :uint8 (_gedf [1]*255),B :uint8 (_gedf [2]*255),A :255});};_aedg .AddColorStop (_efc ,_de .RGBA {R :uint8 (_eeaa [0]*255),G :uint8 (_eeaa [1]*255),B :uint8 (_eeaa [2]*255),A :255});
|
|
|
|
case *_cf .PdfColorspaceDeviceCMYK :if len (_bafg .C0 )!=4||len (_bafg .C1 )!=4{return nil ,_c .New ("\u0069\u006e\u0063\u006f\u0072\u0072e\u0063\u0074\u0020\u0043\u004d\u0059\u004b\u0020\u0063\u006f\u006c\u006f\u0072 \u0061\u0072\u0072\u0061\u0079\u0020\u006ce\u006e\u0067\u0074\u0068");
|
|
|
|
};_aefe :=_bafg .C0 ;_gefc :=_bafg .C1 ;if _bbcd {_aedg .AddColorStop (0.0,_de .CMYK {C :uint8 (_aefe [0]*255),M :uint8 (_aefe [1]*255),Y :uint8 (_aefe [2]*255),K :uint8 (_aefe [3]*255)});};_aedg .AddColorStop (_efc ,_de .CMYK {C :uint8 (_gefc [0]*255),M :uint8 (_gefc [1]*255),Y :uint8 (_gefc [2]*255),K :uint8 (_gefc [3]*255)});
|
|
|
|
default:return nil ,_feg .Errorf ("u\u006e\u0073\u0075\u0070\u0070\u006fr\u0074\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072 \u0073\u0070\u0061c\u0065:\u0020\u0025\u0073",_efba .String ());};return _aedg ,nil ;};func _eff (_gea string ,_daff _afb .Image ,_bdf int )error {_bfee ,_geb :=_d .Create (_gea );
|
|
|
|
if _geb !=nil {return _geb ;};defer _bfee .Close ();return _e .Encode (_bfee ,_daff ,&_e .Options {Quality :_bdf });};func (_fgf renderer )renderContentStream (_dgg _edg .Context ,_eb string ,_gc *_cf .PdfPageResources )error {_aba ,_ef :=_ec .NewContentStreamParser (_eb ).Parse ();
|
|
|
|
if _ef !=nil {return _ef ;};_da :=_dgg .TextState ();_da .GlobalScale =_fgf ._fac ;_gfc :=map[string ]*_edg .TextFont {};_ddc :=_fg .NewFinder (&_fg .FinderOpts {Extensions :[]string {"\u002e\u0074\u0074\u0066","\u002e\u0074\u0074\u0063"}});var _egb *_ec .ContentStreamOperation ;
|
|
|
|
_adfb :=_ec .NewContentStreamProcessor (*_aba );_adfb .AddHandler (_ec .HandlerConditionEnumAllOperands ,"",func (_dae *_ec .ContentStreamOperation ,_baf _ec .GraphicsState ,_abc *_cf .PdfPageResources )error {_gg .Log .Debug ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0025\u0073",_dae .Operand );
|
|
|
|
switch _dae .Operand {case "\u0071":_dgg .Push ();case "\u0051":_dgg .Pop ();_da =_dgg .TextState ();case "\u0063\u006d":if len (_dae .Params )!=6{return _dd ;};_bc ,_cab :=_ff .GetNumbersAsFloat (_dae .Params );if _cab !=nil {return _cab ;};_fcb :=_dg .NewMatrix (_bc [0],_bc [1],_bc [2],_bc [3],_bc [4],_bc [5]);
|
|
|
|
_gg .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",_fcb );_dgg .SetMatrix (_dgg .Matrix ().Mult (_fcb ));case "\u0077":if len (_dae .Params )!=1{return _dd ;
|
|
|
|
};_ega ,_fcd :=_ff .GetNumbersAsFloat (_dae .Params );if _fcd !=nil {return _fcd ;};_dgg .SetLineWidth (_ega [0]);case "\u004a":if len (_dae .Params )!=1{return _dd ;};_efb ,_cdg :=_ff .GetIntVal (_dae .Params [0]);if !_cdg {return _dgc ;};switch _efb {case 0:_dgg .SetLineCap (_edg .LineCapButt );
|
|
|
|
case 1:_dgg .SetLineCap (_edg .LineCapRound );case 2:_dgg .SetLineCap (_edg .LineCapSquare );default:_gg .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",_efb );
|
|
|
|
return _dd ;};case "\u006a":if len (_dae .Params )!=1{return _dd ;};_gede ,_aff :=_ff .GetIntVal (_dae .Params [0]);if !_aff {return _dgc ;};switch _gede {case 0:_dgg .SetLineJoin (_edg .LineJoinBevel );case 1:_dgg .SetLineJoin (_edg .LineJoinRound );case 2:_dgg .SetLineJoin (_edg .LineJoinBevel );
|
|
|
|
default:_gg .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",_gede );return _dd ;};case "\u004d":if len (_dae .Params )!=1{return _dd ;};_efe ,_gb :=_ff .GetNumbersAsFloat (_dae .Params );
|
|
|
|
if _gb !=nil {return _gb ;};_ =_efe ;_gg .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 (_dae .Params )!=2{return _dd ;};_agg ,_faf :=_ff .GetArray (_dae .Params [0]);
|
|
|
|
if !_faf {return _dgc ;};_ggd ,_faf :=_ff .GetIntVal (_dae .Params [1]);if !_faf {_ ,_dge :=_ff .GetFloatVal (_dae .Params [1]);if !_dge {return _dgc ;};};_adb ,_eea :=_ff .GetNumbersAsFloat (_agg .Elements ());if _eea !=nil {return _eea ;};_dgg .SetDash (_adb ...);
|
|
|
|
_ =_ggd ;_gg .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":_gg .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":_gg .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 (_dae .Params )!=1{return _dd ;
|
|
|
|
};_egc ,_dbg :=_ff .GetName (_dae .Params [0]);if !_dbg {return _dgc ;};if _egc ==nil {return _dd ;};_fefb ,_dbg :=_abc .GetExtGState (*_egc );if !_dbg {_gg .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",*_egc );
|
|
|
|
return _c .New ("\u0072e\u0073o\u0075\u0072\u0063\u0065\u0020n\u006f\u0074 \u0066\u006f\u0075\u006e\u0064");};_cgc ,_dbg :=_ff .GetDict (_fefb );if !_dbg {_gg .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 _dgc ;};_gg .Log .Debug ("G\u0053\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_cgc .String ());_fgb :=_cgc .Get ("\u0063\u0061");if _fgb !=nil {_afg ,_fefc :=_ff .GetNumberAsFloat (_fgb );if _fefc ==nil {_ggdc ,_eba :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );
|
|
|
|
if _eba !=nil {_gg .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",_eba );return _eba ;};_fafa ,_bg :=_ggdc .(*_cf .PdfColorDeviceRGB );if !_bg {_gg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
|
|
|
|
return _eba ;};_dgg .SetFillRGBA (_fafa .R (),_fafa .G (),_fafa .B (),_afg );};};case "\u006d":if len (_dae .Params )!=2{_gg .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",_dd );
|
|
|
|
return nil ;};_fdb ,_ea :=_ff .GetNumbersAsFloat (_dae .Params );if _ea !=nil {return _ea ;};_gg .Log .Debug ("M\u006f\u0076\u0065\u0020\u0074\u006f\u003a\u0020\u0025\u0076",_fdb );_dgg .NewSubPath ();_dgg .MoveTo (_fdb [0],_fdb [1]);case "\u006c":if len (_dae .Params )!=2{_gg .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",_dd );
|
|
|
|
return nil ;};_cfbe ,_cbe :=_ff .GetNumbersAsFloat (_dae .Params );if _cbe !=nil {return _cbe ;};_dgg .LineTo (_cfbe [0],_cfbe [1]);case "\u0063":if len (_dae .Params )!=6{return _dd ;};_ede ,_aec :=_ff .GetNumbersAsFloat (_dae .Params );if _aec !=nil {return _aec ;
|
|
|
|
};_gg .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_ede );_dgg .CubicTo (_ede [0],_ede [1],_ede [2],_ede [3],_ede [4],_ede [5]);case "\u0076","\u0079":if len (_dae .Params )!=4{return _dd ;
|
|
|
|
};_defc ,_gca :=_ff .GetNumbersAsFloat (_dae .Params );if _gca !=nil {return _gca ;};_gg .Log .Debug ("\u0043u\u0062\u0069\u0063\u0020\u0062\u0065\u007a\u0069\u0065\u0072\u0020p\u0061\u0072\u0061\u006d\u0073\u003a\u0020\u0025\u002b\u0076",_defc );_dgg .QuadraticTo (_defc [0],_defc [1],_defc [2],_defc [3]);
|
|
|
|
case "\u0068":_dgg .ClosePath ();_dgg .NewSubPath ();case "\u0072\u0065":if len (_dae .Params )!=4{return _dd ;};_ce ,_gfe :=_ff .GetNumbersAsFloat (_dae .Params );if _gfe !=nil {return _gfe ;};_dgg .DrawRectangle (_ce [0],_ce [1],_ce [2],_ce [3]);_dgg .NewSubPath ();
|
|
|
|
case "\u0053":_gfcb ,_fbg :=_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );if _fbg !=nil {_gg .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",_fbg );
|
|
|
|
return _fbg ;};_cbda ,_cfba :=_gfcb .(*_cf .PdfColorDeviceRGB );if !_cfba {_gg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _fbg ;};_dgg .SetRGBA (_cbda .R (),_cbda .G (),_cbda .B (),1);
|
|
|
|
_dgg .Stroke ();case "\u0073":_cge ,_eeb :=_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );if _eeb !=nil {_gg .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 ;};_ada ,_gcd :=_cge .(*_cf .PdfColorDeviceRGB );if !_gcd {_gg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _eeb ;};_dgg .ClosePath ();_dgg .NewSubPath ();
|
|
|
|
_dgg .SetRGBA (_ada .R (),_ada .G (),_ada .B (),1);_dgg .Stroke ();case "\u0066","\u0046":_eda ,_cfbg :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _cfbg !=nil {_gg .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",_cfbg );
|
|
|
|
return _cfbg ;};switch _bd :=_eda .(type ){case *_cf .PdfColorDeviceRGB :_dgg .SetRGBA (_bd .R (),_bd .G (),_bd .B (),1);_dgg .SetFillRule (_edg .FillRuleWinding );_dgg .Fill ();case *_cf .PdfColorPattern :_dgg .Fill ();};_gg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");
|
|
|
|
case "\u0066\u002a":_dce ,_egbd :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _egbd !=nil {_gg .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",_egbd );
|
|
|
|
return _egbd ;};_eag ,_bgg :=_dce .(*_cf .PdfColorDeviceRGB );if !_bgg {_gg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072");return _egbd ;};_dgg .SetRGBA (_eag .R (),_eag .G (),_eag .B (),1);
|
|
|
|
_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .Fill ();case "\u0042":_efa ,_gbc :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _gbc !=nil {_gg .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",_gbc );
|
|
|
|
return _gbc ;};switch _fca :=_efa .(type ){case *_cf .PdfColorDeviceRGB :_dgg .SetRGBA (_fca .R (),_fca .G (),_fca .B (),1);_dgg .SetFillRule (_edg .FillRuleWinding );_dgg .FillPreserve ();_efa ,_gbc =_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );
|
|
|
|
if _gbc !=nil {_gg .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",_gbc );return _gbc ;};if _ga ,_ceg :=_efa .(*_cf .PdfColorDeviceRGB );_ceg {_dgg .SetRGBA (_ga .R (),_ga .G (),_ga .B (),1);
|
|
|
|
_dgg .Stroke ();};case *_cf .PdfColorPattern :_dgg .SetFillRule (_edg .FillRuleWinding );_dgg .Fill ();_dgg .StrokePattern ();};case "\u0042\u002a":_aab ,_aef :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _aef !=nil {_gg .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",_aef );
|
|
|
|
return _aef ;};switch _age :=_aab .(type ){case *_cf .PdfColorDeviceRGB :_dgg .SetRGBA (_age .R (),_age .G (),_age .B (),1);_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .FillPreserve ();_aab ,_aef =_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );
|
|
|
|
if _aef !=nil {_gg .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",_aef );return _aef ;};if _cce ,_gce :=_aab .(*_cf .PdfColorDeviceRGB );
|
|
|
|
_gce {_dgg .SetRGBA (_cce .R (),_cce .G (),_cce .B (),1);_dgg .Stroke ();};case *_cf .PdfColorPattern :_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .Fill ();_dgg .StrokePattern ();};case "\u0062":_dgg .ClosePath ();_fdc ,_gbfa :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );
|
|
|
|
if _gbfa !=nil {_gg .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",_gbfa );return _gbfa ;};switch _fcc :=_fdc .(type ){case *_cf .PdfColorDeviceRGB :_dgg .SetRGBA (_fcc .R (),_fcc .G (),_fcc .B (),1);
|
|
|
|
_dgg .NewSubPath ();_dgg .SetFillRule (_edg .FillRuleWinding );_dgg .FillPreserve ();_fdc ,_gbfa =_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );if _gbfa !=nil {_gg .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",_gbfa );
|
|
|
|
return _gbfa ;};if _ddf ,_bac :=_fdc .(*_cf .PdfColorDeviceRGB );_bac {_dgg .SetRGBA (_ddf .R (),_ddf .G (),_ddf .B (),1);_dgg .Stroke ();};case *_cf .PdfColorPattern :_dgg .NewSubPath ();_dgg .SetFillRule (_edg .FillRuleWinding );_dgg .Fill ();_dgg .StrokePattern ();
|
|
|
|
};case "\u0062\u002a":_dgg .ClosePath ();_ffd ,_cca :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _cca !=nil {_gg .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",_cca );
|
|
|
|
return _cca ;};switch _eefe :=_ffd .(type ){case *_cf .PdfColorDeviceRGB :_dgg .SetRGBA (_eefe .R (),_eefe .G (),_eefe .B (),1);_dgg .NewSubPath ();_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .FillPreserve ();_ffd ,_cca =_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );
|
|
|
|
if _cca !=nil {_gg .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",_cca );return _cca ;};if _dea ,_dbf :=_ffd .(*_cf .PdfColorDeviceRGB );
|
|
|
|
_dbf {_dgg .SetRGBA (_dea .R (),_dea .G (),_dea .B (),1);_dgg .Stroke ();};case *_cf .PdfColorPattern :_dgg .NewSubPath ();_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .Fill ();_dgg .StrokePattern ();};case "\u006e":_dgg .ClearPath ();case "\u0057":_dgg .SetFillRule (_edg .FillRuleWinding );
|
|
|
|
_dgg .ClipPreserve ();case "\u0057\u002a":_dgg .SetFillRule (_edg .FillRuleEvenOdd );_dgg .ClipPreserve ();case "\u0072\u0067":_dgf ,_dgfa :=_baf .ColorNonStroking .(*_cf .PdfColorDeviceRGB );if !_dgfa {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_dgg .SetFillRGBA (_dgf .R (),_dgf .G (),_dgf .B (),1);case "\u0052\u0047":_ffc ,_dbe :=_baf .ColorStroking .(*_cf .PdfColorDeviceRGB );if !_dbe {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_dgg .SetStrokeRGBA (_ffc .R (),_ffc .G (),_ffc .B (),1);case "\u006b":_eeg ,_cga :=_baf .ColorNonStroking .(*_cf .PdfColorDeviceCMYK );if !_cga {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_bb ,_edc :=_baf .ColorspaceNonStroking .ColorToRGB (_eeg );if _edc !=nil {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_afeb ,_cga :=_bb .(*_cf .PdfColorDeviceRGB );if !_cga {_gg .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",_bb );return nil ;
|
|
|
|
};_dgg .SetFillRGBA (_afeb .R (),_afeb .G (),_afeb .B (),1);case "\u004b":_fefg ,_fegc :=_baf .ColorStroking .(*_cf .PdfColorDeviceCMYK );if !_fegc {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_fbc ,_baa :=_baf .ColorspaceStroking .ColorToRGB (_fefg );if _baa !=nil {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_ebab ,_fegc :=_fbc .(*_cf .PdfColorDeviceRGB );if !_fegc {_gg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_fbc );return nil ;
|
|
|
|
};_dgg .SetStrokeRGBA (_ebab .R (),_ebab .G (),_ebab .B (),1);case "\u0067":_cbc ,_ecg :=_baf .ColorNonStroking .(*_cf .PdfColorDeviceGray );if !_ecg {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_eaa ,_bad :=_baf .ColorspaceNonStroking .ColorToRGB (_cbc );if _bad !=nil {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_bbd ,_ecg :=_eaa .(*_cf .PdfColorDeviceRGB );if !_ecg {_gg .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",_eaa );return nil ;
|
|
|
|
};_dgg .SetFillRGBA (_bbd .R (),_bbd .G (),_bbd .B (),1);case "\u0047":_dcf ,_ebe :=_baf .ColorStroking .(*_cf .PdfColorDeviceGray );if !_ebe {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_abg ,_agb :=_baf .ColorspaceStroking .ColorToRGB (_dcf );if _agb !=nil {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_acd ,_ebe :=_abg .(*_cf .PdfColorDeviceRGB );if !_ebe {_gg .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",_abg );return nil ;
|
|
|
|
};_dgg .SetStrokeRGBA (_acd .R (),_acd .G (),_acd .B (),1);case "\u0063\u0073":if len (_dae .Params )> 0{if _efag ,_ecbc :=_ff .GetName (_dae .Params [0]);_ecbc &&_efag .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_cfc ,_eec :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );
|
|
|
|
if _eec !=nil {_gg .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 .ColorNonStroking );return nil ;};_bag ,_cac :=_cfc .(*_cf .PdfColorDeviceRGB );
|
|
|
|
if !_cac {_gg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0063\u006f\u006e\u0076\u0065r\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072:\u0020\u0025\u0076",_cfc );return nil ;};_dgg .SetFillRGBA (_bag .R (),_bag .G (),_bag .B (),1);
|
|
|
|
case "\u0073\u0063":_acb ,_ffcd :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );if _ffcd !=nil {_gg .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 .ColorNonStroking );
|
|
|
|
return nil ;};_affd ,_edd :=_acb .(*_cf .PdfColorDeviceRGB );if !_edd {_gg .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",_acb );return nil ;
|
|
|
|
};_dgg .SetFillRGBA (_affd .R (),_affd .G (),_affd .B (),1);case "\u0073\u0063\u006e":if len (_dae .Params )> 0&&len (_egb .Params )> 0{if _gd ,_eccc :=_ff .GetName (_egb .Params [0]);_eccc &&_gd .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _fae ,_cgd :=_ff .GetName (_dae .Params [0]);
|
|
|
|
_cgd {_fdcb ,_bba :=_fgf .processGradient (_dgg ,_dae ,_abc ,_fae );if _bba !=nil {_gg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072o\u0063\u0065\u0073\u0073\u0069\u006eg\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074\u0020\u0064\u0061\u0074a\u003a\u0020\u0025\u0076",_bba );
|
|
|
|
break ;};if _fdcb ==nil {_gg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_dgg .SetFillStyle (_fdcb );_dgg .SetStrokeStyle (_fdcb );break ;};};};_ecgf ,_fgba :=_baf .ColorspaceNonStroking .ColorToRGB (_baf .ColorNonStroking );
|
|
|
|
if _fgba !=nil {_gg .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 .ColorNonStroking );return nil ;};_acdb ,_cae :=_ecgf .(*_cf .PdfColorDeviceRGB );
|
|
|
|
if !_cae {_gg .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",_ecgf );return nil ;};_dgg .SetFillRGBA (_acdb .R (),_acdb .G (),_acdb .B (),1);
|
|
|
|
case "\u0043\u0053":if len (_dae .Params )> 0{if _bea ,_fad :=_ff .GetName (_dae .Params [0]);_fad &&_bea .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{break ;};};_gga ,_bcb :=_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );if _bcb !=nil {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_gba ,_fce :=_gga .(*_cf .PdfColorDeviceRGB );if !_fce {_gg .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",_gga );return nil ;
|
|
|
|
};_dgg .SetStrokeRGBA (_gba .R (),_gba .G (),_gba .B (),1);case "\u0053\u0043":_abf ,_dbfb :=_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );if _dbfb !=nil {_gg .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 .ColorStroking );
|
|
|
|
return nil ;};_abb ,_fbf :=_abf .(*_cf .PdfColorDeviceRGB );if !_fbf {_gg .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",_abf );return nil ;
|
|
|
|
};_dgg .SetStrokeRGBA (_abb .R (),_abb .G (),_abb .B (),1);case "\u0053\u0043\u004e":if len (_dae .Params )> 0&&len (_egb .Params )> 0{if _fgg ,_dfb :=_ff .GetName (_egb .Params [0]);_dfb &&_fgg .String ()=="\u0050a\u0074\u0074\u0065\u0072\u006e"{if _gbe ,_ecgg :=_ff .GetName (_dae .Params [0]);
|
|
|
|
_ecgg {_bade ,_eac :=_fgf .processGradient (_dgg ,_dae ,_abc ,_gbe );if _eac !=nil {_gg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072o\u0063\u0065\u0073\u0073\u0069\u006eg\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074\u0020\u0064\u0061\u0074a\u003a\u0020\u0025\u0076",_eac );
|
|
|
|
break ;};if _bade ==nil {_gg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_dgg .SetFillStyle (_bade );_dgg .SetStrokeStyle (_bade );break ;};};};_daf ,_gbfc :=_baf .ColorspaceStroking .ColorToRGB (_baf .ColorStroking );
|
|
|
|
if _gbfc !=nil {_gg .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 .ColorStroking );return nil ;};_dcd ,_aed :=_daf .(*_cf .PdfColorDeviceRGB );
|
|
|
|
if !_aed {_gg .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",_daf );return nil ;};_dgg .SetStrokeRGBA (_dcd .R (),_dcd .G (),_dcd .B (),1);
|
|
|
|
case "\u0073\u0068":if len (_dae .Params )!=1{_gg .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0068\u0020\u0070\u0061r\u0061\u006d\u0073\u0020\u0066\u006f\u0072\u006d\u0061\u0074");break ;};_fgc ,_dgbb :=_ff .GetName (_dae .Params [0]);
|
|
|
|
if !_dgbb {_gg .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020g\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006eg\u0020n\u0061\u006d\u0065");break ;};_fda ,_dgbb :=_abc .GetShadingByName (*_fgc );if !_dgbb {_gg .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020g\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006eg\u0020d\u0061\u0074\u0061");
|
|
|
|
break ;};_gcb ,_afbb ,_fcg :=_fgf .processShading (_dgg ,_fda );if _fcg !=nil {_gg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0077\u0068\u0065\u006e\u0020\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0073\u0068a\u0064\u0069\u006e\u0067\u0020d\u0061\u0074a\u003a\u0020\u0025\u0076",_fcg );
|
|
|
|
break ;};if _gcb ==nil {_gg .Log .Debug ("\u0055\u006ek\u006e\u006f\u0077n\u0020\u0067\u0072\u0061\u0064\u0069\u0065\u006e\u0074");break ;};_deff ,_fcg :=_afbb .ToFloat64Array ();if _fcg !=nil {_gg .Log .Debug ("\u0045\u0072r\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0063\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0073: \u0025\u0076",_fcg );
|
|
|
|
break ;};_dgg .DrawRectangle (_deff [0],_deff [1],_deff [2],_deff [3]);_dgg .NewSubPath ();_dgg .SetFillStyle (_gcb );_dgg .SetStrokeStyle (_gcb );_dgg .Fill ();case "\u0044\u006f":if len (_dae .Params )!=1{return _dd ;};_gcdc ,_aae :=_ff .GetName (_dae .Params [0]);
|
|
|
|
if !_aae {return _dgc ;};_ ,_cbf :=_abc .GetXObjectByName (*_gcdc );switch _cbf {case _cf .XObjectTypeImage :_gg .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_gcdc .String ());_bdc ,_ead :=_abc .GetXObjectImageByName (*_gcdc );
|
|
|
|
if _ead !=nil {return _ead ;};_eab ,_ead :=_bdc .ToImage ();if _ead !=nil {_gg .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_ead );
|
|
|
|
return nil ;};if _gdb :=_bdc .ColorSpace ;_gdb !=nil {var _abe bool ;switch _gdb .(type ){case *_cf .PdfColorspaceSpecialIndexed :_abe =true ;};if _abe {if _gcad ,_gae :=_gdb .ImageToRGB (*_eab );_gae !=nil {_gg .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 {_eab =&_gcad ;};};};_adfa :=_dgg .FillPattern ().ColorAt (0,0);var _afea _afb .Image ;if _bdc .Mask !=nil {if _afea ,_ead =_gdef (_bdc .Mask ,_adfa );_ead !=nil {_gg .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 _bdc .SMask !=nil {if _afea ,_ead =_dafc (_bdc .SMask ,_adfa );_ead !=nil {_gg .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 _efg _afb .Image ;if _gab ,_ :=_ff .GetBoolVal (_bdc .ImageMask );_gab {_efg =_dfg (_eab ,_adfa );}else {_efg ,_ead =_eab .ToGoImage ();if _ead !=nil {_gg .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_ead );
|
|
|
|
return nil ;};};if _afea !=nil {_efg =_daa (_efg ,_afea );};_bcc :=_efg .Bounds ();_dgg .Push ();_dgg .Scale (1.0/float64 (_bcc .Dx ()),-1.0/float64 (_bcc .Dy ()));_dgg .DrawImageAnchored (_efg ,0,0,0,1);_dgg .Pop ();case _cf .XObjectTypeForm :_gg .Log .Debug ("\u0058\u004fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u0073",_gcdc .String ());
|
|
|
|
_gcab ,_cef :=_abc .GetXObjectFormByName (*_gcdc );if _cef !=nil {return _cef ;};_gfd ,_cef :=_gcab .GetContentStream ();if _cef !=nil {return _cef ;};_abfc :=_gcab .Resources ;if _abfc ==nil {_abfc =_abc ;};_dgg .Push ();if _gcab .Matrix !=nil {_ddcg ,_fbb :=_ff .GetArray (_gcab .Matrix );
|
|
|
|
if !_fbb {return _dgc ;};_edaf ,_gcc :=_ff .GetNumbersAsFloat (_ddcg .Elements ());if _gcc !=nil {return _gcc ;};if len (_edaf )!=6{return _dd ;};_bge :=_dg .NewMatrix (_edaf [0],_edaf [1],_edaf [2],_edaf [3],_edaf [4],_edaf [5]);_dgg .SetMatrix (_dgg .Matrix ().Mult (_bge ));
|
|
|
|
};if _gcab .BBox !=nil {_dff ,_dfd :=_ff .GetArray (_gcab .BBox );if !_dfd {return _dgc ;};_fbd ,_ecccf :=_ff .GetNumbersAsFloat (_dff .Elements ());if _ecccf !=nil {return _ecccf ;};if len (_fbd )!=4{_gg .Log .Debug ("\u004c\u0065\u006e\u0020\u003d\u0020\u0025\u0064",len (_fbd ));
|
|
|
|
return _dd ;};_dgg .DrawRectangle (_fbd [0],_fbd [1],_fbd [2]-_fbd [0],_fbd [3]-_fbd [1]);_dgg .SetRGBA (1,0,0,1);_dgg .Clip ();}else {_gg .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");
|
|
|
|
};_cef =_fgf .renderContentStream (_dgg ,string (_gfd ),_abfc );if _cef !=nil {return _cef ;};_dgg .Pop ();};case "\u0042\u0049":if len (_dae .Params )!=1{return _dd ;};_bcba ,_ggb :=_dae .Params [0].(*_ec .ContentStreamInlineImage );if !_ggb {return nil ;
|
|
|
|
};_bgb ,_fcga :=_bcba .ToImage (_abc );if _fcga !=nil {_gg .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_fcga );
|
|
|
|
return nil ;};_cfbad ,_fcga :=_bgb .ToGoImage ();if _fcga !=nil {_gg .Log .Debug ("\u0052\u0065\u006e\u0064\u0065\u0072\u0069\u006e\u0067\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0020\u006day\u0020b\u0065\u0020\u0069\u006e\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065.\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_fcga );
|
|
|
|
return nil ;};_fggb :=_cfbad .Bounds ();_dgg .Push ();_dgg .Scale (1.0/float64 (_fggb .Dx ()),-1.0/float64 (_fggb .Dy ()));_dgg .DrawImageAnchored (_cfbad ,0,0,0,1);_dgg .Pop ();case "\u0042\u0054":_da .Reset ();case "\u0045\u0054":_da .Reset ();case "\u0054\u0072":if len (_dae .Params )!=1{return _dd ;
|
|
|
|
};_fdab ,_gcg :=_ff .GetNumberAsFloat (_dae .Params [0]);if _gcg !=nil {return _gcg ;};_da .Tr =_edg .TextRenderingMode (_fdab );case "\u0054\u004c":if len (_dae .Params )!=1{return _dd ;};_acc ,_gdd :=_ff .GetNumberAsFloat (_dae .Params [0]);if _gdd !=nil {return _gdd ;
|
|
|
|
};_da .Tl =_acc ;case "\u0054\u0063":if len (_dae .Params )!=1{return _dd ;};_fgac ,_cfa :=_ff .GetNumberAsFloat (_dae .Params [0]);if _cfa !=nil {return _cfa ;};_gg .Log .Debug ("\u0054\u0063\u003a\u0020\u0025\u0076",_fgac );_da .Tc =_fgac ;case "\u0054\u0077":if len (_dae .Params )!=1{return _dd ;
|
|
|
|
};_ccc ,_bgc :=_ff .GetNumberAsFloat (_dae .Params [0]);if _bgc !=nil {return _bgc ;};_gg .Log .Debug ("\u0054\u0077\u003a\u0020\u0025\u0076",_ccc );_da .Tw =_ccc ;case "\u0054\u007a":if len (_dae .Params )!=1{return _dd ;};_adbf ,_gag :=_ff .GetNumberAsFloat (_dae .Params [0]);
|
|
|
|
if _gag !=nil {return _gag ;};_da .Th =_adbf ;case "\u0054\u0073":if len (_dae .Params )!=1{return _dd ;};_fbbc ,_cgcg :=_ff .GetNumberAsFloat (_dae .Params [0]);if _cgcg !=nil {return _cgcg ;};_da .Ts =_fbbc ;case "\u0054\u0064":if len (_dae .Params )!=2{return _dd ;
|
|
|
|
};_cbb ,_fggc :=_ff .GetNumbersAsFloat (_dae .Params );if _fggc !=nil {return _fggc ;};_gg .Log .Debug ("\u0054\u0064\u003a\u0020\u0025\u0076",_cbb );_da .ProcTd (_cbb [0],_cbb [1]);case "\u0054\u0044":if len (_dae .Params )!=2{return _dd ;};_bda ,_egf :=_ff .GetNumbersAsFloat (_dae .Params );
|
|
|
|
if _egf !=nil {return _egf ;};_gg .Log .Debug ("\u0054\u0044\u003a\u0020\u0025\u0076",_bda );_da .ProcTD (_bda [0],_bda [1]);case "\u0054\u002a":_da .ProcTStar ();case "\u0054\u006d":if len (_dae .Params )!=6{return _dd ;};_gef ,_aag :=_ff .GetNumbersAsFloat (_dae .Params );
|
|
|
|
if _aag !=nil {return _aag ;};_gg .Log .Debug ("\u0054\u0065x\u0074\u0020\u006da\u0074\u0072\u0069\u0078\u003a\u0020\u0025\u002b\u0076",_gef );_da .ProcTm (_gef [0],_gef [1],_gef [2],_gef [3],_gef [4],_gef [5]);case "\u0027":if len (_dae .Params )!=1{return _dd ;
|
|
|
|
};_cde ,_bdcc :=_ff .GetStringBytes (_dae .Params [0]);if !_bdcc {return _dgc ;};_gg .Log .Debug ("\u0027\u0020\u0073t\u0072\u0069\u006e\u0067\u003a\u0020\u0025\u0073",string (_cde ));_da .ProcQ (_cde ,_dgg );case "\u0022":if len (_dae .Params )!=3{return _dd ;
|
|
|
|
};_eddf ,_dgba :=_ff .GetNumberAsFloat (_dae .Params [0]);if _dgba !=nil {return _dgba ;};_gbfd ,_dgba :=_ff .GetNumberAsFloat (_dae .Params [1]);if _dgba !=nil {return _dgba ;};_cfbb ,_ebee :=_ff .GetStringBytes (_dae .Params [2]);if !_ebee {return _dgc ;
|
|
|
|
};_da .ProcDQ (_cfbb ,_eddf ,_gbfd ,_dgg );case "\u0054\u006a":if len (_dae .Params )!=1{return _dd ;};_dad ,_gddg :=_ff .GetStringBytes (_dae .Params [0]);if !_gddg {return _dgc ;};_gg .Log .Debug ("\u0054j\u0020s\u0074\u0072\u0069\u006e\u0067\u003a\u0020\u0060\u0025\u0073\u0060",string (_dad ));
|
|
|
|
_da .ProcTj (_dad ,_dgg );case "\u0054\u004a":if len (_dae .Params )!=1{return _dd ;};_bfe ,_gcdd :=_ff .GetArray (_dae .Params [0]);if !_gcdd {_gg .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_bfe );return _dgc ;};_gg .Log .Debug ("\u0054\u004a\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u002b\u0076",_bfe );
|
|
|
|
for _ ,_baag :=range _bfe .Elements (){switch _afd :=_baag .(type ){case *_ff .PdfObjectString :if _afd !=nil {_da .ProcTj (_afd .Bytes (),_dgg );};case *_ff .PdfObjectFloat ,*_ff .PdfObjectInteger :_ebf ,_gcabb :=_ff .GetNumberAsFloat (_afd );if _gcabb ==nil {_da .Translate (-_ebf *0.001*_da .Tf .Size *_da .Th /100.0,0);
|
|
|
|
};};};case "\u0054\u0066":if len (_dae .Params )!=2{return _dd ;};_gg .Log .Debug ("\u0025\u0023\u0076",_dae .Params );_dfe ,_eebg :=_ff .GetName (_dae .Params [0]);if !_eebg ||_dfe ==nil {_gg .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",_dae .Params [0]);
|
|
|
|
return _dgc ;};_gg .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0073",_dfe .String ());_cgeg ,_afaf :=_ff .GetNumberAsFloat (_dae .Params [1]);if _afaf !=nil {_gg .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",_dae .Params [1]);
|
|
|
|
return _dgc ;};_gg .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0073\u0069\u007a\u0065\u003a\u0020\u0025\u0076",_cgeg );_cbg ,_egac :=_abc .GetFontByName (*_dfe );if !_egac {_gg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0025s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_dfe .String ());
|
|
|
|
return _c .New ("\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};_gg .Log .Debug ("\u0046\u006f\u006e\u0074\u003a\u0020\u0025\u0054",_cbg );_fgcf ,_eebg :=_ff .GetDict (_cbg );if !_eebg {_gg .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 _dgc ;};_gaf ,_afaf :=_cf .NewPdfFontFromPdfObject (_fgcf );if _afaf !=nil {_gg .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 _afaf ;};_egff :=_gaf .BaseFont ();if _egff ==""{_egff =_dfe .String ();};_efd ,_eebg :=_gfc [_egff ];if !_eebg {_efd ,_afaf =_edg .NewTextFont (_gaf ,_cgeg );if _afaf !=nil {_gg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_afaf );
|
|
|
|
};};if _efd ==nil {if len (_egff )> 7&&_egff [6]=='+'{_egff =_egff [7:];};_bcbb :=[]string {_egff ,"\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 _ ,_cfcc :=range _bcbb {_gg .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",_cfcc );if _efd ,_eebg =_gfc [_cfcc ];
|
|
|
|
_eebg {break ;};_dab :=_ddc .Match (_cfcc );if _dab ==nil {_gg .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",_cfcc );continue ;};_efd ,_afaf =_edg .NewTextFontFromPath (_dab .Filename ,_cgeg );
|
|
|
|
if _afaf !=nil {_gg .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",_dab .Filename );continue ;};_gg .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",_egff ,_dab .Name ,_dab .Filename );
|
|
|
|
_gfc [_cfcc ]=_efd ;break ;};};if _efd ==nil {_gg .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");};_da .ProcTf (_efd .WithSize (_cgeg ,_gaf ));case "\u0042\u004d\u0043","\u0042\u0044\u0043":case "\u0045\u004d\u0043":default:_gg .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",_dae .Operand );
|
|
|
|
};_egb =_dae ;return nil ;});_ef =_adfb .Process (_gc );if _ef !=nil {return _ef ;};return nil ;};func (_gcf renderer )processShading (_cbae _edg .Context ,_ccf *_cf .PdfShading )(_edg .Gradient ,*_ff .PdfObjectArray ,error ){_aga :=int64 (*_ccf .ShadingType );
|
|
|
|
if _aga ==int64 (ShadingTypeAxial ){return _gcf .processLinearShading (_cbae ,_ccf );}else if _aga ==int64 (ShadingTypeRadial ){return _gcf .processRadialShading (_cbae ,_ccf );}else {_gg .Log .Debug (_feg .Sprintf ("\u0050r\u006f\u0063e\u0073\u0073\u0069n\u0067\u0020\u0067\u0072\u0061\u0064\u0069e\u006e\u0074\u0020\u0074\u0079\u0070e\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0079\u0065\u0074 \u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064",_aga ));
|
|
|
|
};return nil ,nil ,nil ;};func (_bbad renderer )processLinearShading (_ddb _edg .Context ,_cdd *_cf .PdfShading )(_edg .Gradient ,*_ff .PdfObjectArray ,error ){_gfeg :=_cdd .GetContext ().(*_cf .PdfShadingType2 );if len (_gfeg .Function )==0{return nil ,nil ,_c .New ("\u006e\u006f\u0020\u0067\u0072\u0061\u0064i\u0065\u006e\u0074 \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0073\u006b\u0069\u0070\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e");
|
|
|
|
};_edeg ,_dee :=_gfeg .Coords .ToFloat64Array ();if _dee !=nil {return nil ,nil ,_c .New ("\u0066\u0061\u0069l\u0065\u0064\u0020\u0067e\u0074\u0074\u0069\u006e\u0067\u0020\u0073h\u0061\u0064\u0069\u006e\u0067\u0020\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e");
|
|
|
|
};_fcgg :=_cdd .ColorSpace ;_fgfd ,_geff :=_ddb .Matrix ().Transform (_edeg [0],_edeg [1]);_fgfa ,_bfb :=_ddb .Matrix ().Transform (_edeg [2],_edeg [3]);_bbb :=_fa .NewLinearGradient (_fgfd ,_geff ,_fgfa ,_bfb );_ecbf :=_ff .MakeArrayFromFloats ([]float64 {0,0,1,1});
|
|
|
|
for _ ,_gde :=range _edeg {if _gde > 1{_ecbf =_gfeg .Coords ;break ;};};if _aabb ,_afc :=_gfeg .Function [0].(*_cf .PdfFunctionType2 );_afc {_bbb ,_dee =_badc (_bbb ,_aabb ,_fcgg ,1.0,true );}else if _bgcf ,_bfea :=_gfeg .Function [0].(*_cf .PdfFunctionType3 );
|
|
|
|
_bfea {_adc :=append ([]float64 {0},_bgcf .Bounds ...);_adc =append (_adc ,1.0);_bbb ,_dee =_aabe (_bbb ,_bgcf ,_fcgg ,_adc );};return _bbb ,_ecbf ,_dee ;};func _fadb (_cfee ,_eeba ,_gfa float64 )_ee .BoundingBox {return _ee .Path {Points :[]_ee .Point {_ee .NewPoint (0,0).Rotate (_gfa ),_ee .NewPoint (_cfee ,0).Rotate (_gfa ),_ee .NewPoint (0,_eeba ).Rotate (_gfa ),_ee .NewPoint (_cfee ,_eeba ).Rotate (_gfa )}}.GetBoundingBox ();
|
|
|
|
};func (_ecb renderer )renderPage (_adf _edg .Context ,_ecbe *_cf .PdfPage ,_gf _dg .Matrix ,_cdfe bool )error {if !_cdfe {_cbd :=_cf .FieldFlattenOpts {AnnotFilterFunc :func (_eef *_cf .PdfAnnotation )bool {switch _eef .GetContext ().(type ){case *_cf .PdfAnnotationLine :return true ;
|
|
|
|
case *_cf .PdfAnnotationSquare :return true ;case *_cf .PdfAnnotationCircle :return true ;case *_cf .PdfAnnotationPolygon :return true ;case *_cf .PdfAnnotationPolyLine :return true ;};return false ;}};_ged :=_ed .FieldAppearance {};_dfc :=_ecbe .FlattenFieldsWithOpts (_ged ,&_cbd );
|
|
|
|
if _dfc !=nil {_gg .Log .Debug ("\u0045\u0072r\u006f\u0072\u0020\u0064u\u0072\u0069n\u0067\u0020\u0061\u006e\u006e\u006f\u0074\u0061t\u0069\u006f\u006e\u0020\u0066\u006c\u0061\u0074\u0074\u0065\u006e\u0069n\u0067\u0020\u0025\u0076",_dfc );};};_cfd ,_dbc :=_ecbe .GetAllContentStreams ();
|
|
|
|
if _dbc !=nil {return _dbc ;};if _ecc :=_gf ;!_ecc .Identity (){_cfd =_feg .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",_ecc [0],_ecc [1],_ecc [3],_ecc [4],_ecc [6],_ecc [7],_cfd );
|
|
|
|
};_adf .Translate (0,float64 (_adf .Height ()));_adf .Scale (1,-1);_adf .Push ();_adf .SetRGBA (1,1,1,1);_adf .DrawRectangle (0,0,float64 (_adf .Width ()),float64 (_adf .Height ()));_adf .Fill ();_adf .Pop ();_adf .SetLineWidth (1.0);_adf .SetRGBA (0,0,0,1);
|
|
|
|
return _ecb .renderContentStream (_adf ,_cfd ,_ecbe .Resources );};
|