diff --git a/README.md b/README.md index d6e4789..859a068 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ What is TesseractOCR ========= -It is a .NET wrapper for Tesseract 5.2.0 that is originally copied from Charles Weld (https://github.com/charlesw/tesseract) and modified for my own needs +It is a .NET wrapper for Tesseract 5.3.0 that is originally copied from Charles Weld (https://github.com/charlesw/tesseract) and modified for my own needs How to use ============ @@ -13,7 +13,7 @@ You can get them at https://github.com/tesseract-ocr/tessdata or https://github. ## Microsoft Visual C++ runtimes -The DLL's Tesseract51.dll (and exe) and leptonica-1.82.0.dll are compiled with Visual Studio 2022 you need these C++ runtimes for it on your computer +The DLL's Tesseract51.dll (and exe) and leptonica-1.83.0.dll are compiled with Visual Studio 2022 you need these C++ runtimes for it on your computer - X86: https://aka.ms/vs/17/release/vc_redist.x86.exe - X64: https://aka.ms/vs/17/release/vc_redist.x64.exe diff --git a/TesseractOCR.Net45Tests/TesseractOCR.Net48Tests.csproj b/TesseractOCR.Net45Tests/TesseractOCR.Net48Tests.csproj index e9a370b..3b984e6 100644 --- a/TesseractOCR.Net45Tests/TesseractOCR.Net48Tests.csproj +++ b/TesseractOCR.Net45Tests/TesseractOCR.Net48Tests.csproj @@ -34,9 +34,9 @@ - - - + + + diff --git a/TesseractOCR.Net45Tests/x64/leptonica-1.82.0.dll b/TesseractOCR.Net45Tests/x64/leptonica-1.82.0.dll deleted file mode 100644 index 91a8ce0..0000000 Binary files a/TesseractOCR.Net45Tests/x64/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR.Net45Tests/x64/tesseract.exe b/TesseractOCR.Net45Tests/x64/tesseract.exe index e3519a3..d1b0046 100644 Binary files a/TesseractOCR.Net45Tests/x64/tesseract.exe and b/TesseractOCR.Net45Tests/x64/tesseract.exe differ diff --git a/TesseractOCR.Net45Tests/x64/tesseract52.dll b/TesseractOCR.Net45Tests/x64/tesseract52.dll deleted file mode 100644 index 1946502..0000000 Binary files a/TesseractOCR.Net45Tests/x64/tesseract52.dll and /dev/null differ diff --git a/TesseractOCR.Net45Tests/x86/leptonica-1.82.0.dll b/TesseractOCR.Net45Tests/x86/leptonica-1.82.0.dll deleted file mode 100644 index 062ebec..0000000 Binary files a/TesseractOCR.Net45Tests/x86/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR.Net45Tests/x86/tesseract.exe b/TesseractOCR.Net45Tests/x86/tesseract.exe index 8a817e6..50cb7b6 100644 Binary files a/TesseractOCR.Net45Tests/x86/tesseract.exe and b/TesseractOCR.Net45Tests/x86/tesseract.exe differ diff --git a/TesseractOCR.NetCore31Tests/TesseractOCR.NetCore31Tests.csproj b/TesseractOCR.NetCore31Tests/TesseractOCR.NetCore31Tests.csproj index 42138b8..73d7952 100644 --- a/TesseractOCR.NetCore31Tests/TesseractOCR.NetCore31Tests.csproj +++ b/TesseractOCR.NetCore31Tests/TesseractOCR.NetCore31Tests.csproj @@ -33,9 +33,9 @@ - - - + + + diff --git a/TesseractOCR.NetCore31Tests/x64/leptonica-1.82.0.dll b/TesseractOCR.NetCore31Tests/x64/leptonica-1.82.0.dll deleted file mode 100644 index 91a8ce0..0000000 Binary files a/TesseractOCR.NetCore31Tests/x64/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR.NetCore31Tests/x64/tesseract.exe b/TesseractOCR.NetCore31Tests/x64/tesseract.exe index e3519a3..d1b0046 100644 Binary files a/TesseractOCR.NetCore31Tests/x64/tesseract.exe and b/TesseractOCR.NetCore31Tests/x64/tesseract.exe differ diff --git a/TesseractOCR.NetCore31Tests/x64/tesseract52.dll b/TesseractOCR.NetCore31Tests/x64/tesseract52.dll deleted file mode 100644 index 1946502..0000000 Binary files a/TesseractOCR.NetCore31Tests/x64/tesseract52.dll and /dev/null differ diff --git a/TesseractOCR.NetCore31Tests/x86/leptonica-1.82.0.dll b/TesseractOCR.NetCore31Tests/x86/leptonica-1.82.0.dll deleted file mode 100644 index 062ebec..0000000 Binary files a/TesseractOCR.NetCore31Tests/x86/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR.NetCore31Tests/x86/tesseract.exe b/TesseractOCR.NetCore31Tests/x86/tesseract.exe index 8a817e6..50cb7b6 100644 Binary files a/TesseractOCR.NetCore31Tests/x86/tesseract.exe and b/TesseractOCR.NetCore31Tests/x86/tesseract.exe differ diff --git a/TesseractOCR.NetCore31Tests/x86/tesseract52.dll b/TesseractOCR.NetCore31Tests/x86/tesseract52.dll deleted file mode 100644 index 71684f1..0000000 Binary files a/TesseractOCR.NetCore31Tests/x86/tesseract52.dll and /dev/null differ diff --git a/TesseractOCR/DisposableBase.cs b/TesseractOCR/DisposableBase.cs index 9722f73..50b98c6 100644 --- a/TesseractOCR/DisposableBase.cs +++ b/TesseractOCR/DisposableBase.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/ElementProperties.cs b/TesseractOCR/ElementProperties.cs index b915425..2dd6170 100644 --- a/TesseractOCR/ElementProperties.cs +++ b/TesseractOCR/ElementProperties.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Engine.cs b/TesseractOCR/Engine.cs index 43b8b82..2752217 100644 --- a/TesseractOCR/Engine.cs +++ b/TesseractOCR/Engine.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/EngineMode.cs b/TesseractOCR/Enums/EngineMode.cs index 8809b78..516d1b9 100644 --- a/TesseractOCR/Enums/EngineMode.cs +++ b/TesseractOCR/Enums/EngineMode.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/ImageFormat.cs b/TesseractOCR/Enums/ImageFormat.cs index c45968c..cf3da78 100644 --- a/TesseractOCR/Enums/ImageFormat.cs +++ b/TesseractOCR/Enums/ImageFormat.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/Language.cs b/TesseractOCR/Enums/Language.cs index f5dfc86..d300cf3 100644 --- a/TesseractOCR/Enums/Language.cs +++ b/TesseractOCR/Enums/Language.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/Orientation.cs b/TesseractOCR/Enums/Orientation.cs index b5ec31f..dc82735 100644 --- a/TesseractOCR/Enums/Orientation.cs +++ b/TesseractOCR/Enums/Orientation.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/PageIteratorLevel.cs b/TesseractOCR/Enums/PageIteratorLevel.cs index 2925392..4ee9d2f 100644 --- a/TesseractOCR/Enums/PageIteratorLevel.cs +++ b/TesseractOCR/Enums/PageIteratorLevel.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/PageSegMode.cs b/TesseractOCR/Enums/PageSegMode.cs index d6478aa..fd7eb29 100644 --- a/TesseractOCR/Enums/PageSegMode.cs +++ b/TesseractOCR/Enums/PageSegMode.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/ParagraphJustification.cs b/TesseractOCR/Enums/ParagraphJustification.cs index 0a296fa..c9ce91a 100644 --- a/TesseractOCR/Enums/ParagraphJustification.cs +++ b/TesseractOCR/Enums/ParagraphJustification.cs @@ -2,7 +2,7 @@ // ParagraphJustification // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/PixArrayAccessType.cs b/TesseractOCR/Enums/PixArrayAccessType.cs index 84e2195..da5a853 100644 --- a/TesseractOCR/Enums/PixArrayAccessType.cs +++ b/TesseractOCR/Enums/PixArrayAccessType.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/PolyBlockType.cs b/TesseractOCR/Enums/PolyBlockType.cs index 8e7b545..f791496 100644 --- a/TesseractOCR/Enums/PolyBlockType.cs +++ b/TesseractOCR/Enums/PolyBlockType.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/RenderFormat.cs b/TesseractOCR/Enums/RenderFormat.cs index 6d9e33e..5341393 100644 --- a/TesseractOCR/Enums/RenderFormat.cs +++ b/TesseractOCR/Enums/RenderFormat.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/RotationDirection.cs b/TesseractOCR/Enums/RotationDirection.cs index e73a6bb..ed5bcfd 100644 --- a/TesseractOCR/Enums/RotationDirection.cs +++ b/TesseractOCR/Enums/RotationDirection.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/RotationFill.cs b/TesseractOCR/Enums/RotationFill.cs index 75bdfdc..284c350 100644 --- a/TesseractOCR/Enums/RotationFill.cs +++ b/TesseractOCR/Enums/RotationFill.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/RotationMethod.cs b/TesseractOCR/Enums/RotationMethod.cs index ebc9b48..6f660c0 100644 --- a/TesseractOCR/Enums/RotationMethod.cs +++ b/TesseractOCR/Enums/RotationMethod.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/ScriptName.cs b/TesseractOCR/Enums/ScriptName.cs index ff56079..902c4a4 100644 --- a/TesseractOCR/Enums/ScriptName.cs +++ b/TesseractOCR/Enums/ScriptName.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/SelType.cs b/TesseractOCR/Enums/SelType.cs index 8223fce..ea99b2a 100644 --- a/TesseractOCR/Enums/SelType.cs +++ b/TesseractOCR/Enums/SelType.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/TextLineOrder.cs b/TesseractOCR/Enums/TextLineOrder.cs index b2609e9..69a26ed 100644 --- a/TesseractOCR/Enums/TextLineOrder.cs +++ b/TesseractOCR/Enums/TextLineOrder.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Enums/WritingDirection.cs b/TesseractOCR/Enums/WritingDirection.cs index c65d7cc..0d8a715 100644 --- a/TesseractOCR/Enums/WritingDirection.cs +++ b/TesseractOCR/Enums/WritingDirection.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Exceptions/LeptonicaException.cs b/TesseractOCR/Exceptions/LeptonicaException.cs index 93c306b..f9d1368 100644 --- a/TesseractOCR/Exceptions/LeptonicaException.cs +++ b/TesseractOCR/Exceptions/LeptonicaException.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Exceptions/LoadLibraryException.cs b/TesseractOCR/Exceptions/LoadLibraryException.cs index 518b842..5e1d88c 100644 --- a/TesseractOCR/Exceptions/LoadLibraryException.cs +++ b/TesseractOCR/Exceptions/LoadLibraryException.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Exceptions/TesseractException.cs b/TesseractOCR/Exceptions/TesseractException.cs index 4dd7ca9..61e2ef0 100644 --- a/TesseractOCR/Exceptions/TesseractException.cs +++ b/TesseractOCR/Exceptions/TesseractException.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Font/Attributes.cs b/TesseractOCR/Font/Attributes.cs index fdd442d..b1f3e82 100644 --- a/TesseractOCR/Font/Attributes.cs +++ b/TesseractOCR/Font/Attributes.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Font/Info.cs b/TesseractOCR/Font/Info.cs index b61929d..54568c0 100644 --- a/TesseractOCR/Font/Info.cs +++ b/TesseractOCR/Font/Info.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Font/Properties.cs b/TesseractOCR/Font/Properties.cs index 8f81560..f3fd485 100644 --- a/TesseractOCR/Font/Properties.cs +++ b/TesseractOCR/Font/Properties.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Helpers/Math.cs b/TesseractOCR/Helpers/Math.cs index f88a5c5..5497e50 100644 --- a/TesseractOCR/Helpers/Math.cs +++ b/TesseractOCR/Helpers/Math.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Internal/ErrorMessage.cs b/TesseractOCR/Internal/ErrorMessage.cs index 39e66d5..c1ca835 100644 --- a/TesseractOCR/Internal/ErrorMessage.cs +++ b/TesseractOCR/Internal/ErrorMessage.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Internal/Guard.cs b/TesseractOCR/Internal/Guard.cs index c34d3d2..9682902 100644 --- a/TesseractOCR/Internal/Guard.cs +++ b/TesseractOCR/Internal/Guard.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Internal/TessConvert.cs b/TesseractOCR/Internal/TessConvert.cs index 006b035..63ee377 100644 --- a/TesseractOCR/Internal/TessConvert.cs +++ b/TesseractOCR/Internal/TessConvert.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Interop/Constants.cs b/TesseractOCR/Interop/Constants.cs index d1d48a6..45b8c7e 100644 --- a/TesseractOCR/Interop/Constants.cs +++ b/TesseractOCR/Interop/Constants.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // @@ -29,8 +29,8 @@ namespace TesseractOCR.Interop /// internal static class Constants { - public const string LeptonicaDllName = "leptonica-1.82.0.dll"; - public const string TesseractDllName = "tesseract52.dll"; + public const string LeptonicaDllName = "leptonica-1.83.0.dll"; + public const string TesseractDllName = "tesseract53.dll"; // Tesseract uses an int to represent true false values. public const int True = 1; diff --git a/TesseractOCR/Interop/Helper.cs b/TesseractOCR/Interop/Helper.cs index 5ffc579..1c13ffa 100644 --- a/TesseractOCR/Interop/Helper.cs +++ b/TesseractOCR/Interop/Helper.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Interop/LeptonicaApi.cs b/TesseractOCR/Interop/LeptonicaApi.cs index 20950b3..b918a9d 100644 --- a/TesseractOCR/Interop/LeptonicaApi.cs +++ b/TesseractOCR/Interop/LeptonicaApi.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Interop/MarshalHelper.cs b/TesseractOCR/Interop/MarshalHelper.cs index 1b8b5e6..1517647 100644 --- a/TesseractOCR/Interop/MarshalHelper.cs +++ b/TesseractOCR/Interop/MarshalHelper.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Interop/TessApi.cs b/TesseractOCR/Interop/TessApi.cs index 39904c0..0dc58f0 100644 --- a/TesseractOCR/Interop/TessApi.cs +++ b/TesseractOCR/Interop/TessApi.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/InteropDotNet/LibraryLoader.cs b/TesseractOCR/InteropDotNet/LibraryLoader.cs index 67ca16e..a8059e0 100644 --- a/TesseractOCR/InteropDotNet/LibraryLoader.cs +++ b/TesseractOCR/InteropDotNet/LibraryLoader.cs @@ -29,6 +29,7 @@ using System.IO; using System.Reflection; using TesseractOCR.Helpers; +using static System.String; using File = System.IO.File; // ReSharper disable UnusedMember.Global @@ -45,13 +46,11 @@ public class LibraryLoader private readonly object _syncLock = new object(); private readonly Dictionary _loadedAssemblies = new Dictionary(); private static LibraryLoader _instance; - private string _customSearchPath; - public string CustomSearchPath - { - get { return _customSearchPath; } - set { _customSearchPath = value; } - } + /// + /// Uses an alternative search path + /// + public string CustomSearchPath { get; set; } #endregion /// @@ -156,7 +155,7 @@ private IntPtr CheckCodeBase(string fileName, string platformName) { var assemblyLocation = Assembly.GetExecutingAssembly().GetName().CodeBase; - if (string.IsNullOrEmpty(assemblyLocation)) + if (IsNullOrEmpty(assemblyLocation)) { Logger.LogInformation("Code base was empty"); return IntPtr.Zero; @@ -173,7 +172,7 @@ private IntPtr CheckExecutingAssemblyDomain(string fileName, string platformName { var assemblyLocation = Assembly.GetExecutingAssembly().Location; - if (string.IsNullOrEmpty(assemblyLocation)) + if (IsNullOrEmpty(assemblyLocation)) { Logger.LogInformation("Executing assembly location was empty"); return IntPtr.Zero; @@ -189,7 +188,7 @@ private IntPtr CheckCurrentAppDomain(string fileName, string platformName) { var appBase = AppDomain.CurrentDomain.BaseDirectory; - if (string.IsNullOrEmpty(appBase)) + if (IsNullOrEmpty(appBase)) { Logger.LogInformation("App domains current domain base was empty"); return IntPtr.Zero; @@ -205,7 +204,7 @@ private IntPtr CheckWorkingDirectory(string fileName, string platformName) { var currentDirectory = Environment.CurrentDirectory; - if (string.IsNullOrEmpty(currentDirectory)) + if (IsNullOrEmpty(currentDirectory)) { Logger.LogInformation("Current directory was empty"); return IntPtr.Zero; @@ -219,9 +218,9 @@ private IntPtr CheckWorkingDirectory(string fileName, string platformName) private IntPtr CheckCustomSearchPath(string fileName, string platformName) { var baseDirectory = CustomSearchPath; - if (!String.IsNullOrEmpty(baseDirectory)) + if (!IsNullOrEmpty(baseDirectory)) { - Logger.LogInformation(string.Format("Checking custom search location '{0}' for '{1}' on platform {2}.", baseDirectory, fileName, platformName)); + Logger.LogInformation($"Checking custom search location '{baseDirectory}' for '{fileName}' on platform {platformName}."); return InternalLoadLibrary(baseDirectory, platformName, fileName); } else diff --git a/TesseractOCR/Layout/Blocks.cs b/TesseractOCR/Layout/Blocks.cs index 5c5f618..c0466b3 100644 --- a/TesseractOCR/Layout/Blocks.cs +++ b/TesseractOCR/Layout/Blocks.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/EnumerableBase.cs b/TesseractOCR/Layout/EnumerableBase.cs index 0819592..1d11ce2 100644 --- a/TesseractOCR/Layout/EnumerableBase.cs +++ b/TesseractOCR/Layout/EnumerableBase.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/EnumeratorBase.cs b/TesseractOCR/Layout/EnumeratorBase.cs index 847ddf5..34210c0 100644 --- a/TesseractOCR/Layout/EnumeratorBase.cs +++ b/TesseractOCR/Layout/EnumeratorBase.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/Paragraphs.cs b/TesseractOCR/Layout/Paragraphs.cs index f8d7b45..7bba006 100644 --- a/TesseractOCR/Layout/Paragraphs.cs +++ b/TesseractOCR/Layout/Paragraphs.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/Symbols.cs b/TesseractOCR/Layout/Symbols.cs index 65068c8..2fb7a30 100644 --- a/TesseractOCR/Layout/Symbols.cs +++ b/TesseractOCR/Layout/Symbols.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/TextLines.cs b/TesseractOCR/Layout/TextLines.cs index 33296ff..195606c 100644 --- a/TesseractOCR/Layout/TextLines.cs +++ b/TesseractOCR/Layout/TextLines.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Layout/Words.cs b/TesseractOCR/Layout/Words.cs index 22e2a0b..b2a3198 100644 --- a/TesseractOCR/Layout/Words.cs +++ b/TesseractOCR/Layout/Words.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Page.cs b/TesseractOCR/Page.cs index 63a7031..16d71f3 100644 --- a/TesseractOCR/Page.cs +++ b/TesseractOCR/Page.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/ParagraphInfo.cs b/TesseractOCR/ParagraphInfo.cs index f22f54f..b00a746 100644 --- a/TesseractOCR/ParagraphInfo.cs +++ b/TesseractOCR/ParagraphInfo.cs @@ -3,7 +3,7 @@ // // Author: Kees van Spelde // -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Pix/Array.cs b/TesseractOCR/Pix/Array.cs index 666206e..6701e87 100644 --- a/TesseractOCR/Pix/Array.cs +++ b/TesseractOCR/Pix/Array.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Pix/Color.cs b/TesseractOCR/Pix/Color.cs index 6da7404..2525547 100644 --- a/TesseractOCR/Pix/Color.cs +++ b/TesseractOCR/Pix/Color.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Pix/Colormap.cs b/TesseractOCR/Pix/Colormap.cs index 154589c..a381b0e 100644 --- a/TesseractOCR/Pix/Colormap.cs +++ b/TesseractOCR/Pix/Colormap.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Pix/Data.cs b/TesseractOCR/Pix/Data.cs index bafc439..520b21e 100644 --- a/TesseractOCR/Pix/Data.cs +++ b/TesseractOCR/Pix/Data.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Pix/Image.cs b/TesseractOCR/Pix/Image.cs index 3ea526e..ea38f3a 100644 --- a/TesseractOCR/Pix/Image.cs +++ b/TesseractOCR/Pix/Image.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Rect.cs b/TesseractOCR/Rect.cs index 8488d0b..e8f80d7 100644 --- a/TesseractOCR/Rect.cs +++ b/TesseractOCR/Rect.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Renderers/AggregateResult.cs b/TesseractOCR/Renderers/AggregateResult.cs index 4f419ca..ef76e37 100644 --- a/TesseractOCR/Renderers/AggregateResult.cs +++ b/TesseractOCR/Renderers/AggregateResult.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Renderers/IResult.cs b/TesseractOCR/Renderers/IResult.cs index 268e93f..323738f 100644 --- a/TesseractOCR/Renderers/IResult.cs +++ b/TesseractOCR/Renderers/IResult.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Renderers/Result.cs b/TesseractOCR/Renderers/Result.cs index 0e48706..71c0d62 100644 --- a/TesseractOCR/Renderers/Result.cs +++ b/TesseractOCR/Renderers/Result.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/Scew.cs b/TesseractOCR/Scew.cs index 586dcce..4f7c4e5 100644 --- a/TesseractOCR/Scew.cs +++ b/TesseractOCR/Scew.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/ScewSweep.cs b/TesseractOCR/ScewSweep.cs index 6282e93..a0c1e9e 100644 --- a/TesseractOCR/ScewSweep.cs +++ b/TesseractOCR/ScewSweep.cs @@ -4,7 +4,7 @@ // Author: Kees van Spelde // // Copyright 2012-2019 Charles Weld -// Copyright 2021-2022 Kees van Spelde +// Copyright 2021-2023 Kees van Spelde // // Licensed under the Apache License, Version 2.0 (the "License"); // diff --git a/TesseractOCR/TesseractOCR.csproj b/TesseractOCR/TesseractOCR.csproj index fb7fc47..7784dfb 100644 --- a/TesseractOCR/TesseractOCR.csproj +++ b/TesseractOCR/TesseractOCR.csproj @@ -4,10 +4,11 @@ TesseractOCR Charles Weld & Kees van Spelde Tesseract - Tesseract 5.2.0 adds a new neural net (LSTM) based OCR engine which is focused on line recognition, but also still supports the legacy Tesseract OCR engine of Tesseract 3 which works by recognizing character patterns. Compatibility with Tesseract 3 is enabled by using the Legacy OCR Engine mode (--oem 0). It also needs traineddata files which support the legacy engine, for example those from the tessdata repository. - Copyright 2012-2021 Charles Weld - Copyright 2021-2022 Kees van Spelde - - Updated nuget packages -- Changed FontAttributes to FontProperties and moved it to a higher level + Tesseract 5.3.0 adds a new neural net (LSTM) based OCR engine which is focused on line recognition, but also still supports the legacy Tesseract OCR engine of Tesseract 3 +which works by recognizing character patterns. Compatibility with Tesseract 3 is enabled by using the Legacy OCR Engine mode (--oem 0). It also needs traineddata files +which support the legacy engine, for example those from the tessdata repository. + Copyright 2012-2021 Charles Weld - Copyright 2021-2023 Kees van Spelde + - Updated to Tesseract 5.3 and Leptonica 1.8.3 https://github.com/Sicos1977/TesseractOCR https://github.com/Sicos1977/TesseractOCR Tesseract OCR text readable PDF @@ -15,10 +16,10 @@ false netstandard21;net461;net48;net5.0;net6.0 True - 5.2.16.0 - 5.2.15.0 + 5.3.0.0 + 5.3.0.0 False - 5.2.16 + 5.3.0 ocr.png true bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml diff --git a/TesseractOCR/x64/leptonica-1.82.0.dll b/TesseractOCR/x64/leptonica-1.82.0.dll deleted file mode 100644 index 91a8ce0..0000000 Binary files a/TesseractOCR/x64/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR/x64/tesseract.exe b/TesseractOCR/x64/tesseract.exe index e3519a3..d1b0046 100644 Binary files a/TesseractOCR/x64/tesseract.exe and b/TesseractOCR/x64/tesseract.exe differ diff --git a/TesseractOCR/x64/tesseract52.dll b/TesseractOCR/x64/tesseract52.dll deleted file mode 100644 index 1946502..0000000 Binary files a/TesseractOCR/x64/tesseract52.dll and /dev/null differ diff --git a/TesseractOCR/x86/leptonica-1.82.0.dll b/TesseractOCR/x86/leptonica-1.82.0.dll deleted file mode 100644 index 062ebec..0000000 Binary files a/TesseractOCR/x86/leptonica-1.82.0.dll and /dev/null differ diff --git a/TesseractOCR/x86/tesseract.exe b/TesseractOCR/x86/tesseract.exe index 8a817e6..50cb7b6 100644 Binary files a/TesseractOCR/x86/tesseract.exe and b/TesseractOCR/x86/tesseract.exe differ diff --git a/TesseractOCR/x86/tesseract52.dll b/TesseractOCR/x86/tesseract52.dll deleted file mode 100644 index 71684f1..0000000 Binary files a/TesseractOCR/x86/tesseract52.dll and /dev/null differ