string pathLevel; //Se usa como indicador de nivel combinado en los ficheros de salida.  Combinado nivel 1 2 3 sera 123;
        public HSKBooklet_Generator_A4_Vertical_OneCharacterPerPage_Acumulative(int Level)
        {
            ArrayList ArrayWords = new ArrayList();

            this.Level = Level;



            for (int x = 1; x <= Level; x++)
            {
                //Obtener Caracteres
                var levelChars = charservice.GetChars(x);
                includedChars.AddRange(levelChars);

                //Obtener palabras
                var levelWords = listservice.GetAllWords(x);
                ArrayWords.AddRange(levelWords);

                pathLevel = pathLevel + x.ToString();
                //Asi sera 1,12, 123, 1234 Y se añadira a la salida de los ficheros para formar parte del path
            }

            //Se eliminan los posibles duplicados
            includedChars = includedChars.Distinct().ToList();
            //Ordenados ya aqui los caracteres incluidos
            includedChars.OrderBy(x => x.Pinyin);

            //Se incluyen los caracteres no las palabras
            List <Word> includedWords = ToList(ArrayWords);

            this.includedWords = includedWords.Distinct().ToList();
            includedWords.OrderBy(x => x.Pinyin);
        }
        public HSKBooklet_Generator_A4_Vertical_OneCharacterPerPage(int Level, bool Acumulative)
        {
            this.Level = Level;

            //Obtener Caracteres
            includedChars = charservice.GetChars(Level);

            //Obtener palabras
            includedWords = listservice.GetAllWords(Level);
        }