Skip to content

Commit

Permalink
Merge pull request #496 from unidoc-build/prep-rc-v3.36.0
Browse files Browse the repository at this point in the history
Prepare release v3.36.0 of UniPDF
  • Loading branch information
gunnsth authored Jun 27, 2022
2 parents 02c38b4 + ad2a915 commit 9949a6b
Show file tree
Hide file tree
Showing 61 changed files with 14,294 additions and 14,234 deletions.
35 changes: 34 additions & 1 deletion ACKNOWLEDGEMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,37 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

UniPDF architectural concept of ccittfax decoder was based on the Java implementation defined in the https://github.com/haraldk/TwelveMonkeys.
UniPDF architectural concept of ccittfax decoder was based on the Java implementation defined in the https://github.com/haraldk/TwelveMonkeys.

* [i18n/linebreak](https://github.com/gorilla/i18n), BSD-3 license:
- Used for word line break.

```
Copyright (c) 2013, Gorilla web toolkit
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
Neither the name of the {organization} nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```
582 changes: 293 additions & 289 deletions annotator/annotator.go

Large diffs are not rendered by default.

124 changes: 63 additions & 61 deletions common/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,100 +10,102 @@
// terms that can be accessed at https://unidoc.io/eula/

// Package common contains common properties used by the subpackages.
package common ;import (_e "fmt";_g "io";_f "os";_be "path/filepath";_b "runtime";_cg "time";);
package common ;import (_d "fmt";_e "io";_bg "os";_f "path/filepath";_af "runtime";_a "time";);

// Trace does nothing for dummy logger.
func (DummyLogger )Trace (format string ,args ...interface{}){};
// NewWriterLogger creates new 'writer' logger.
func NewWriterLogger (logLevel LogLevel ,writer _e .Writer )*WriterLogger {_ab :=WriterLogger {Output :writer ,LogLevel :logLevel };return &_ab ;};

// Trace logs trace message.
func (_ffd WriterLogger )Trace (format string ,args ...interface{}){if _ffd .LogLevel >=LogLevelTrace {_gc :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_ffd .logToWriter (_ffd .Output ,_gc ,format ,args ...);};};const _acea ="\u0032\u0020\u004aan\u0075\u0061\u0072\u0079\u0020\u0032\u0030\u0030\u0036\u0020\u0061\u0074\u0020\u0031\u0035\u003a\u0030\u0034";
// Warning logs warning message.
func (_fb WriterLogger )Warning (format string ,args ...interface{}){if _fb .LogLevel >=LogLevelWarning {_ad :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_fb .logToWriter (_fb .Output ,_ad ,format ,args ...);};};

// ConsoleLogger is a logger that writes logs to the 'os.Stdout'
type ConsoleLogger struct{LogLevel LogLevel ;};

// IsLogLevel returns true from dummy logger.
func (DummyLogger )IsLogLevel (level LogLevel )bool {return true };func (_fed WriterLogger )logToWriter (_ecb _g .Writer ,_eda string ,_ade string ,_aee ...interface{}){_cca (_ecb ,_eda ,_ade ,_aee );};
// Error does nothing for dummy logger.
func (DummyLogger )Error (format string ,args ...interface{}){};

// NewWriterLogger creates new 'writer' logger.
func NewWriterLogger (logLevel LogLevel ,writer _g .Writer )*WriterLogger {_ggf :=WriterLogger {Output :writer ,LogLevel :logLevel };return &_ggf ;};
// Warning does nothing for dummy logger.
func (DummyLogger )Warning (format string ,args ...interface{}){};

// SetLogger sets 'logger' to be used by the unidoc unipdf library.
func SetLogger (logger Logger ){Log =logger };func _cca (_cgd _g .Writer ,_bb string ,_fg string ,_ecc ...interface{}){_ ,_dea ,_ebab ,_bec :=_b .Caller (3);if !_bec {_dea ="\u003f\u003f\u003f";_ebab =0;}else {_dea =_be .Base (_dea );};_bf :=_e .Sprintf ("\u0025s\u0020\u0025\u0073\u003a\u0025\u0064 ",_bb ,_dea ,_ebab )+_fg +"\u000a";
_e .Fprintf (_cgd ,_bf ,_ecc ...);};
// UtcTimeFormat returns a formatted string describing a UTC timestamp.
func UtcTimeFormat (t _a .Time )string {return t .Format (_bbf )+"\u0020\u0055\u0054\u0043"};

// Info does nothing for dummy logger.
func (DummyLogger )Info (format string ,args ...interface{}){};
// Trace logs trace message.
func (_ee WriterLogger )Trace (format string ,args ...interface{}){if _ee .LogLevel >=LogLevelTrace {_bda :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_ee .logToWriter (_ee .Output ,_bda ,format ,args ...);};};

// WriterLogger is the logger that writes data to the Output writer
type WriterLogger struct{LogLevel LogLevel ;Output _g .Writer ;};
// Info logs info message.
func (_edg WriterLogger )Info (format string ,args ...interface{}){if _edg .LogLevel >=LogLevelInfo {_gdd :="\u005bI\u004e\u0046\u004f\u005d\u0020";_edg .logToWriter (_edg .Output ,_gdd ,format ,args ...);};};

// LogLevel is the verbosity level for logging.
type LogLevel int ;const Version ="\u0033\u002e\u0033\u0035\u002e\u0030";
type LogLevel int ;

// Info logs info message.
func (_cfe ConsoleLogger )Info (format string ,args ...interface{}){if _cfe .LogLevel >=LogLevelInfo {_de :="\u005bI\u004e\u0046\u004f\u005d\u0020";_cfe .output (_f .Stdout ,_de ,format ,args ...);};};const _fbc =6;
// Error logs error message.
func (_ac ConsoleLogger )Error (format string ,args ...interface{}){if _ac .LogLevel >=LogLevelError {_ea :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_ac .output (_bg .Stdout ,_ea ,format ,args ...);};};

// Debug logs debug message.
func (_ebe WriterLogger )Debug (format string ,args ...interface{}){if _ebe .LogLevel >=LogLevelDebug {_dd :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_ebe .logToWriter (_ebe .Output ,_dd ,format ,args ...);};};

// Warning logs warning message.
func (_gba WriterLogger )Warning (format string ,args ...interface{}){if _gba .LogLevel >=LogLevelWarning {_bc :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_gba .logToWriter (_gba .Output ,_bc ,format ,args ...);};};
func (_dgc ConsoleLogger )Debug (format string ,args ...interface{}){if _dgc .LogLevel >=LogLevelDebug {_cg :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_dgc .output (_bg .Stdout ,_cg ,format ,args ...);};};

// NewConsoleLogger creates new console logger.
func NewConsoleLogger (logLevel LogLevel )*ConsoleLogger {return &ConsoleLogger {LogLevel :logLevel }};
// IsLogLevel returns true if log level is greater or equal than `level`.
// Can be used to avoid resource intensive calls to loggers.
func (_bd WriterLogger )IsLogLevel (level LogLevel )bool {return _bd .LogLevel >=level };

// Error logs error message.
func (_ed WriterLogger )Error (format string ,args ...interface{}){if _ed .LogLevel >=LogLevelError {_df :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_ed .logToWriter (_ed .Output ,_df ,format ,args ...);};};var ReleasedAt =_cg .Date (_ccc ,_fbc ,_cgg ,_ee ,_ebf ,0,0,_cg .UTC );
// Info does nothing for dummy logger.
func (DummyLogger )Info (format string ,args ...interface{}){};

// Trace does nothing for dummy logger.
func (DummyLogger )Trace (format string ,args ...interface{}){};var ReleasedAt =_a .Date (_ca ,_ecd ,_bf ,_eaf ,_ecf ,0,0,_a .UTC );

// Debug logs debug message.
func (_age ConsoleLogger )Debug (format string ,args ...interface{}){if _age .LogLevel >=LogLevelDebug {_ad :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_age .output (_f .Stdout ,_ad ,format ,args ...);};};const _ccc =2022;
func (_dbd WriterLogger )Debug (format string ,args ...interface{}){if _dbd .LogLevel >=LogLevelDebug {_daf :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_dbd .logToWriter (_dbd .Output ,_daf ,format ,args ...);};};const _ecf =30;var Log Logger =DummyLogger {};

// IsLogLevel returns true if log level is greater or equal than `level`.
// Can be used to avoid resource intensive calls to loggers.
func (_caf ConsoleLogger )IsLogLevel (level LogLevel )bool {return _caf .LogLevel >=level };

// Notice logs notice message.
func (_fb WriterLogger )Notice (format string ,args ...interface{}){if _fb .LogLevel >=LogLevelNotice {_dfe :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_fb .logToWriter (_fb .Output ,_dfe ,format ,args ...);};};
// IsLogLevel returns true from dummy logger.
func (DummyLogger )IsLogLevel (level LogLevel )bool {return true };

// Notice logs notice message.
func (_bg ConsoleLogger )Notice (format string ,args ...interface{}){if _bg .LogLevel >=LogLevelNotice {_fe :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_bg .output (_f .Stdout ,_fe ,format ,args ...);};};
// WriterLogger is the logger that writes data to the Output writer
type WriterLogger struct{LogLevel LogLevel ;Output _e .Writer ;};

// Trace logs trace message.
func (_fec ConsoleLogger )Trace (format string ,args ...interface{}){if _fec .LogLevel >=LogLevelTrace {_ae :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_fec .output (_f .Stdout ,_ae ,format ,args ...);};};
func (_ba ConsoleLogger )Trace (format string ,args ...interface{}){if _ba .LogLevel >=LogLevelTrace {_dbb :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_ba .output (_bg .Stdout ,_dbb ,format ,args ...);};};func (_ace ConsoleLogger )output (_afd _e .Writer ,_ec string ,_ed string ,_ccg ...interface{}){_dcd (_afd ,_ec ,_ed ,_ccg ...);
};

// Notice does nothing for dummy logger.
func (DummyLogger )Notice (format string ,args ...interface{}){};
// Info logs info message.
func (_dcb ConsoleLogger )Info (format string ,args ...interface{}){if _dcb .LogLevel >=LogLevelInfo {_bge :="\u005bI\u004e\u0046\u004f\u005d\u0020";_dcb .output (_bg .Stdout ,_bge ,format ,args ...);};};

// Error logs error message.
func (_ec ConsoleLogger )Error (format string ,args ...interface{}){if _ec .LogLevel >=LogLevelError {_ggd :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_ec .output (_f .Stdout ,_ggd ,format ,args ...);};};
// Debug does nothing for dummy logger.
func (DummyLogger )Debug (format string ,args ...interface{}){};const _ecd =6;

// Warning does nothing for dummy logger.
func (DummyLogger )Warning (format string ,args ...interface{}){};
// IsLogLevel returns true if log level is greater or equal than `level`.
// Can be used to avoid resource intensive calls to loggers.
func (_aed ConsoleLogger )IsLogLevel (level LogLevel )bool {return _aed .LogLevel >=level };const (LogLevelTrace LogLevel =5;LogLevelDebug LogLevel =4;LogLevelInfo LogLevel =3;LogLevelNotice LogLevel =2;LogLevelWarning LogLevel =1;LogLevelError LogLevel =0;
);

// ConsoleLogger is a logger that writes logs to the 'os.Stdout'
type ConsoleLogger struct{LogLevel LogLevel ;};
// Notice logs notice message.
func (_eg ConsoleLogger )Notice (format string ,args ...interface{}){if _eg .LogLevel >=LogLevelNotice {_ag :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_eg .output (_bg .Stdout ,_ag ,format ,args ...);};};

// Info logs info message.
func (_db WriterLogger )Info (format string ,args ...interface{}){if _db .LogLevel >=LogLevelInfo {_cb :="\u005bI\u004e\u0046\u004f\u005d\u0020";_db .logToWriter (_db .Output ,_cb ,format ,args ...);};};
// SetLogger sets 'logger' to be used by the unidoc unipdf library.
func SetLogger (logger Logger ){Log =logger };const _ca =2022;func _dcd (_aee _e .Writer ,_abg string ,_fd string ,_gc ...interface{}){_ ,_fg ,_aeb ,_fc :=_af .Caller (3);if !_fc {_fg ="\u003f\u003f\u003f";_aeb =0;}else {_fg =_f .Base (_fg );};_acc :=_d .Sprintf ("\u0025s\u0020\u0025\u0073\u003a\u0025\u0064 ",_abg ,_fg ,_aeb )+_fd +"\u000a";
_d .Fprintf (_aee ,_acc ,_gc ...);};const _bbf ="\u0032\u0020\u004aan\u0075\u0061\u0072\u0079\u0020\u0032\u0030\u0030\u0036\u0020\u0061\u0074\u0020\u0031\u0035\u003a\u0030\u0034";func (_dec WriterLogger )logToWriter (_be _e .Writer ,_acd string ,_ade string ,_gde ...interface{}){_dcd (_be ,_acd ,_ade ,_gde );
};const Version ="\u0033\u002e\u0033\u0036\u002e\u0030";

// DummyLogger does nothing.
type DummyLogger struct{};var Log Logger =DummyLogger {};

// Error does nothing for dummy logger.
func (DummyLogger )Error (format string ,args ...interface{}){};
type DummyLogger struct{};

// Debug does nothing for dummy logger.
func (DummyLogger )Debug (format string ,args ...interface{}){};const _cgg =6;const _ee =15;func (_ace ConsoleLogger )output (_adg _g .Writer ,_cc string ,_ff string ,_bd ...interface{}){_cca (_adg ,_cc ,_ff ,_bd ...);};const _ebf =30;
// Notice does nothing for dummy logger.
func (DummyLogger )Notice (format string ,args ...interface{}){};const _bf =27;

// Logger is the interface used for logging in the unipdf package.
type Logger interface{Error (_cf string ,_a ...interface{});Warning (_gg string ,_ca ...interface{});Notice (_eb string ,_ge ...interface{});Info (_fc string ,_eba ...interface{});Debug (_d string ,_ac ...interface{});Trace (_dc string ,_gd ...interface{});
IsLogLevel (_ag LogLevel )bool ;};const (LogLevelTrace LogLevel =5;LogLevelDebug LogLevel =4;LogLevelInfo LogLevel =3;LogLevelNotice LogLevel =2;LogLevelWarning LogLevel =1;LogLevelError LogLevel =0;);
type Logger interface{Error (_db string ,_ae ...interface{});Warning (_g string ,_bb ...interface{});Notice (_c string ,_dbc ...interface{});Info (_gf string ,_gd ...interface{});Debug (_aeg string ,_da ...interface{});Trace (_dg string ,_cc ...interface{});
IsLogLevel (_ccf LogLevel )bool ;};

// IsLogLevel returns true if log level is greater or equal than `level`.
// Can be used to avoid resource intensive calls to loggers.
func (_fa WriterLogger )IsLogLevel (level LogLevel )bool {return _fa .LogLevel >=level };

// UtcTimeFormat returns a formatted string describing a UTC timestamp.
func UtcTimeFormat (t _cg .Time )string {return t .Format (_acea )+"\u0020\u0055\u0054\u0043"};
// Error logs error message.
func (_dga WriterLogger )Error (format string ,args ...interface{}){if _dga .LogLevel >=LogLevelError {_de :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_dga .logToWriter (_dga .Output ,_de ,format ,args ...);};};

// Warning logs warning message.
func (_gb ConsoleLogger )Warning (format string ,args ...interface{}){if _gb .LogLevel >=LogLevelWarning {_fd :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_gb .output (_f .Stdout ,_fd ,format ,args ...);};};
func (_dc ConsoleLogger )Warning (format string ,args ...interface{}){if _dc .LogLevel >=LogLevelWarning {_eb :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_dc .output (_bg .Stdout ,_eb ,format ,args ...);};};const _eaf =15;

// Notice logs notice message.
func (_gfe WriterLogger )Notice (format string ,args ...interface{}){if _gfe .LogLevel >=LogLevelNotice {_ded :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_gfe .logToWriter (_gfe .Output ,_ded ,format ,args ...);};};

// NewConsoleLogger creates new console logger.
func NewConsoleLogger (logLevel LogLevel )*ConsoleLogger {return &ConsoleLogger {LogLevel :logLevel }};
26 changes: 13 additions & 13 deletions common/license/license.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@
// terms that can be accessed at https://unidoc.io/eula/

// Package license helps manage commercial licenses and check if they are valid for the version of unipdf used.
package license ;import _d "github.com/unidoc/unipdf/v3/internal/license";
package license ;import _a "github.com/unidoc/unipdf/v3/internal/license";

// LicenseKey represents a loaded license key.
type LicenseKey =_d .LicenseKey ;

// GetLicenseKey returns the currently loaded license key.
func GetLicenseKey ()*LicenseKey {return _d .GetLicenseKey ()};
// MakeUnlicensedKey returns a default key.
func MakeUnlicensedKey ()*LicenseKey {return _a .MakeUnlicensedKey ()};

// SetLicenseKey sets and validates the license key.
func SetLicenseKey (content string ,customerName string )error {return _d .SetLicenseKey (content ,customerName );};

// MakeUnlicensedKey returns a default key.
func MakeUnlicensedKey ()*LicenseKey {return _d .MakeUnlicensedKey ()};const (LicenseTierUnlicensed =_d .LicenseTierUnlicensed ;LicenseTierCommunity =_d .LicenseTierCommunity ;LicenseTierIndividual =_d .LicenseTierIndividual ;LicenseTierBusiness =_d .LicenseTierBusiness ;
);
func SetLicenseKey (content string ,customerName string )error {return _a .SetLicenseKey (content ,customerName );};

// SetMeteredKey sets the metered API key required for SaaS operation.
// Document usage is reported periodically for the product to function correctly.
func SetMeteredKey (apiKey string )error {return _d .SetMeteredKey (apiKey )};
func SetMeteredKey (apiKey string )error {return _a .SetMeteredKey (apiKey )};

// LicenseKey represents a loaded license key.
type LicenseKey =_a .LicenseKey ;

// GetLicenseKey returns the currently loaded license key.
func GetLicenseKey ()*LicenseKey {return _a .GetLicenseKey ()};

// GetMeteredState checks the currently used metered document usage status,
// documents used and credits available.
func GetMeteredState ()(_d .MeteredStatus ,error ){return _d .GetMeteredState ()};
func GetMeteredState ()(_a .MeteredStatus ,error ){return _a .GetMeteredState ()};const (LicenseTierUnlicensed =_a .LicenseTierUnlicensed ;LicenseTierCommunity =_a .LicenseTierCommunity ;LicenseTierIndividual =_a .LicenseTierIndividual ;LicenseTierBusiness =_a .LicenseTierBusiness ;
);
Loading

0 comments on commit 9949a6b

Please sign in to comment.