/*
 * SDK Pullenti Unitext, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software. 
 * This class is generated using the converter UniSharping (www.unisharping.ru) from Pullenti C# project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */

using System;

namespace Pullenti.Unitext
{
    /// <summary>
    /// Параметры создания документа UnitextDocument функцией CreateDocument
    /// </summary>
    public class CreateDocumentParam
    {
        /// <summary>
        /// Признак того, что создание предназначено только для последующего 
        /// выделения плоского текста. То есть картинки и пр. можно игнорировать.
        /// </summary>
        public bool OnlyForPureText = false;
        /// <summary>
        /// Для архивов не извлекать файлы, для почтовых форматов игнорировать вложения
        /// </summary>
        public bool IgnoreInnerDocuments = false;
        /// <summary>
        /// Извлекать ли картинки для страниц тексто-графических форматов (Pdf, DjVu). 
        /// Используется для OCR распознаваний
        /// </summary>
        public bool ExtractPageImageContent = false;
        /// <summary>
        /// Разбивать ли слипшиеся строки таблиц на отдельные строки (когда в ячейках таблицы строки 
        /// моделируются переходами на новую строку)
        /// </summary>
        public bool SplitTableRows = false;
        /// <summary>
        /// Загружать ли структуру документа, если есть, оформляя её через UnitextDocblock. 
        /// Сейчас поддержано только для HTML и FB2.
        /// </summary>
        public bool LoadDocumentStructure = false;
        /// <summary>
        /// Параметры корректировки результата (по умолчанию, корректировать всё). 
        /// Если нужно что-либо отключать, то явно задавайте здесь флажки.
        /// </summary>
        public CorrectDocumentParam CorrectParams = new CorrectDocumentParam();
        /// <summary>
        /// Не генерировать Id для элементов. По умолчанию false, то есть генерировать.
        /// </summary>
        public bool DontGenerateItemsId = false;
        /// <summary>
        /// Не разбирать документы формата Word6 и ранее (иначе выделяет из него только текст, и то не всегда правильно)
        /// </summary>
        public bool IgnoreWord6 = false;
        /// <summary>
        /// Можно поставить ограничитель на число строк таблиц (больше этого порога будут отбрасываться)
        /// </summary>
        public int MaxTableRows = 0;
        /// <summary>
        /// При установке картинки с содержимым большего размера будут игнорироваться
        /// </summary>
        public int MaxImageSize = 0;
        /// <summary>
        /// Представлять формулы MS Word картинками UnitextImage (но без содержимого)
        /// </summary>
        public bool SetFormulaAsImage = false;
        public CreateDocumentParam()
        {
            CorrectParams = new CorrectDocumentParam();
            CorrectParams.ChooseAll = true;
        }
        /// <summary>
        /// В наследной функции можно переопределить это для получения бегунка 
        /// (используется для PDF, когда он очень большой, то прогресс обработки страниц)
        /// </summary>
        public virtual void Progress(int percent)
        {
        }
    }
}