/*
 * 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
 */

package com.pullenti.unitext;

/**
 * Параметры создания документа UnitextDocument функцией CreateDocument
 * Параметры создания документа
 */
public class CreateDocumentParam {

    /**
     * Признак того, что создание предназначено только для последующего 
     * выделения плоского текста. То есть картинки и пр. можно игнорировать.
     */
    public boolean onlyForPureText = false;

    /**
     * Для архивов не извлекать файлы, для почтовых форматов игнорировать вложения
     */
    public boolean ignoreInnerDocuments = false;

    /**
     * Извлекать ли картинки для страниц тексто-графических форматов (Pdf, DjVu). 
     * Используется для OCR распознаваний
     */
    public boolean extractPageImageContent = false;

    /**
     * Разбивать ли слипшиеся строки таблиц на отдельные строки (когда в ячейках таблицы строки 
     * моделируются переходами на новую строку)
     */
    public boolean splitTableRows = false;

    /**
     * Загружать ли структуру документа, если есть, оформляя её через UnitextDocblock. 
     * Сейчас поддержано только для HTML и FB2.
     */
    public boolean loadDocumentStructure = false;

    /**
     * Параметры корректировки результата (по умолчанию, корректировать всё). 
     * Если нужно что-либо отключать, то явно задавайте здесь флажки.
     */
    public CorrectDocumentParam correctParams = new CorrectDocumentParam();

    /**
     * Не генерировать Id для элементов. По умолчанию false, то есть генерировать.
     */
    public boolean dontGenerateItemsId = false;

    /**
     * Не разбирать документы формата Word6 и ранее (иначе выделяет из него только текст, и то не всегда правильно)
     */
    public boolean ignoreWord6 = false;

    /**
     * Можно поставить ограничитель на число строк таблиц (больше этого порога будут отбрасываться)
     */
    public int maxTableRows = 0;

    /**
     * При установке картинки с содержимым большего размера будут игнорироваться
     */
    public int maxImageSize = 0;

    /**
     * Представлять формулы MS Word картинками UnitextImage (но без содержимого)
     */
    public boolean setFormulaAsImage = false;

    public CreateDocumentParam() {
        correctParams = new CorrectDocumentParam();
        correctParams.setChooseAll(true);
    }

    /**
     * В наследной функции можно переопределить это для получения бегунка 
     * (используется для PDF, когда он очень большой, то прогресс обработки страниц)
     * @param percent 
     */
    public void progress(int percent) {
    }

    public static CreateDocumentParam _new362(CorrectDocumentParam _arg1) {
        CreateDocumentParam res = new CreateDocumentParam();
        res.correctParams = _arg1;
        return res;
    }

    public static CreateDocumentParam _new676(boolean _arg1, boolean _arg2) {
        CreateDocumentParam res = new CreateDocumentParam();
        res.onlyForPureText = _arg1;
        res.ignoreInnerDocuments = _arg2;
        return res;
    }
}
