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/
|
|
|
|
|
2023-08-03 17:30:04 +00:00
|
|
|
package decoder ;import (_b "github.com/unidoc/unipdf/v3/internal/bitwise";_a "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap";_dg "github.com/unidoc/unipdf/v3/internal/jbig2/document";_df "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_d "image";
|
|
|
|
);func (_f *Decoder )DecodePage (pageNumber int )([]byte ,error ){return _f .decodePage (pageNumber )};func (_gd *Decoder )PageNumber ()(int ,error ){const _eb ="\u0044e\u0063o\u0064\u0065\u0072\u002e\u0050a\u0067\u0065N\u0075\u006d\u0062\u0065\u0072";
|
|
|
|
if _gd ._g ==nil {return 0,_df .Error (_eb ,"d\u0065\u0063\u006f\u0064\u0065\u0072 \u006e\u006f\u0074\u0020\u0069\u006e\u0069\u0074\u0069a\u006c\u0069\u007ae\u0064 \u0079\u0065\u0074");};return int (_gd ._g .NumberOfPages ),nil ;};func (_fe *Decoder )DecodeNextPage ()([]byte ,error ){_fe ._ed ++;
|
|
|
|
_cc :=_fe ._ed ;return _fe .decodePage (_cc );};type Decoder struct{_bf *_b .Reader ;_g *_dg .Document ;_ed int ;_bg Parameters ;};func (_bb *Decoder )decodePageImage (_dd int )(_d .Image ,error ){const _da ="\u0064e\u0063o\u0064\u0065\u0050\u0061\u0067\u0065\u0049\u006d\u0061\u0067\u0065";
|
|
|
|
if _dd < 0{return nil ,_df .Errorf (_da ,"\u0069n\u0076\u0061\u006c\u0069d\u0020\u0070\u0061\u0067\u0065 \u006eu\u006db\u0065\u0072\u003a\u0020\u0027\u0025\u0064'",_dd );};if _dd > int (_bb ._g .NumberOfPages ){return nil ,_df .Errorf (_da ,"p\u0061\u0067\u0065\u003a\u0020\u0027%\u0064\u0027\u0020\u006e\u006f\u0074 \u0066\u006f\u0075\u006e\u0064\u0020\u0069n\u0020\u0074\u0068\u0065\u0020\u0064\u0065\u0063\u006f\u0064e\u0072",_dd );
|
|
|
|
};_ad ,_cg :=_bb ._g .GetPage (_dd );if _cg !=nil {return nil ,_df .Wrap (_cg ,_da ,"");};_gf ,_cg :=_ad .GetBitmap ();if _cg !=nil {return nil ,_df .Wrap (_cg ,_da ,"");};_gf .InverseData ();return _gf .ToImage (),nil ;};type Parameters struct{UnpaddedData bool ;
|
|
|
|
Color _a .Color ;};func (_edg *Decoder )decodePage (_cb int )([]byte ,error ){const _cd ="\u0064\u0065\u0063\u006f\u0064\u0065\u0050\u0061\u0067\u0065";if _cb < 0{return nil ,_df .Errorf (_cd ,"\u0069n\u0076\u0061\u006c\u0069d\u0020\u0070\u0061\u0067\u0065 \u006eu\u006db\u0065\u0072\u003a\u0020\u0027\u0025\u0064'",_cb );
|
|
|
|
};if _cb > int (_edg ._g .NumberOfPages ){return nil ,_df .Errorf (_cd ,"p\u0061\u0067\u0065\u003a\u0020\u0027%\u0064\u0027\u0020\u006e\u006f\u0074 \u0066\u006f\u0075\u006e\u0064\u0020\u0069n\u0020\u0074\u0068\u0065\u0020\u0064\u0065\u0063\u006f\u0064e\u0072",_cb );
|
|
|
|
};_ebb ,_dc :=_edg ._g .GetPage (_cb );if _dc !=nil {return nil ,_df .Wrap (_dc ,_cd ,"");};_cdf ,_dc :=_ebb .GetBitmap ();if _dc !=nil {return nil ,_df .Wrap (_dc ,_cd ,"");};_cdf .InverseData ();if !_edg ._bg .UnpaddedData {return _cdf .Data ,nil ;};
|
|
|
|
return _cdf .GetUnpaddedData ();};func (_bfd *Decoder )DecodePageImage (pageNumber int )(_d .Image ,error ){const _gc ="\u0064\u0065\u0063od\u0065\u0072\u002e\u0044\u0065\u0063\u006f\u0064\u0065\u0050\u0061\u0067\u0065\u0049\u006d\u0061\u0067\u0065";_ae ,_c :=_bfd .decodePageImage (pageNumber );
|
|
|
|
if _c !=nil {return nil ,_df .Wrap (_c ,_gc ,"");};return _ae ,nil ;};func Decode (input []byte ,parameters Parameters ,globals *_dg .Globals )(*Decoder ,error ){_ce :=_b .NewReader (input );_fb ,_bgd :=_dg .DecodeDocument (_ce ,globals );if _bgd !=nil {return nil ,_bgd ;
|
|
|
|
};return &Decoder {_bf :_ce ,_g :_fb ,_bg :parameters },nil ;};
|