Detectar o formato do ficheiro e verificar a compatibilidade do formato
Às vezes, é necessário determinar o formato de um documento antes de abrir, porque a extensão do arquivo não garante que o conteúdo do arquivo seja apropriado. Por exemplo, sabe-se que o Crystal Reports apresenta frequentemente documentos no formato RTF, mas fornece-lhes o.extensão doc.
Aspose.Words permite obter informações sobre o tipo de ficheiro, a fim de evitar uma excepção se não tiver a certeza do conteúdo real do ficheiro.
Detectar o formato do Ficheiro sem excepção
Quando se trata de vários documentos em vários formatos de ficheiro, pode ser necessário separar os ficheiros que podem ser processados por Aspose.Words daqueles que não podem. Talvez queira também saber por que razão alguns dos documentos não podem ser tratados.
Se você tentar carregar um arquivo em um objeto Document e Aspose.Words não puder reconhecer o formato do arquivo ou o formato não for suportado, Aspose.Words lançará uma exceção. Você pode capturar essas exceções e analisá-las, mas Aspose.Words também fornece o método DetectFileFormat que nos permite determinar rapidamente o formato do arquivo sem carregar um documento com possíveis exceções. Este método retorna um objeto FileFormatInfo que contém as informações detectadas sobre o tipo de arquivo.
Verificar A Compatibilidade Do Formato Dos Ficheiros
Podemos verificar a compatibilidade de formatos de todos os ficheiros da pasta seleccionada e classificá-los por formato nas subpastas correspondentes.
Como estamos lidando com conteúdo em uma pasta, a primeira coisa que precisamos fazer é obter uma coleção de todos os arquivos nesta pasta usando o método GetFiles da classe Directory
(do namespace System.IO
).
O exemplo de código a seguir mostra como obter uma lista de todos os arquivos na pasta:
Quando todos os arquivos são coletados, o restante do trabalho é feito pelo método DetectFileFormat, que verifica o formato do arquivo.
O exemplo de código a seguir mostra como iterar sobre a lista coletada de arquivos, verificar o formato de cada arquivo e mover cada arquivo para a pasta apropriada:
Os arquivos são movidos para subpastas apropriadas usando o método Move
da classe File
, do mesmo namespace System.IO
.
Os seguintes ficheiros são utilizados no exemplo acima. O nome do ficheiro está à esquerda e a sua descrição está à direita:
Grupo de Ficheiros | Documento De Entrada | Tipo |
---|---|---|
Formatos de ficheiro suportados | Test File (Doc).doc | Microsoft Word 95/6.0 ou Microsoft Word 97 – 2003 documento. |
Test File (Dot).dot | Modelo Microsoft Word 95/6.0 ou Microsoft Word 97 – 2003. | |
Test File (Docx).docx | Office abrir XML WordprocessingML documento sem macros. | |
Test File (Docm).docm | Office abrir XML WordprocessingML documento com macros. | |
Test File (Dotx).dotx | Escritório aberto XML WordprocessingML modelo. | |
Test File (Dotm).dotm | Office abrir XML WordprocessingML modelo com macros. | |
Test File (XML).xml | FlatOPC OOXML Documento. | |
Test File (RTF).rtf | Documento em formato Rich Text. | |
Test File (WordML).xml | Microsoft Word documento de 2003 WordprocessingML. | |
Test File (HTML).html | HTML documento. | |
Test File (MHTML).mhtml | MHTML (arquivo Web) documento. | |
Test File (Odt).odt | OpenDocument Texto (OpenOffice Escritor). | |
Test File (Ott).ott | OpenDocument Modelo De Documento. | |
Test File (DocPreWord60).doc | Microsoft Word 2.0 documento. | |
Documentos encriptados | Test File (Enc).doc | Documento encriptado Microsoft Word 95 / 6.0 ou Microsoft Word 97 – 2003. |
Test File (Enc).docx | Escritório encriptado Abrir XML WordprocessingML documento. | |
Formatos de ficheiro não suportados | Test File (JPG).jpg | JPEG ficheiro de imagem. |