Como acceder desde Java a contenidos de celdas en Excel


Lo cierto es puede que  en  ocasiones necesitemos procesar ficheros excel u otro tipo de hojas de cálculo de   forma automatizada, por ejemplo  para extraer  información  de determinadas celdas, manipular estas , generar ficheros de metadatos que  sigan ciertas reglas , etc

En este caso nos vamos a centrar en los documentos OLE 2 de Microsoft, que manipularemos  usando la libreria  Apache POI – the Java API for Microsoft Documents, que nos proporciona acceso a los diferentes tipos de ficheros de Microsoft que utilizan esta estructura como:  Excel Word o  Powerpoint, también hay otros proyectos dentro de esta API para Visio y Publisher por ejemplo

Como se  puede   imaginar de todos estos el más desarrollado es Excel Workbooks y es precisamente el tipo de fichero elegido para este ejemplo.

Antes de empezar  usaremos  la librería POI-HSSF and POI-XSSF – Java API To Access Microsoft, donde HSSF es el proyecto POI de implementación total en Java para ficheros excel.Esta libreria usa cuatro componentes fundamentalmente:

  • HSSFWorkbook: Representación de alto nivel de un libro (Workbook) que será nuestra documento excel. Es el primer objeto que construiremos si vamos a leer o escribir una hoja excel.
  • HSSFSheet: representación de alto nivel de una hoja excel, podemos elegir la hoja de la excel usando el HSSFWorkBook.
  • HSSFRow: representación de celda de una fila de la hoja excel, solo las filas que tienen filas se pueden añadir a la hoja.
  • HSSFCell: representación de una celda en una fila de la un hoja de la excel, la utilizaremos para manejar el contenido de la celda.

Bien, sin más  dilaciones,  empezamos  a  ver como podemos procesar ficheros de Tipo Excel  

Paso 1: Descargar librería Apache Poi Java API

Antes de nada, tenemos que descargar la librería API Apache Poi Java, para añadirla a nuestro proyecto, voy a explicar cómo hacerlo en el IDE que estoy usando para este ejemplo: Netbeans, en otros IDES será similar la forma de integración de las librerías.

En nuestro proyecto buscamos la carpeta Libraries nos colocamos encima y seleccionamos Add Library, no tiene mucho que explicar así que te lo mostraré en imágenes:

La librería es  https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-4.1.0-20190412.zip

 

 

 

 

Paso 2-Registro de la librería en nuestro proyecto

Una vez  descargada y descomprimida, nos iremos a Properties del proyecto , después a   Java Build Path y   pincharemos en la pestaña  Libraries

Aquí  pulsaremos Add External JARs  seleccionando “poi-4.01.jar” desde al ruta donde la hayamos dejado esta librería.

 

 

Paso 3-Incluir las librerías

Ahora toca pasarse  a  programar, pero antes , no debemos olvidar importar las  cuatro librerias  que comentaabamos al principio

  • HSSFRow: representación de celda de una fila de la hoja excel, solo las filas que tienen filas se pueden añadir a la hoja.
  • HSSFWorkbook: Representación de alto nivel de un libro (Workbook) que será nuestra documento excel. Es el primer objeto que construiremos si vamos a leer o escribir una hoja excel.
  • HSSFSheet: representación de alto nivel de una hoja excel, podemos elegir la hoja de la excel usando el HSSFWorkBook.
  • HSSFCell: representación de una celda en una fila de la un hoja de la excel, la utilizaremos para manejar el contenido de la celda

Visto asi , adjuntando otras librerias utiles , la cabecera de importaciones de librerias quedaria  asi: 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;

import java.io.FileDescriptor;

import org.apache.poi.ss.usermodel.Cell;

 

Paso 4-Convertir al menos a  formato excel97  o superior

Antes de proseguir , en caso de tener ficheros excel en formato muy antiguos( por ejemplo Excel 95) .  deberemos  convertir estos   al menos al  formato excel 97,  para ello, en caso de que el formato sea de excel 95 deberemos abrir dicho fichero e irnos  a la opción   Guardar como seleccionamos   “libro de Excel 97-2003(*.xls)”

 

 

 

5-Pasemos al código

Una vez salvada  la hoja en formato excel 97 o superior  veamos un simple ejemplo de cómo capturar  los valores contenidos en las celdas

 

                      ——

      FileInputStream file = new FileInputStream(new File("C:\\prueba.xls"));

    // Crear el objeto que tendrá el libro de Excel

      XSSFWorkbook workbook = new XSSFWorkbook(file);

      /** Obtenemos la primera pestaña a la que se quiera procesar indicando el indice.

     * Una vez obtenida la hoja excel con las filas que se quieren leer obtenemos el iterator

      * que nos permite recorrer cada una de las filas que contiene.

      */



      XSSFSheet sheet = workbook.getSheetAt(0);

      Iterator<Row> rowIterator = sheet.iterator();

      Row row;

    // Recorremos todas las filas para mostrar el contenido de cada celda

      while (rowIterator.hasNext()){

          row = rowIterator.next();

         // Obtenemos el iterator que permite recorres todas las celdas de una fila

          Iterator<Cell> cellIterator = row.cellIterator();

          Cell celda;

          while (cellIterator.hasNext()){

            celda = cellIterator.next();

            // Dependiendo del formato de la celda el valor se debe mostrar como String, Fecha, boolean, entero...

            switch(celda.getCellType()) {

            case Cell.CELL_TYPE_NUMERIC:

                if( DateUtil.isCellDateFormatted(celda) ){

                   System.out.println(celda.getDateCellValue());

                }else{

                   System.out.println(celda.getNumericCellValue());

                }

                break;

            case Cell.CELL_TYPE_STRING:

                System.out.println(celda.getStringCellValue());

                break;

            case Cell.CELL_TYPE_BOOLEAN:

                System.out.println(celda.getBooleanCellValue());

                break;

            }

          }

      }


   // cerramos el libro excel

      workbook.close();


Como vemos en el ejemplo anterior , crearemos el objeto que tendrá el libro de Excel(FileInputStream file = new FileInputStream(new File(“xxx..) y obtenemos la primera pestaña a la que se quiera procesar indicando el indice 0 (  XSSFSheet sheet = workbook.getSheetAt(0);

Una vez obtenida la hoja excel con las filas que se quieren leer ,obtenemos el iterator que nos permite recorrer cada una de las filas que contiene. (  Iterator<Row> rowIterator = sheet.iterator()😉

Y  ya bastaría ir recorriendo todas las filas con un bucle  while ( while (cellIterator.hasNext()))  ,  lo cual nos  va  a permitir  procesar  el contenido de cada celda

Obtenemos el iterator(  row = rowIterator.next(); ) que permite recorrer todas las celdas de una fila y salvar el objeto en la variable row

Ahora ya dependiendo del formato de la celda de la variable   row  ,  el valor se debe mostrar como String, Fecha, boolean, entero

El programa tras recorrer todas las filas acaba cerrando el libro excel

 

 

Como ejemplo más elaborado , vamos a ver como procesar  una hoja excel s donde cada fila representa los diferentes metadatos , por lo que con el programa  iremos capturando dicha información diferente  celda a celda para cada fila , para ir componiendo una fila de texto con los diferentes metadatos  capturados   y  que separaremos por el carácter almohadilla ( #) .

Finalmente veamos  pues el ejemplo cuya finalidad es extraer de un excel un fichero csv de un modo automático via el siguiente programa en java;

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;

import java.io.FileDescriptor;

import org.apache.poi.ss.usermodel.Cell;

 

 

public class Main {

//private static String nombre;

public static void main(final String[] args) throws IOException {

String lineaslog=””;
String lineaslog2=”\r\n”;

//fichero de log
File filelog = new File(“d://ficherolog.txt”);
FileOutputStream fos2log = new FileOutputStream(filelog);

 


//añadimos 4 ceros la contador y generamos nuevo nombre
nfichero= “salida.txt”;
System.out.println(“Nuevo nombre fichero salida:” + nfichero);
lineaslog=”Nuevo nombre fichero salida:” + nfichero;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());
//Procesar el excel a txt


//Creamos nuevo fichero de metadatos del tipo texto
File file = new File(nfichero);
FileOutputStream fos1 = new FileOutputStream(file);
FileDescriptor fd = fos1.getFD();


FileOutputStream fos2 = new FileOutputStream(fd);

String rutaArchivo=files22[ i ] ; //directorio3;
System.out.println (“Leyendo archivo :” + rutaArchivo );
lineaslog=”Leyendo archivo :” + rutaArchivo ;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

System.out.println (“NOMBRE HOJA :”+ hoja);
lineaslog=”NOMBRE HOJA :”+ hoja;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());



try (FileInputStream fileexcel = new FileInputStream(new File(rutaArchivo)))

{
System.out.println(“Leer archivo Excel “);
lineaslog=”Leer archivo Excel “;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

// leer archivo excel97
HSSFWorkbook worbook = new HSSFWorkbook(fileexcel);

System.out.println(“Leyendo la hoja del fichero excel”);
lineaslog=”Leyendo la hoja del fichero excel”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

//obtener la hoja que se va leer
HSSFSheet sheet = worbook.getSheetAt(0);

System.out.println(“Obtener las hojas del fichero excel”);
lineaslog=”Obtener las hojas del fichero excel”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());
//obtener todas las filas de la hoja excel
Iterator<Row> rowIterator = sheet.iterator();

Row row;

System.out.println(“La ruta del fichero excel es rutaarchivo :”+rutaArchivo);
lineaslog=”La ruta del fichero excel es rutaarchiv:”+rutaArchivo;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());


Integer nm3=0;

while (rowIterator.hasNext()) // se recorre cada fila hasta el final

{

//System.out.println(“linea1”);

row = rowIterator.next();
nm3=nm3+1;

//se obtiene las celdas por fila
Iterator<Cell> cellIterator = row.cellIterator();
Cell cell;

//se recorre cada celda
int indice=0;
while (cellIterator.hasNext()) {

// se obtiene la celda en específico y se la imprime
cell = cellIterator.next();

//System.out.print(“(i”+i +”)=”+ cell.getStringCellValue()+” | “);

switch (indice) //tomaremos diferentes columnas del fichero excel
{

case 0:
{
nombre_fichero=cell.getStringCellValue();
}
case 1:
{
boletin=cell.getStringCellValue();
}
case 2:
{
telefono=cell.getStringCellValue();
}

case 3: // cif o nif
{
ncif=cell.getStringCellValue();
}

case 4: //valor del cif
{
cif=cell.getStringCellValue();
}

case 8:
{
fecha=cell.getStringCellValue();
}
case 9:
{
hora=cell.getStringCellValue();
}
}



linea= linea + cell.getStringCellValue() +”#”;

indice=indice+1;

}


lineas=boletin +”#” +telefono +”#”+ncif+”#” + cif+”#”+tipo +”#” +fecha+” “+hora+”#” +”#” +”#” +”#”+ nombre_fichero+ “#”+ nombre_fichero+”#”;


fos2.write(lineas.getBytes());

//System.out.println();

lineas=”\r\n”;

fos2.write(lineas.getBytes());

}

worbook.close();


linearesumen= directorio+”;”+ hoja +”;”+directorio22+ “P5_”+ fechaok+String.format(“%05d”, contador) +”;”+nm3;

fos3.write(linearesumen.getBytes());

linearesumen=”\r\n”;

fos3.write(linearesumen.getBytes());

nm3=0;

}
catch (Exception e)

{

e.getMessage();
System.out.println(e.getMessage());
lineaslog=e.getMessage();
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

}

fos1.close();
fos2.close();

System.out.println(“Fin de generacion del txt de metadatos desde excel a txt”);
lineaslog=”Fin de generacion del txt de metadatos desde excel a txt”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

}

Anuncios

Como buscar ficheros o carpetas de forma recursiva desde linea de comandos


A  veces  desde el interfaz de comandos   de windows , accesible mediante la ejecución de la orden “cmd”  desde todas las versiones ( en w10 incluso  desde Cortana ) , puede ser necesario buscar  ficheros o nombres de directorios que respondan a un cierto  patrón  y que   además estén   partir de un determinado directorio o carpeta hacia el interior.

Ejemplos  de  estas búsquedas puede  ser   sacar un listado de todas las fotos  que tenemos en una determinada ruta o unidad , saber cuantas fotografías con  un determinado patrón  tenemos almacenadas, cuantas canciones en mp3 tenemos  de un determinado título (por  ejemplo  con la palabra love :  *love*)  , o cuantos documentos excel existen que tengan que ver con determinado asunto.

Ambas casuísticas de  buscar  ficheros o directorios que respondan a un  patrón  determinado,  y que   además estén  dentro de de un determinado directorio , usando exclusivamente por   línea de comandos las resolveremos :

  • Mediante los comodines asteriscos  “*”o interrogaciones “?”:    con esto  buscaremos  ficheros o nombres de directorios que respondan a un cierto  patrón  
  • Con el parámetro de recursividad , es decir “/s”       :buscaremos  ficheros o nombres de directorios a   partir de un determinado directorio o carpeta hacia el interior

 

Photo by panumas nikhomkhai on Pexels.com

 

En efecto se  puede encontrar cualquier archivo en su pc  usando línea de comandos  simplemente  siempre que sepa el nombre   o parte del nombre del archivo usando los comodines :

  • El signo asterisco (*) , el cual  reemplaza cadenas de caracteres de longitud indeterminada. 
  • El signo   ? , el cual remplaza pero solo un carácter. Podemos especificar mas signos de interrogación. Con lo que si ponemos dir s???*.* Esto nos listaría los directorios y archivos con un nombre que empiecen por s y otras 3 letras cualquier mas unos carácter cualquiera, a continuación él.* que hace que se listen archivos con cualquier extensión.

Si no está seguro de dónde puede estar el archivo en su pc , puede lanzar la búsqueda desde  el directorio raíz de su pc, lo que significa que deberá  estar en C: \>( o en D:\ , E:\  en caso de tener varias particiones o  discos ). Una vez en el directorio raíz o el directorio en el que cree que se encuentra el archivo, simplemente   escriba dir  seguido  de  la mascara  y terminando el comando con el indicador de recursividad (/s).

Si, por ejemplo, supiera que el archivo que busca contenía la cadena “pepe”en algún lugar del archivo, escribiría:

       dir *pepe*.*  /s 

Como  vemos en el ejemplo anterior se  utiliza comodines (los asteriscos ) y además usamos  el modificador de comando “/ s”   para indicar al comando dir que busque el directorio actual y todos sus subdirectorios  ( es decir  que haga la búsqueda recursiva) .

Por ejemplo si no puede recordar ninguno de los nombres de los archivos, pero recuerda que se crearon en Microsoft Excel , podría, por ejemplo, escribir:

   dir *.xls /s 

En el ejemplo anterior, sabiendo que los archivos de Excel a menudo terminan con la extensión de archivo .xls, usamos el carácter de comodín  le indicamos a su pc  que busque cualquier archivo que termine con la extensión .xls.

 

Extensiones más comunes de archivos

Si no sabe cuál es la extensión de su archivo, hay docenas de diferentes formatos de archivo de audio , estándares y extensiones de archivo que se utilizan en la actualidad. A continuación se muestra una lista de las extensiones de archivo de audio más comunes:

  • .aif – archivo de audio AIF
  • .cda – CD de pista de audio
  • .mid o .midi – archivo de audio MIDI .
  • .mp3 – archivo de audio MP3
  • .mpa – archivo de audio MPEG-2
  • .ogg – archivo de audio Ogg Vorbis
  • .wav – archivo WAV
  • .wma – archivo de audio WMA
  • .wpl – Playlist de Windows Media Player

Extensiones de archivos comprimidos

La mayoría de los usuarios están familiarizados con los archivos comprimidos .zip, pero hay otros tipos de archivos comprimidos . A continuación se muestra una lista de las extensiones de archivo comprimidas más comunes:

  • .7z – archivo comprimido 7-Zip
  • .arj – archivo comprimido ARJ
  • .deb – archivo de paquete de software de Debian
  • .pkg – archivo de paquete
  • .rar – archivo RAR
  • .rpm – Administrador de paquetes de Red Hat
  • .tar.gz – archivo comprimido de tarball
  • .z – archivo comprimido Z
  • .zip – archivo comprimido en zip

Extensiones de disco y archivos multimedia.

Al crear una imagen de un disco u otro medio , todos los archivos contenidos se guardan en un archivo de imagen. A continuación se muestran las extensiones de archivo de imagen de disco más comunes:

  • .bin – Imagen de disco binario
  • .dmg – imagen de disco de macOS X
  • .iso – imagen de disco ISO
  • .toast – Toast imagen de disco
  • .vcd – CD virtual

Extensiones de archivos de datos y bases de datos

Un archivo de datos puede ser cualquier archivo, pero para el propósito de esta lista, hemos enumerado los archivos de datos más comunes que se relacionan con los datos utilizados para una base de datos, errores, información, importación y exportación:

  • .csv – archivo de valores separados por comas
  • .dat – archivo de datos
  • .db o .dbf – archivo de base de datos
  • .log – Archivo de registro
  • .mdb – archivo de base de datos de Microsoft Access
  • .sav – Guardar archivo (por ejemplo, guardar archivo de juego)
  • .sql – archivo de base de datos SQL
  • .tar – Archivo de archivos tarball de Linux / Unix
  • .xml – archivo XML

Extensiones de archivo ejecutables

El archivo ejecutable más común son los archivos que terminan con la extensión de archivo .exe. Sin embargo, otros archivos también pueden ejecutarse solos o con la ayuda de un intérprete :

  • .apk – archivo de paquete de Android
  • .bat – archivo por lotes
  • .bin – archivo binario
  • .cgi o .pl – archivo de script Perl
  • .com – Archivo de comandos de MS-DOS
  • .exe – archivo ejecutable
  • .gadget – gadget de Windows
  • .jar – Archivo Java Archive
  • .py – archivo de Python
  • .wsf – Archivo de Windows Script

Extensiones de archivo de fuente

A continuación se muestran las extensiones de archivo más comunes utilizadas con las fuentes :

  • .fnt – archivo de fuente de Windows
  • .fon – archivo de fuente genérico
  • .otf – archivo de fuente de tipo abierto
  • .ttf – archivo de fuente TrueType

Formatos de archivo de imagen por extensión de archivo

Hay docenas de diferentes tipos de imágenes y extensiones de archivos de imágenes que se pueden usar al crear y guardar imágenes en la computadora. A continuación se muestra una lista de las extensiones de archivo de imagen más comunes:

  • .ai – archivo de Adobe Illustrator
  • .bmp – Imagen de mapa de bits
  • .gif – imagen GIF
  • .ico – Archivo de iconos
  • .jpeg o .jpg – imagen JPEG
  • .png – imagen PNG
  • .ps – archivo PostScript
  • .psd – Imagen PSD
  • .svg – Archivo de gráficos vectoriales escalables
  • .tif o .tiff – imagen TIFF

Extensiones de archivos relacionados con Internet

Internet es el recurso más utilizado en un ordenador y debido a que los servidores web usan otros ordenadores para servir los archivos, se utilizan muchísimas  extensiones de archivo diferentes. A continuación, encontrará una lista de las extensiones de archivo más comunes que encontrará al navegar por la web.

Las extensiones de archivo de imagen , las extensiones de archivo de video y otras extensiones enumeradas en esta página también podrían incluirse con estas extensiones de archivo que se mencionan a continuación:

  • .asp y .aspx – Archivo de página Active Server  de Microsoft
  • .cer – certificado de seguridad de internet
  • .cfm – ColdFusion Markup file
  • .cgi o .pl – archivo de script Perl
  • .css – archivo de hoja de estilo en cascada
  • .htm y .html – archivo HTML
  • .js – archivo JavaScript
  • .jsp – Archivo de la página del servidor Java
  • .part – Archivo parcialmente descargado
  • .php – archivo PHP
  • .py – archivo de Python
  • .rss – archivo RSS
  • .xhtml – archivo XHTML

Presentación de formatos de archivo por extensión de archivo.

Hoy en día, hay algunos programas que pueden crear una presentación.A continuación se muestra una lista de las extensiones de archivo más comunes asociadas con los programas de presentación:

  • .key – Presentación de Keynote
  • .odp – Archivo de presentación OpenOffice Impress
  • .pps – presentación de diapositivas de PowerPoint
  • .ppt – presentación de PowerPoint
  • .pptx – PowerPoint Open XML presentation

Programación de archivos por extensión de archivo.

Muchas extensiones de archivo se utilizan para programas antes de compilarse, así como secuencias de comandos de programación. A continuación se muestra una lista de las extensiones de archivo más comunes asociadas con la programación.

Muchas de las extensiones de archivo relacionadas con Internet también podrían incluirse con estas extensiones de archivo que se mencionan a continuación:

  • .c – archivo de código fuente C y C ++
  • .class – archivo de clase Java
  • .cpp – archivo de código fuente de C ++
  • .cs – Archivo de código fuente de Visual C #
  • .h : archivo de encabezado C, C ++ y Objective-C
  • .java – archivo de código fuente Java
  • .sh – Bash shell script
  • .swift – archivo de código fuente Swift
  • .vb – archivo de Visual Basic

Formatos de archivo de hoja de cálculo por extensión de archivo

A continuación se muestran las extensiones de archivo más comunes que se usan para guardar archivos de hojas de cálculo en un ordenador :

  • .ods – archivo de hoja de cálculo OpenOffice Calc
  • .xlr – archivo de hoja de cálculo de Microsoft Works
  • .xls – archivo de Microsoft Excel
  • .xlsx – Archivo de hoja de cálculo XML abierto de Microsoft Excel

Formatos de archivo y extensiones de archivo relacionados con el sistema

Como todos los demás programas, su sistema operativo usa archivos y tiene extensiones de archivo que son más comunes que otras. A continuación se muestra una lista de las extensiones de archivo más comunes utilizadas en los sistemas operativos.

Las extensiones de archivo ejecutables y todos los demás archivos también podrían incluirse en esta lista.

  • .bak – archivo de copia de seguridad
  • .cab – archivo de Windows Cabinet
  • .cfg – archivo de configuración
  • .cpl – archivo del panel de control de Windows
  • .cur – archivo de cursor de Windows
  • .dll – archivo de librería dinámica  de Microsoft DLL
  • .dmp – archivo de volcado
  • .drv – archivo de controlador de dispositivo
  • .icns – archivo de recursos del icono de macOS X
  • .ico – Archivo de iconos
  • .ini – archivo de inicialización
  • .lnk – archivo de acceso directo de Windows
  • .msi – paquete de instalación de Windows
  • .sys – archivo de sistema de Windows
  • .tmp – Archivo temporal

Formatos de archivo de vídeo por extensión de archivo

Hoy en día, hay docenas de tipos de archivos asociados con los archivos de video para agregar diferentes tipos de compresión , compatibilidad y DRM a los archivos de vídeo. A continuación se muestra una lista de las extensiones de archivo de vídeo más comunes:

  • .3g2 – archivo multimedia 3GPP2
  • .3gp – archivo multimedia 3GPP
  • .avi – archivo AVI
  • .flv – archivo de Adobe Flash
  • .h264 – archivo de video H.264
  • .m4v – archivo de video Apple MP4
  • .mkv – Contenedor Multimedia Matroska
  • .mov – archivo de película Apple QuickTime
  • .mp4 – archivo de video MPEG4
  • .mpg o .mpeg – archivo de video MPEG
  • .rm – archivo RealMedia
  • .swf – Shockwave flash file
  • .vob – DVD Video Object
  • .wmv – Archivo de Windows Media Video

Procesador de textos y formatos de archivo de texto por extensión de archivo.

Crear archivos de texto y usar un procesador de textos es una de las tareas más comunes en una computadora. A continuación se muestran las extensiones de archivo más comunes utilizadas con archivos de texto y documentos:

  • .doc y .docx – archivo de Microsoft Word
  • .odt – archivo de documento de OpenOffice Writer
  • .pdf – archivo PDF
  • .rtf – Formato de texto enriquecido
  • .tex – Un archivo de documento LaTeX
  • .txt – Archivo de texto plano
  • .wks y .wps – archivo de Microsoft Works
  • .wpd – documento de WordPerfect

 

 

Ejemplo  recopilatorio  final

Hemos visto que  una vez  tengamos  una pista del nombre  del fichero a buscar  y  sepamos el tipo de extensión del fichero , nos debería bastar  con usar los comodines   seguido del parámetro de recursividad /s  para  que el desde el intérprete de comandos podamos encontrar el o los archivos que lo cumplan teniendo en cuenta al mascar  así como el tipo de archivo de la  búsqueda

Además   podemos redirigir la salida estándar  por pantalla  por ejemplo a un fichero , lo cual haremos mediante el carácter de redirección  “>” seguida de la ruta del recurso en disco donde deseamos  salvar el resultado ( en el fichero  ejemplo.txt)  

A continuación se muestra un ejemplo de los resultados encontrados al buscar  de forma recursivos  de tipo log  (escribir dir  *. log  / S )   y ademas redirigiendo la salida a un fichero llamado ejemplo.txt en el disco d:

D:\temp>dir *.log /S > d:\ejemplo.txt


El volumen de la unidad D es DATOS
El número de serie del volumen es: 8256-F6F1

Directorio de D:\temp

30/04/2019 20:37 508 error.log
1 archivos 508 bytes

Directorio de D:\temp\_carga_xc_cc201903230706

23/03/2019 21:30 150 error.log
1 archivos 150 bytes

Directorio de D:\temp\_carga_ss_ccc201904112017

11/04/2019 21:34 100 error.log
1 archivos 100 bytes

Directorio de D:\temp\_carga_cce_ccde201904112017\carga_te_tde201904112017

12/04/2019 21:36 118.038 error.log
1 archivos 118.038 bytes

Directorio de D:\temp\_carga_xs_wer201904120910

26/04/2019 21:33 150 error.log
1 archivos 150 bytes

Directorio de D:\temp\_carga_qq_ddd201904231158_falta_matadatos

23/04/2019 20:33 100 error.log
1 archivos 100 bytes

Total de archivos en la lista:
6 archivos 119.046 bytes
0 dirs 262.141.583.360 bytes libres

D:\temp>

  El volumen en la unidad C no tiene etiqueta
 El número de serie del volumen es 214B-1DE8

Como se  puede ver en el ejemplo anterior, se encontraron varios archivos que contienen la extensión *log. Si recibe más de los resultados esperados, es posible si no redirige la salida a un fichero  ( es decir omita “> d:\ejemplo.txt”)  ,  que deba escribir / p después del comando pues usando / p mostrara  los resultados de una página a la vez. 

Error splicing file:file too large


En efecto en un ordenador con sistema operativo Linux  en cualquier de sus variantes como Ubuntu, Lubuntu ,Fedora, etc.  puede  que copiando archivos  grandes hacia una unidad extraible USB termine dando error con el típico mensaje   “Error splicing file:file too large“.

Afortunadamente entender el motivo  del error es sencillo ,pues generalmente el problema se debe a que el disco de destino (es decir en la unidad extraible en el que desea copiar el archivo) está formateado con el sistema de fichero FAT32 , el cual  tiene un límite de tamaño de archivo de aproximadamente 4GB, por lo que efectivamente Linux cuando intenta copiar sobre una unidad destino formateada en fat32 el so. empieza copiando hasta que llega  aproximadamente a los 4GB , momento en el cual no puede continuar, pues el sistema de ficheros no lo permite, terminando dando error y abortándose la copia.

Curiosamente según el tipo de fichero que sea ,es posible que incluso abortando la copia con el mensaje Error splicing file:file too large , en caso de copias de ficheros de vídeo ( por ejemplo en formato mkv) , a pesar de esto, incluso con el error puedan ser reproducibles parcialmente ( es decir, sin poder reproducirse hasta su totalidad).

Afortunadamente para resolver este problema, la solución es bien sencilla pues bastara en volver a  formatear su disco de destino a EXT3, EXT4 o NTFS.

Mientras que FAT, FAT32 y exFAT se utilizan en memorias USB y tarjetas SD , NTFS es   utilizado sobre todo por discos duros, lo cual no significa  que ntfs no  deba usarse también en unidades extraibles USB: todo lo contrario ,pues por las razones que vamos a ver , ntfs tambien deberia ser  la mejor opción para unidades  extraibles usb.

NTFS (New Technology File System) es el sistema de archivos que Windows utiliza por defecto,  (de hecho windows sólo puede ser instalado en una unidad con este sistema),Su adaptación no es casual pues , ntfs  conlleva  múltiples ventajas:

  • Como hemos comentado su límite de tamaño de archivos es de 16 TB,  ( los volúmenes pueden llegar a tener 264 TB cada uno)
  • Se pueden configurar los permisos de acceso a un archivo (vital para un sistema operativo).
  • Permite cifrar archivos.
  • Permite nombres de archivos largos.
  • Se recupera más fácilmente de errores si el ordenador se cuelga

Vemos pues para soslayar el problema “Error splicing file:file too large”  y la unidad destino esta formateada en otro formato ,  tendremos  que  formatear en NTFS  pues así no habrá problemas  a  la hora de copiar estos ficheros.

 

FORMATEO DESDE WINDOWS

En realidad formatear en NTFS un unidad USB con Windows 10 es muy fácil:

  • Pinche con el botón DERECHO del ratón en el menú Inicio de Windows y elige Explorador de archivos.
  • En la ventana que se abre haga clic a la izquierda en Este equipo.
  • A la derecha verá las unidades de disco duro, particiones, discos o pendrives USB o CD/DVD que tenga tu PC. Seleccione la unidad que quiere formatear pinchando en ella con el botón izquierdo. Luego haz clic encima con el botón DERECHO y elige Formatear. (!IMPORTANTE !: -Es obvio que debe elegir con mucho cuidado la unidad pues formatearla borrará por completo todo lo que haya en ella.
  • Al elegir la opción de formateo se abre su ventana de propiedades.Defina así las opciones siguientes que incluye:
      • Sistema de archivos:Pincha en la lista desplegable de abajo y elija  NTFS.
      • Tamaño de unidad de asignación. Lo normal es que deba mantener el tamaño que te indique por defecto la ventana de formateo.
      • Etiqueta del volumen :Escriba un nombre que describa lo que hay o habrá en ese disco o USB. No es una opción obligatoria pero sí recomendable.
      • Opciones de formato:Desactive la casilla de Formato rápido haciendo clic en ella. Así obligara a que Windows chequee el disco o USB e intente reparar de forma automática posibles errores que tenga por lo que puede ahorrarle problemas futuros o hasta pérdidas de datos. Por cierto mantener el formato rápido acelera el proceso pero se salta la comprobación del disco o USB.
  • Finalmente pulse Iniciar cuando acabes de configurar esas opciones. Confirme con Aceptar el aviso de que se borrará todo lo que haya en esa unidad.
  • El formateo tardara más o menos dependiendo del tamaño de la unidad seleccionada, la velocidad de su PC y si ha elegido o no la opción rápida. Acepte y cierra la ventana cuando termine.

 

FORMATEO DESDE LINUX

Ahora veremos como  soslayar el problema ” Error splicing file:file too large”  y la unidad destino esta formateada en otro formato ,   formateando  en NTFS  desde el propio Linux  para que no haya problemas  a  la hora de copiar ficheros de mas de 4GB

Lo primero que tenemos que tener claro a la hora de formatear una unidad es la ruta en la que se encuentra en el sistema.

Para ver que dispositivo es el que vamos a usar escribimos en Terminal (Abrir Terminal presionando Ctrl + Alt + T) :

Para eso, solo tendremos que escribir en el Terminal el comando:

df

Este comando nos mostrará todos las particiones y discos que tiene actualmente el ordenador conectados al sistema. Como podremos observar, los sistemas basados en Ubuntu 16.04 asignan cómo nombre de partición de la siguiente forma sdaX donde la X es un número de partición, por lo que si tenemos una unidad USB  conectado , el nombre será muy similar a sdaX ( por e ejemplo sdb3).

Una vez hayamos encontrado la memoria USB desde el terminal, tenemos que desmontarlo del sistema para que podamos formatearlo. Para realizar esta tarea tendremos que ejecutar el siguiente comando:

sudo umount /dev/sdb3

Ahora ya lo tenemos preparado para formatear. Por lo que tendremos que escribir la siguiente línea de código en el terminal.

sudo mkfs.vfat -F 32 -n "Nombre_pendrive" /dev/sdb3

Quizá no entiendas nada de lo que hemos puesto en esa parte de código, pero aquí estamos para resolver estas dudas:

  • mkfs.vfat: Es el programa de ejecución de la herramienta del terminal para formatear unidades del sistema.

  • -F 32: Esto le indica al sistema que el formato ha de realizarse con el sistema de archivos de Fat32.

  • -n “Nombre_pendrive”: Este será el nombre que aparecerá cada vez que conectemos el USB al ordenador.

  • /dev/sdb3: Esta tiene que ser la ruta completa donde se sitúa la memoria USB que queremos formatear.

 

Es posible formatear   en diferentes formatos:

  • Formatear USB con Extended File System (Ext) :Este es el sistema de archivos preferido por Linux.

<pre “>

sudo mkfs.ext4 /dev/sdb3

  • Formatear USB con FAT (File Allocation Table) 
 sudo mkfs.vfat /dev/sdb3 
  • Formato de formato USB con NTFS (Sistema de archivos de nueva tecnología)
 sudo mkfs.ntfs /dev/sdb3 

Por ultimo, salimos de Terminal con:

exit

Esta es la salida de la ejecución de estos comandos:

[email protected]:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 214372 0 214372 0% /dev
tmpfs 47028 2948 44080 7% /run
/dev/sda1 38192692 11567744 24655132 32% /
tmpfs 235132 0 235132 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 235132 0 235132 0% /sys/fs/cgroup
tmpfs 47024 12 47012 1% /run/user/1000
/dev/sdb1 15108880 41156 15067724 1% /media/carlos/KINGSTON16G

[email protected]:~$ sudo umount /dev/sdb1
[sudo] password for carlos:

[email protected]:~$ sudo mkfs.ntfs /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 41%100% – Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
[email protected]:~$

 

No esta de mas recordar que debe cambiar la identificación del dispositivo USB en los comandos anteriores o desde el interfaz grafico ,En el  ejemplo en un viejo portatil hp con Lubuntu se ha usado sdb3 , pero no necesariamente sera el mismo identificador que tengan sus unidades.

Como puedes observar, es un proceso muy sencillo pero tiene las complicaciones de saber que es lo que hace cada cosa y cual es la dirección correcta que queremos formatear, ya que si nos equivocamos puede ser fatal para nuestro sistema operativo.

 

 

 

Tres servicios gratuitos de transcripción de voz a texto


Puede parecer algo futurista, pero lo cierto es que probablemente el teclado y ratón tal como los conocemos hoy en día tenga sus días contados gracias al espectacular avance sufrido estos años en el apartado de reconocimiento de voz usando redes neuronales  y las técnicas de aprendizaje automático

En efecto ,gracias a  la tecnología del aprendizaje automático ,se aplican los algoritmos más avanzados de redes neuronales del aprendizaje profundo al audio de sus ficheros o del procedente de un micrófono  para conseguir un reconocimiento de voz de máxima precisión.

Mencionar que en todos los  sistemas de aprendizaje con redes neuronales la precisión de la API Speech mejora con el tiempo, es decir conforme perfeccionan la tecnología interna de reconocimiento de voz que usa los diferentes productos que vamos   a ver , lo cual significa que en realidad usando estos servicios estamos “entrenado”a estos sistemas para que su porcentaje  de aciertos sea cada vez mayor

Veamos algunas soluciones de reconocimiento de voz liderados por grandes proveedores como pueden ser Google ,Microsoft o IBM.

Reconocimiento de voz de bing

En efecto,   mediante la  nube  de Microsoft ( Azure)   y el servicio Bing Search  se puede convertir audio con voz en texto mediante streaming en tiempo real mediante la cual, al mismo tiempo que se envía el audio al servidor, se devuelven resultados parciales de reconocimiento.

De igual modo podría reconocer el texto a partir del audio almacenado en un archivo pero desde la pagina de demostración no es posible,pero como  “truco” casero para  probar   la funcionalidad  se  puede inyectar  el audio  ya grabado desde un dispositivo externo  por  medio de un cable de audio que lo  introduciría en el pc  pero no olvide seleccionar como dispositivo grabador la entrada de audio donde conecte la señal de audo externa .De este modo regulando adecuadamente el nivel de esta señal  debería funcionar exactamente igual que si habláramos por un micrófono

Para probar el servicio vaya a la url   https://azure.microsoft.com/es-es/services/cognitive-services/speech/

No olvide  seleccionar el idioma de destino en Language, haga clic en el micrófono en Iniciar grabación y empiece a hablar.

bibg

También tiene la opción de hacer clic en las dos frases de voz de ejemplo para ver cómo funciona el reconocimiento de voz.

Como en todos estos tipos de servicios ,si usa esta demostración, significa que consiente ofrecer datos de entrada de voz a Microsoft para fines de mejora del servicio.De  hecho al cargar datos para esta demostración, acepta que Microsoft puede guardarlos y usarlos para mejorar los servicios Microsoft, entre los que se encuentra el  API. A fin de facilitar la protección de la privacidad, se adoptan medidas para desperzonalizar los datos y protegerlos. Los datos no se publicarán ni se permitirá que terceros los usen.

IBM

También esta disponible para efectos de pruebas  la version de IBM por Watson  que permite  igualmente el dictado de voz a texto

El servicio IBM Watson Speech to Text utiliza capacidades de reconocimiento de voz para convertir el árabe, el inglés, el español, el francés, el portugués de Brasil, el japonés y el mandarín en texto.

Lo mas destacable de  Watson es asimismo la capacidad de transcribir audio done se puede usa su micrófono para grabar audio o cargar audio pregrabado (.mp3, .mpeg, .wav, .flac o .opus solamente).

Incluso puede subir  archivos de audio o probar ficheros de muestra para probar el servicio , ( los archivos de audio de muestra  son en inglés de EE. UU y están cubiertos por la licencia de Creative Commons.)

El resultado devuelto incluye el texto reconocido, las alternativas de palabras y las palabras clave moteadas. Algunos modelos pueden detectar múltiples altavoces; lo cual  puede ralentizar el rendimiento.

A continuación esta es la url para probar el servicio en modo  demo: https://speech-to-text-demo.ng.bluemix.net/

No olvide  seleccionar el idioma de destino(Voice Model ) , haga clic en el micrófono(record Audio)   y empiece a hablar.

En unos instantes en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina

Este sistema por el momento se usa  para fines de demostración y no está destinado a procesar datos personales ,así  que no se deben ingresar datos personales en este sistema, ya que puede no tener los controles necesarios para cumplir con los requisitos del Reglamento general de protección de datos (UE) 2016/679.

En teoría los primeros 1000 minutos al mes son gratis en el servicio estándar,   así que el limite es muy superior de uso gratuito al de Google o al  de Microsft .

Reconocmiento  de voz de Google

Tambien  Google dispone de su propio servicio de reconocimiento de voz  , el cual por cierto es el usado por  ejemplo desde los terminales Android.

En el caso de que este validado contra Google  y  tenga cuenta en Google Cloud , incluso se pueden subir directamente los ficheros que deseamos transcribir mediante la opción File Upload  teniendo en cuenta la limitación de 60 minutos en caso de no querer pasar por caja.

Si quiere probar esta funcionalidad esta es la url : https://cloud.google.com/speech-to-text/

No olvide  seleccionar el idioma de destino(Languaje ) ,seleccione el micrófono(Microphone)    y empiece a hablar.

En unos instantes ,en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina:

Como no podía ser de otra manera, también  es posible reconocer el audio subido en la solicitud e integrarlo en su almacenamiento de audio de Google Cloud Storage

¿Pero cual elegimos?

Como hemos podido  ver todos estos servicios de reconocimiento de voz  están en fase de pruebas para demostrar por  ahora incluso en el estado inicial  lo que pueden llegar  a poder hacer.

De todas las opciones ,en caso de tener necesidad de usarlo por mucho tiempo,  el servicio de IBM tiene una oferta mas que generosa de 1000 minutos frente a los 100 de Google  , pero no olvidemos que si queremos integrar este servicio con una aplicación albergada en Azure o en la infraestructura de Google  entonces necesitaremos usar sus propios servicios  .

 

Como transcribir voz a texto


Express Scribe es un software profesional de reproductor de audio para PC o Mac diseñado para ayudar a transcribir grabaciones de audio.

Un mecanógrafo puede instalarlo en su ordenador y controlar la reproducción de audio usando un pedal  usb especial  de transcripción o un teclado (con teclas “calientes”). Este software de transcripción también ofrece funciones valiosas para los mecanógrafos, que incluyen reproducción de velocidad variable, control multicanal, reproducción de video, administración de archivos y más.

La versión gratuita es compatible con formatos de audio comunes, incluidos wav, mp3, wma y dct (  aunque siempre puede actualizar a la versión profesional para soporte de formato propietario).

Algunas características del software de transcripción:

  • Reproducción de velocidad variable (no constante)
  • Admite reproducción de audio y video
  • Reproduce la mayoría de los formatos, incluidos los archivos de dictado encriptados. Ver formatos de archivo admitidos
  • Admite pedales USB profesionales para controlar la reproducción. Ver controladores de pedal de pie profesionales compatibles
  • Utiliza ‘teclas rápidas‘ para controlar la reproducción cuando se transcribe a otro software (por ejemplo, Word)
  • Acople grabadores de voz portátiles analógicos y digitales para cargar grabaciones
    Funciona con Microsoft Word y todos los principales procesadores de texto
  • Recibe y carga automáticamente archivos por Internet (FTP), correo electrónico o en una red informática local
  • Automáticamente envía tipeo a quienes dictaron el trabajo
  • Funciona con software de reconocimiento de voz como Dragon Naturally Speaking para convertir automáticamente la voz en texto
  • Permite cargar audio de CD directamente y comenzar a trabajar a medida que se carga el audio
  • Funciona con el expansor de texto FastFox para ingresar frases médicas y legales y frases comunes con atajos de teclado

 

Pasos a seguir  para   probar este software

instalador.PNG

  • Express Scribe puede usar cualquier procesador para el reconocimiento de voz compatible con SAPI (4,0 o 5,0) para ayudarle en la transcripción de grabaciones. Por ejemplo: Dragon Systems NaturallySpeaking, Microsoft Voice o IBM Via Voice (y muchos más)

 

 

.enter image description here

 

  • En caso  de no poder seleccionar el perfil de audio , existe un paquete de audio en español  que puede descargar e  instalar siguiendo el link a continuación RealSpeak TTS engine Spanish (21.7 MB) . Despues de inslarlo  tenemos que configurar el  perfil de audio

reconocimiento de voz.PNG

 

 

  • Una vez se haya configurado Express Scribe para la conversión de voz a texto y cuando cargue un archivo éste será procesado en segundo plano y luego incluirá el texto completo en el cuadro de notas. Aunque el equipo sea rápido, esto proceso puede tomar algún tiempo (incluso más tiempo que la propia grabación), por lo que esta función es ideal cuando tiene una lista de trabajos de transcripción pendientes. Sin embargo, debido a que el reconocimiento de voz se ejecuta en segundo plano, puede empezar la transcripción de inmediato.

 

 

No debe entusiasmarse demasiado con la conversión de voz a texto. Probablemente  pasarán a  tiempos antes que las máquinas sean capaces de transcribir con precisión. Por el momento, un procesador muy bien entrenado le ofrecerá alrededor de un 90% de precisión. Creemos que utilizará esta función como una herramienta que le proporcionará un borrador del texto que puede utilizar a una velocidad más rápida y corregir o volver a formatearlo.

El entrenamiento es esencial para obtener una conversión de voz a texto razonable. Debe “entrenar” el procesador para reconocer las voces que van a ser usadas. La función de entrenamiento es administrada por el software para el reconocimiento de voz y no por Express Scribe. Consulte el manual del reconocedor de voz para más información.

Express Scribe coincide automáticamente cada archivo del dictado con un reconocedor de voz entrenado que usa el ID del remitente en Express Dictate (o DialDictate). Este ID se obtiene cuando se registra el software (todos los usuarios no registrados, archivos WAV y grabaciones acopladas se consideran un ID 0). Después que el reconocedor de voz está entrenado para reconocer la voz del usuario, Express Scribe puede configurar que éste se ejecute cada vez que este usuario envíe un archivo. Hágalo desde el menú Opciones -> pestaña ‘conversión de voz’ a texto, en la sección “perfiles específicos de usuario”.

Configuración para conversión de voz en texto

  • Abra el cuadro de diálogo de las Opciones y seleccione la pestaña ‘convertir voz en texto’.
  • Oprimir “habilitar reconocimiento de voz”.
  • .Seleccione el procesador para el reconocimiento de voz desde la lista desplegable. Si no ve ningún procesador en la lista desplegable, entonces no ha instalado el software para el reconocimiento de voz o no es compatible con SAPI.
  • Seleccione un perfil de voz desde la lista desplegable de perfiles predeterminados. Este es el perfil que será usado para cualquier dictado que se reciba de usuarios que no están en la lista de “perfiles específicos de usuario”.
  • Haga que cada usuario entrene el procesador para que puedan ser reconocidos. Lo pueden hacer usando el software para el reconocimiento de voz. Consulte el manual proporcionado con el software de reconocimiento de voz. Con la mayoría de procesadores, los usuarios pueden entrenar el reconocimiento de voz usando otra PC y luego exportar el archivo de entrenamiento al sistema.
  • Por cada usuario que haya completado el entrenamiento, añada el ID de usuario y el perfil de voz a la lista de “perfiles específicos de usuario”. Si son usuarios registrados con Express Dictate o DialDictate, entonces use el ID que obtuvieron al registrar el software. ID 0 de usuario para todos aquellos usuarios no registrados, archivos WAV y grabaciones acopladas.

Nota: Al abrir la pestaña ‘convertir voz en texto’ en las Opciones, o al cambiar el procesador seleccionado, el cuadro de diálogo “recuperando perfiles” puede ser visualizado por algún tiempo.

Cuando se cargue el próximo dictado, Express Scribe ejecutará el procesador de voz en segundo plano. Al finalizar, “pegará” el texto en el cuadro de notas.

Tenga paciencia. El proceso puede tardar algún tiempo (aun más que la propia grabación). Por lo tanto, la función es ideal cuando se tiene una lista de trabajos pendientes. Pero recuerde que puede empezar a transcribir inmediatamente.

Tenga en cuenta que el proceso de conversión de voz a texto sólo se produce cuando se carga primero un dictado. Si ejecuta Express Scribe con un dictado ya cargado el proceso de reconocimiento no se ejecutará.

Novedades ultima actualización Windows 10 Creators Update


Fue ayer cuando Microsoft decidió lanzar la actualización de forma oficial, aunque ha sido posible probarlo  con  una semana  de anterioridad gracias a la instalación mediante el asistente de actualización. Tuvimos unos días en los que básicamente cualquier persona podía actualizar, solo que no se trataba de la versión fina pero ya a partir de esta semana  todo aquel que admita las actualizaciones de W10   se le actualizarán muchas cosas interesantes  orientadas sobre a la creación  que vamos a tratar de resumir en este post 

Solo un advertencia: esta actualización es profunda  y muy pesada en cuanto al tamaño así que asegúrese que tiene una buena conectividad  , esta alimentado a la red eléctrica  en caso de ser un ordenador portátil  y dispone de tiempo libre  ( mientras se actualice no se puede hacer  nada ) , pues según  el  tipo de equipo y  ancho de banda disponible  de   que disponga puede tardar  en todo el proceso   desde menos de una  hora   a varias horas  según las circunstancias !la espera creo que merece la pena !

Explorar, crear y compartir en 3D

Aunque han  corrido ríos de tinta sobre la hipotética eliminación de clásico paint , lo cierto es que en la versión final no ha sido así , sustituyendo simplemente la versión clásica por otra versión actualizada que posibilita eso si acceder al paint 3d mediante un nuevo botón a la derecha del todo de la barra de herramientas pero nada más..

Si hablamos de la version 3d ,esta permite crear modelos 3D desde cero en Paint 3D. Asimismo se pueden abrir  y ver los modelos 3D desde la web, remézclandollos con herramientas fáciles de usar así como poder presentar el  trabajo en Remix3D.com.

 

Usar la herramienta de adhesivo en Paint 3D

Entre las muchas posibilidades esta aplicación permite hacer un garabato en 3d, hacer un modelado básico en 3, usar adhesivos , usar paint 3d para 2d,mezclar un modelo 3d, ver desde todos los ángulos con vista 3d  y una gran novedad que sin duda  muchos aficionados nos encantará: crear e imprimir objetos 3d gracias a 3D Builder

Con esta  se  puede digitalizar, construir e imprimir modelos 3D en Windows 10. Su uso es muy sencillo :para empezar, abra 3D Builder y elija la biblioteca de modelos proporcionados. O bien, seleccione Cargar objeto para elegir un modelo que haya guardado de Paint 3D u otro software 3D.

3D Builder puede abrir y editar tipos de archivo 3MF, OBJ, STL, BRML y PLY y también puede abrir tipos de archivo DAE 3DS y DXF

Luz nocturna

Ajustes de luz nocturna activados y desactivados

Emite luz azul, el tipo de luz que vemos durante el día. Windows ahora puede mostrar colores más cálidos para descansar la vista y que sea más fácil dormir de noche.

Seleccione el botón Inicio  y luego selecciona Configuración  > Pantalla . Active Luz nocturna o seleccione Configuración de la luz nocturna para establecer su propia programación.

Antivirus

Centro de seguridad de Windows Defender

Windows Defender ahora se denomina Antivirus de Windows Defender y ofrece protección integrada contra virus y amenazas, así como opciones de familia para ayudar a mantenernos protegidos cuando estemos conectados. Si le interesa este tema , visite el Centro de seguridad de Windows Defender para ver cómo ayuda Windows a proteger su PC.

 

Una nueva manera de organizar Inicio y mayor personalización

Creación de carpetas de ventanas en Inicio

Para ahorrar algo de espacio en el menú Inicio, tome una ventana y colóquese sobre otra ventana para agrupar las ventanas de aplicaciones en carpetas.No nos referimos a las carpetas de ficheros, sino a carpetas donde podemos poner varios iconos dentro. De este modo, al pulsar sobre la carpeta, tendremos acceso a un grupo de aplicaciones. Es algo muy parecido a lo que tenemos en Android y iOS.

Es posible acceder  a  más colores y temas que nunca personalizando la apariencia de Windows 10, hasta el matiz. Windows recuerda incluso temas anteriores que ha explorado, por lo que es muy fácil volver a cualquier tema que se adapte a su estado de ánimo.

Esta accesible seleccionando el botón Inicio  y luego seleccionando Configuración  > Personalización  para obtener una vista previa y jugar con todas las nuevas opciones.

Configuración de personalización de los temas

 

 

Asimismo la configuración se ha optimizado para facilitar la búsqueda y la ayuda. Aplicaciones y Juegos ahora tienen sus propias categorías de configuración, y los vínculos a soporte técnico, comentarios y otra ayuda ahora están disponibles con mayor facilidad.Se  puede ver  seleccionando el botón Inicio  y después seleccionando Configuración  para echarle un vistazo.

Microsoft Edge

Reservar pestañas en Microsoft Edge

Navegar por Internet con Microsoft Edge es mejor pues se han agregado nuevas características que  ayudarán a organizar las pestañas, leer libros electrónicos, estar más protegido y usar Cortana y Windows Ink para darle vida a la exploración.

Según  Microsoft  Edge es el explorador más rápido y seguro diseñado para Windows 10.

Microsoft Edge  ademas  proporciona nuevas formas de encontrar contenidos, administrar pestañas, leer libros electrónicos, escribir en la web y obtener ayuda de Cortana, directamente en el navegador.Es muy útil  agrega extensiones para traducir sitios web, bloquear anuncios, administrar contraseñas y mucho más.

 

 

Entrada manuscrita con Office

Windows Ink en PowerPoint

Empuñae   su dedo o lápiz digital para anotar y editar documentos, tachar palabras para que desaparezcan, enmarcar texto para seleccionarlo y resaltar con precisión.

Vea vídeos 360° y más de forma gratuita

La aplicación Películas y TV ahora viene con vídeos 360° incluidos que nos  permiten mirar hacia arriba, hacia abajo y todo alrededor mientras se reproduce el vídeo. También puede ver tráileres de películas, obtener recomendaciones basadas en sus hábitos de visualización y examinar y comprar nuevos contenidos de películas y TV directamente en la aplicación.

 

Desarrollo de aplicaciones nativas multiplataforma en Windows


Microsoft  ha demostrado  un  compromiso con el código abierto  ayudando a navegar por herramientas de código abierto, marcos y plataformas, por ejemplo   desarrollando Apache Cordova ,creando y realizando el mantenimiento de complementos de diferentes plataformas,colaborando con Google para ofrecer la herramienta Angular JS 2.0,etc.

Como ejemplo vamos a ver en este post como es posible desarrollar para diferentes entornos moviles usando una de las herramientas mas famosas de desarrollo de Microsoft ,la cual  por cierto esta  disponible para ambientes de educación o formación de forma gratuita

Tipos de aplicaciones móviles

A la hora de crear aplicaciones móviles para plataformas como Android o iOS contamos con varias alternativas:

  • Aplicaciones nativas :muy buen rendimiento y se pueden distribuir desde las tiendas de aplicaciones. Hay que desarrollar las apps para cada entorno  usando herramientas especificas como por ejemplo:

En Android:  Android Studio o Eclipse

En IoS: Swift, Objetive-c  o Xcode

                       En Windows Phone: Visual  Studio

  • Aplicaciones web móviles: un único desarrollo con tecnologías web (js, hrml5 y css).No se distribuyen desde las apps  stores y no permiten acceder a todas las capacidades del hw del móvil. También se está desarrollando las llamadas apps  progresivas
  • Aplicaciones móviles hibridas:se mezclan ambas tecnologías sobre una carcasa  nativa que incrusta una web view. A diferencia de las aplicaciones web móviles pueden distribuirse en las diferentes apps stores incluso permitiendo magnetización de estas. Si bien el rendimiento no es tan bueno como las nativas permiten acceder a diferentes terminales  mediante un   desarrollo web  incluso pudiendo acceder a elementos  hardware . Entre las herramientas mas famosas destacan Phonegapp o Ionic, basadas ambas  en Apache-Cordoba

Creación de  aplicaciones para móviles mediante HTML, CSS y JS

Las aplicaciones móviles híbridas son una combinación de tecnologías web como HTML, CSS y JavaScript, que no son ni aplicaciones móviles verdaderamente nativas, porque consisten en un WebView ejecutado dentro de un contenedor nativo, ni tampoco están basadas en Web, porque se empaquetan como aplicaciones para distribución y tienen acceso a las APIs nativas del dispositivo.

Si sabe cómo crear aplicaciones web, rápidamente se sentirá cómodo creando aplicaciones móviles para iOS, Android y Windows mediante Apache Cordova.

La mayoría de desarrolladores obtiene cerca de un 100 % de reutilización del código aprovechando la API de JavaScript compartida de Cordova para acceder a las funcionalidades de dispositivo nativo, como la cámara, el calendario y los contactos.

Además, debido a que las aplicaciones híbridas utilizan vistas web nativas, puede llevarse su marco JavaScript favorito consigo (marcos como Angular, React e Ionic).

Y hablando de Ionic, es un SDK de código abierto que provee herramientas y servicios para desarrollar aplicaciones móviles híbridas. Está construido por encima de AngularJS y Apache Cordova y se centra principalmente en el look and feel y la interacción con la interfaz de usuario de la aplicación, con la finalidad de simplificar el front-end.

Ionic    es  pues  :

  • Un framework CSS con multitud de elementos de front-end reutilizables y personalizables, que permiten desarrollar una interfaz de usuario relativamente rápido, como por ejemplo encabezados, pies de página, botones de diferentes tamaños y estilos, listas, avatares, tarjetas, formularios, entradas, casillas de verificación, pestañas y,etc .
  • Una biblioteca JavaScript de interfaz de usuario con componentes JS que dan vida a los elementos del front-end y se utilizan como elementos HTML en la aplicación. Uno de los componentes JS de Ionic más utilizados es el componente pestañas,  el cual permite que un determinado contenido se muestre u oculte en función de la pestaña seleccionada por el usuario.

 

 

Visual Studio con Córdova

Debido al aumento de la complejidad de las aplicaciones, necesita más que un editor de texto por lo que el IDE Visual Studio 2017 es una buena  opción  pues integra un editor de código optimizado para la refactorización, el completado automático y la comprensión del código

 

Resumidamente   Visual Studio 2017 ofrece las siguientes  funcionalidades  :

  • Resaltado de sintaxis para ayudarle a identificar los errores visualmente
  • IntelliSense para ayudarle a comprender y codificar mejor las nuevas API
  • Inspección de código para revisar la referencia en línea
  • Si  su aplicación funciona y tiene el aspecto exacto diseñado por usted Tanto si trabaja para iOS, Android o Windows, Visual Studio ofrece compatibilidad de vista previa para una amplia variedad de emuladores y dispositivos anclados a red.Incluso puede implementar y depurar emuladores hospedados en una máquina remota o virtual (por ejemplo, paralelos).
  • Depuración y análisis .Independientemente de dónde se ejecute su código, Visual Studio puede depurarlo (tanto si su código se está ejecutando en un dispositivo iOS, Android o Windows, un emulador o simulador o en un destino de depuración basado en explorador como Ripple). No es necesario cambiar de herramientas cuando crea para otra plataforma. Visual Studio se conecta con casi cualquier destino de implementación.El depurador de Visual Studio le permite revisar el código con puntos de interrupción y notificaciones de excepción automática que exponen el estado del tiempo de ejecución de objetos y variables.Las funcionalidades avanzadas, como editar y continuar, los puntos de interrupción condicionales, los puntos de seguimiento y los números de llamadas ofrecen el tipo de análisis detallado que necesita para que el código resulte divertido y no un juego despiadado de “localización del error”.
  • Acceso a capacidades de dispositivo nativo.Con tecnología de Apache Cordova, sus aplicaciones escritas en HTML, CSS y JavaScript pueden acceder fácilmente a las API de dispositivo nativo que todavía no se encuentran disponibles para los exploradores (por ejemplo, la cámara, el calendario, los contactos, el escáner de códigos de barras, etc.).Lo mejor de todo es que puede acceder a capacidades de dispositivo nativo a través de una API de JavaScript común para obtener la máxima reutilización de código en su aplicación.
  • Conexion  a datos ( a la plataforma de Azure ):con tan solo unas cuantas líneas de código, puede Usar notificaciones de inserción para conectarse con usuarios específicos o audiencias completas,Habilitar la mensajería en tiempo real para provocar conversaciones y el uso compartido entre sus usuarios,Admitir capacidades sin conexión para aquellas ocasiones en las que no haya disponible una conexión de red,Administrar datos de Exchange mediante las API de servicio de Office 365 para compartir y editar calendarios, contactos, archivos, etc.

 

 

 

 

Instalación Visual Studio  para apps moviles

Todo lo que usted necesita para poder comenzar  con Visual Studio es descargar alguna de las siguientes versiones:

El  instalador realiza todo el trabajo pesado necesario para poner en marcha el equipo con los SDK, bibliotecas, herramientas, etc. necesarios para crear aplicaciones multiplataforma.

Para Instalar las herramientas de Cordova con una instalación inicial de Visual Studio siga lso siguientes pasos:

  1. Para instalar Visual Studio Tools para Apache Cordova junto con una instalación limpia de Visual Studio, descargue e inicie el instalador de Visual Studio ( en de algunos de los tres links de arriba o directamente si necesita el  la versión  sin coste en el link  siguiente: Visual Studio Community  :)
  2. El instalador mostrará la lista de componentes instalables mostrada en la siguiente figura.Al instalar  Visual Studio, deberua  asegúrarse  de incluir los componentes opcionales, HTML / JavaScript (Apache Cordova) bajo Desarrollo móvil multiplataforma como vamos a ver.Inicio de instalación de Visual Studio Tools para Apache Cordova
  3. Desplácese por la lista de cargas de trabajo disponibles y localice un grupo denominado Mobile & Gaming .
  4. Marque la casilla de verificación junto a Desarrollo móvil con JavaScript como se muestra en la siguiente figura. Esto permitirá la instalación de los componentes necesarios para las herramientas de Córdoba.  Selección de la instalación de Cordova Tools
  5. Dependiendo de sus necesidades específicas de desarrollo, es posible que deba instalar componentes opcionales adicionales. Por ejemplo, para apoyar el desarrollo de aplicaciones para Android, necesitará agregar soporte para el SDK de Android . Para probar las aplicaciones de Android en los emuladores, debe agregar soporte para Google Android Emulator , como se muestra en la siguiente figura.Si su entorno de desarrollo de Cordova ya incluye estas herramientas, puede omitir la instalación de nuevo aquí y modificar la configuración de Visual Studio Tools para Apache Cordova para apuntar a la instalación existente más adelante.Personalización de la instalación de herramientas de Cordova
  6. Compruebe rápidamente que puede cargar y crear la plantilla de aplicación en blanco predeterminada. En Visual Studio, elija Archivo , Nuevo , Proyecto , JavaScript ,Aplicaciones de Apache Cordova , Aplicación en blanco y nombre el nuevo proyecto “en blanco” y construya con F5. Si tiene algún problema, consulte estos pasos de solución de problemas .
  7. Ionic es un popular framework front-end JavaScript para desarrollar aplicaciones móviles multiplataforma usando Cordova. Puede utilizar Visual Studio 2015 para crear y depurar fácilmente aplicaciones multiplataforma Ionic.http://www.youtube.com/watch?v=4fNmTkYGVeUPuede instalar las plantillas de inicio de Ionic en Visual Studio y utilizarlas para comenzar a crear una aplicación.
    1. Agregue directamente a Visual Studio descargando y haciendo doble clic en VS Extension for IonicO bien, hágalo en Visual Studio, seleccionando Archivo , Nuevo y luego Proyecto .
    2.  En el cuadro de diálogo Nuevo proyecto, seleccione en línea .
    3.  En el cuadro de búsqueda, escriba Ionic .                                                Cómo obtener las plantillas
    4.   Escriba cualquier nombre y elija Aceptar para instalarlos. Cuando se le solicite permiso para instalar las plantillas, dé su permiso.
    5. Cierre y vuelva a abrir Visual Studio.
    6. De nuevo, elija Archivo , Nuevo y , a continuación, Proyecto.
    7. Ahora, elija  Instalar y , a continuación, Plantillas , las plantillas de inicio nuevas aparecerán en JavaScript , Apache Cordova AppsElegir una plantilla
    8. Elija una de las siguientes plantillas de inicio para su nuevo proyecto:
      • Aplicación en blanco iónico
      • Plantilla Iónica de SideMenu
      • Plantilla de Tabulaciones Iónicas
    9. Elija Aceptar .Visual Studio crea el proyecto Ionic.
    10. Agregue IntelliSense para Ionic a su proyecto.

    Haga que su aplicación funcione en Android

    1. Añada la plataforma Android de Android como destino de depuración (lista de plataformas de soluciones) y , a continuación, seleccione Generar y , a continuación, Crear solución .
    2. Elija Android como destino de depuración (lista de plataformas de solución) y para que la aplicación funcione seleccione un destino como el VS Emulator 5 “KitKat (4.4) (se requiere Hyper-V) o Google Android Emulator (lento para cargar inicialmente).  Ejecutar la aplicación
    3. Puede configurar un emulador de Google Android en AVD Manager .También puede ejecutar en el simulador de Ripple en su lugar, pero tendrá que utilizar la solución descrita más adelante en este artículo .
    4. Presione F5 y la aplicación debería cargarse correctamente.                     Aplicación que se ejecuta en el emulador

    Haga que su aplicación funcione en iOS

    Puede ejecutar inicialmente en el Emulador de Ripple después de seleccionar iOS como destino de depuración, pero para obtener información detallada sobre cómo configurar el agente de remoción remota para iOS, consulte este tema .

    Las plantillas de inicio de Ionic deben ejecutarse correctamente en iOS cuando el agente de remotebuild se ejecuta en un Mac (o un servicio como MacInCloud) y cuando Visual Studio está configurado para conectarse a él.