Detectar formato de archivo y verificar formato Compatibilidad
A veces es necesario determinar el formato de un documento antes de abrir porque la extensión de archivo no garantiza que los contenidos del archivo sean apropiados. Por ejemplo, se sabe que Crystal Reports suele producir documentos en formato RTF, pero les da la extensión .doc.
Aspose.Words proporciona una capacidad para obtener información sobre el tipo de archivo para evitar una excepción si no está seguro de cuál es el contenido real del archivo.
Detectar formato de archivo sin una excepción
Cuando usted está tratando con múltiples documentos en varios formatos de archivo, es posible que necesite separar los archivos que pueden ser procesados por Aspose.Words de aquellos que no pueden. También puede querer saber por qué algunos de los documentos no pueden ser procesados.
Si intenta cargar un archivo en un archivo Document objeto y Aspose.Words no puede reconocer el formato de archivo o el formato no es compatible, Aspose.Words lanzará una excepción. Usted puede atrapar esas excepciones y analizarlas, pero Aspose.Words también proporciona el DetectFileFormat método que nos permite determinar rápidamente el formato de archivo sin cargar un documento con posibles excepciones. Este método devuelve a FileFormatInfo objeto que contiene la información detectada sobre el tipo de archivo.
Verificación de archivos Formato Compatibilidad
Podemos comprobar la compatibilidad de formato de todos los archivos en la carpeta seleccionada y clasificarlos por formato en subcarpetas correspondientes.
Ya que estamos tratando con contenidos en una carpeta, lo primero que tenemos que hacer es conseguir una colección de todos los archivos en esta carpeta usando la GetFiles método del Directory
clase (de la System.IO
namespace).
El siguiente ejemplo de código muestra cómo obtener una lista de todos los archivos en la carpeta:
Cuando todos los archivos se recogen, el resto del trabajo es hecho por el DetectFileFormat método, que comprueba el formato de archivo.
El siguiente ejemplo de código muestra cómo se iteran sobre la lista recolectada de archivos, verifique el formato de cada archivo y mueva cada archivo a la carpeta apropiada:
Los archivos se mueven en subcarpetas apropiadas utilizando Move
método del File
clase, de la misma System.IO
Namespace.
Los siguientes archivos se utilizan en el ejemplo anterior. El nombre del archivo está a la izquierda y su descripción está a la derecha:
Group de Archivos | Documento de entrada | Tipo |
---|---|---|
Formatos de archivo compatibles | Archivo de prueba (Doc).doc | Microsoft Word 95/6.0 o Microsoft Word Documento 97-2003. |
Archivo de prueba (Dot).dot | Microsoft Word 95/6.0 o Microsoft Word Plantilla 97-2003. | |
Archivo de prueba (Docx).docx | Procesamiento de Word XML de Office Open ML documento sin macros. | |
Archivo de prueba (Docm).docm | Procesamiento de Word XML de Office Open Documento ML con macros. | |
Archivo de prueba (Dotx).dotx | Procesamiento de Word XML de Office Open Plantilla ML. | |
Archivo de prueba (Dotm).dotm | Procesamiento de Word XML de Office Open Plantilla ML con macros. | |
Archivo de prueba (XML).xml | FlatOPC OOXML Document. | |
Archivo de prueba (RTF).rtf | Documento de formato de texto rico. | |
Archivo de prueba (WordML).xml | Microsoft Word 2003 Wordprocessing ML document. | |
Archivo de prueba (HTML).html | Documento HTML. | |
Archivo de prueba (MHTML).mhtml | MHTML (archivo web) documento. | |
Archivo de prueba (Odt).odt | Texto OpenDocument (OpenOffice Writer). | |
Archivo de prueba (Ott).ott | Plantilla de documentos OpenDocument. | |
Archivo de prueba (DocPreWord60).doc | Microsoft Word Documento 2.0. | |
Documentos cifrados | Archivo de prueba (Enc).doc | Encriptado Microsoft Word 95/6.0 o Microsoft Word Documento 97-2003. |
Archivo de prueba (Enc).docx | Procesamiento de Word XML encriptado ML document. | |
Formatos de archivo no compatibles | Archivo de prueba (JPG). jpg | Archivo de imagen JPEG. |