private void SetPreProcessingParameters(PageProcessingParams pageProcessingParams)
 {
     pageProcessingParams.PerformPreprocessing = true;
     pageProcessingParams.PagePreprocessingParams.CorrectOrientation = true;
     pageProcessingParams.PagePreprocessingParams.CorrectSkew        = ThreeStatePropertyValueEnum.TSPV_Yes;
     pageProcessingParams.PagePreprocessingParams.CorrectSkewMode    = (int)(CorrectSkewModeEnum.CSM_CorrectSkewByHorizontalText | CorrectSkewModeEnum.CSM_CorrectSkewByHorizontalLines);
 }
        private void SetPageSynthesisParameters(PageProcessingParams pageProcessingParams)
        {
            SynthesisParamsForPage pageSynthesisParams = pageProcessingParams.SynthesisParamsForPage ?? engine.CreateSynthesisParamsForPage();

            pageProcessingParams.SynthesisParamsForPage = pageSynthesisParams;

            FontFormattingDetectionParams fontFormattingDetectionParams = pageSynthesisParams.FontFormattingDetectionParams;

            fontFormattingDetectionParams.DetectBold               = true;
            fontFormattingDetectionParams.DetectFontFamily         = true;
            fontFormattingDetectionParams.DetectItalic             = true;
            fontFormattingDetectionParams.DetectFontSize           = true;
            fontFormattingDetectionParams.DetectUnderlineStrikeout = true;
        }
        private void SetRecognitionParameters(string language, PageProcessingParams pageProcessingParams, List <string> dictionary, int languageWeight, int dictionaryWeight)
        {
            RecognizerParams recognizingParams = pageProcessingParams.RecognizerParams ?? engine.CreateRecognizerParams();

            pageProcessingParams.RecognizerParams = recognizingParams;
            if (dictionary != null)
            {
                TextLanguage textLanguage = makeTextLanguage(language, dictionary, languageWeight, dictionaryWeight);
                recognizingParams.TextLanguage = textLanguage;
            }
            else
            {
                recognizingParams.WritingStyle = GetWritingSyle(language);
                recognizingParams.SetPredefinedTextLanguage(language);
            }
        }
        private void SetPageProcessingParameters(DocumentProcessingParams processingParams, string language, List <string> dictionary, int languageWeight, int dictionaryWeight)
        {
            PageProcessingParams pageProcessingParams = processingParams.PageProcessingParams ?? engine.CreatePageProcessingParams();

            processingParams.PageProcessingParams = pageProcessingParams;

            SetPreProcessingParameters(pageProcessingParams);

            SetObjectExtractionParameters(pageProcessingParams);

            SetPageAnalyzeParameters(pageProcessingParams);

            SetPageSynthesisParameters(pageProcessingParams);

            SetRecognitionParameters(language, pageProcessingParams, dictionary, languageWeight, dictionaryWeight);
        }
        private void SetObjectExtractionParameters(PageProcessingParams pageProcessingParams)
        {
            ObjectsExtractionParams objectExtracionParams = pageProcessingParams.ObjectsExtractionParams ?? engine.CreateObjectsExtractionParams();

            pageProcessingParams.ObjectsExtractionParams = objectExtracionParams;
        }
        private void SetPageAnalyzeParameters(PageProcessingParams pageProcessingParams)
        {
            PageAnalysisParams pageAnalysisParams = pageProcessingParams.PageAnalysisParams ?? engine.CreatePageAnalysisParams();

            SetTableAnalyzeParameters(pageAnalysisParams);
        }