Verified Commit b94da5eb authored by Marius Göcke's avatar Marius Göcke
Browse files

fixes

parent 83d223fd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,4 +7,4 @@ Debian;docker.io/library/debian;13.4-slim
Syft;docker.io/anchore/syft;v1.41.2
Curl;docker.io/curlimages/curl;8.20.0
Betterleaks;ghcr.io/betterleaks/betterleaks;v1.4.1
SCBuilder;aniondev/scbuilder;v1.2.3
SCBuilder;aniondev/scbuilder;v1.2.7
+1 −0
Original line number Diff line number Diff line
@@ -4,4 +4,5 @@
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <cps:producttitle>SimpleOCR</cps:producttitle>
    <cps:remoteaddress>https://github.com/anionDevelopment/SimpleOCR</cps:remoteaddress>
    <cps:requiredenvironmentvariables></cps:requiredenvironmentvariables>
</cps:productinformation>
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ namespace SimpleOCR.CLI.Core.Verbs
        public string OCRDataFolder { get; set; }
        [Option('o', nameof(OutputFile), Required = false, HelpText = "Output-file for OCR-content. (OCR-content will be printed to console if output-file is not set.)")]
        public string OutputFile { get; set; }
        [Option('l', "Languages", HelpText = "Expected languages of the document-content in ISO 639-3 format", Default = "eng")]
        [Option('l', "Languages", HelpText = "Expected languages of the document-content in ISO 639-3 format", Default = new string[] { "eng" })]
        public IEnumerable<string> Languages { get; set; }

        [Option('v', nameof(Verbose), Required = false)]
+11 −6
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ namespace SimpleOCR.Library.Core.Misc.Visitors

        public string Handle(TesseractByCLI tesseractByCLI)
        {
            string inputFile = Path.GetTempFileName()+".png";
            string inputFilePlaceholder = Path.GetTempFileName();
            string inputFile = inputFilePlaceholder + ".png";
            string outputFile = Path.GetTempFileName();
            string outputFileFull = outputFile + ".txt";
            GRYLibrary.Core.Misc.Utilities.EnsureFileExists(inputFile);
@@ -36,19 +37,23 @@ namespace SimpleOCR.Library.Core.Misc.Visitors
            try
            {
                string languagesConcatenated = this.GetLanguagesConcatenated();
                ExternalProgramExecutor e = new ExternalProgramExecutor(new ExternalProgramExecutorConfiguration()
                using (ExternalProgramExecutor e = new ExternalProgramExecutor(new ExternalProgramExecutorConfiguration()
                {
                    Program = "tesseract",
                    Argument = $"{inputFile} {outputFile} -l {languagesConcatenated} --tessdata-dir {_DataFolder}",
                });
                }))
                {
                    e.Run();
                }
                string result = File.ReadAllText(outputFileFull);
                return result;
            }
            finally
            {
                GRYLibrary.Core.Misc.Utilities.EnsureFileDoesNotExist(inputFile);
                GRYLibrary.Core.Misc.Utilities.EnsureFileDoesNotExist(inputFilePlaceholder);
                GRYLibrary.Core.Misc.Utilities.EnsureFileDoesNotExist(outputFileFull);
                GRYLibrary.Core.Misc.Utilities.EnsureFileDoesNotExist(outputFile);
            }
        }

@@ -59,8 +64,8 @@ namespace SimpleOCR.Library.Core.Misc.Visitors

        private string GetTextFromPictureFromLibrary(byte[] content)
        {
            TesseractEngine engine = this.GetTessDataEngineFromLibrary();
            return this.GetTextFromPictureFromLibrary(this._PictureContent, engine);
            using TesseractEngine engine = this.GetTessDataEngineFromLibrary();
            return this.GetTextFromPictureFromLibrary(content, engine);
        }

        private string GetTextFromPictureFromLibrary(byte[] content, TesseractEngine engine)
+6 −4
Original line number Diff line number Diff line
@@ -152,14 +152,16 @@ namespace SimpleOCR.Library.Core.Misc.Visitors
                string expectedOutput = Path.Combine(tempDir, Path.GetFileNameWithoutExtension(tempInput) + "." + targetFormat);
                string program = "soffice";
                string argument = $"--headless --convert-to {targetFormat} \"{tempInput}\" --outdir \"{tempDir}\"";
                var e = new ExternalProgramExecutor(new ExternalProgramExecutorConfiguration
                using (ExternalProgramExecutor e = new ExternalProgramExecutor(new ExternalProgramExecutorConfiguration
                {
                    Program = program,
                    Argument = argument,
                    Verbosity = enforceVerbose ? Verbosity.Full : Verbosity.Normal,
                });
                }))
                {
                    e.Run();
                    GRYLibrary.Core.Misc.Utilities.AssertCondition(File.Exists(expectedOutput), $"File \"{expectedOutput}\" not found after running \">{program} {argument}\"; StdOut: {string.Join("\n", e.AllStdOutLines)}; StdErr: {string.Join("\n", e.AllStdErrLines)}");
                }
                return File.ReadAllBytes(expectedOutput);
            }
            catch
Loading