Detectar Formato de Arquivo e Verificar Compatibilidade 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 Crystal Reports muitas vezes produz documentos em formato RTF, mas dá-lhes a extensão .doc.
Aspose.Words fornece uma capacidade de obter informações sobre o tipo de arquivo, a fim de evitar uma exceção se você não tem certeza de qual é o conteúdo real do arquivo.
Detectar o formato de arquivo sem uma exceção
Quando você está lidando com vários documentos em vários formatos de arquivo, você pode precisar separar esses arquivos que podem ser processados por Aspose.Words daqueles que não podem. Você também pode querer saber por que alguns dos documentos não podem ser processados.
Se você tentar carregar um arquivo em um Document objeto e Aspose.Words não pode reconhecer o formato de arquivo ou o formato não é suportado, Aspose.Words vai lançar uma exceção. Você pode pegar essas exceções e analisá-las, mas Aspose.Words também fornece o DetectFileFormat método que nos permite determinar rapidamente o formato de arquivo sem carregar um documento com exceções possíveis. Este método retorna um FileFormatInfo objeto que contém as informações detectadas sobre o tipo de arquivo.
Verificar arquivos Formatar compatibilidade
Podemos verificar a compatibilidade de formato de todos os arquivos na pasta selecionada e classificá-los por formato em 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 GetFiles método do Directory
classe (a partir do System.IO
namespace).
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 resto do trabalho é feito pelo DetectFileFormat método, que verifica o formato de 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 Move
método do File
classe, do mesmo System.IO
namespace.
Os seguintes arquivos são usados no exemplo acima. O nome do arquivo está à esquerda e sua descrição está à direita:
Group de Arquivos | Documento de entrada | Tipo |
---|---|---|
Formatos de arquivo suportados | Test File (Doc).doc | Microsoft Word 95/6.0 ou Microsoft Word 97 - 2003 documento. |
Test File (Dot).dot | Microsoft Word 95/6.0 ou Microsoft Word 97 – 2003 modelo. | |
Test File (Docx).docx | Office Open XML Wordprocessing ML documento sem macros. | |
Test File (Docm).docm | Office Open XML Wordprocessing Documento ML com macros. | |
Test File (Dotx).dotx | Office Open XML Wordprocessing Modelo ML. | |
Test File (Dotm).dotm | Office Open XML Wordprocessing Modelo ML com macros. | |
Test File (XML).xml | FlatOPC OOXML Document. | |
Test File (RTF).rtf | Rich Text Format documento. | |
Test File (WordML).xml | Microsoft Word Processamento do Word 2003 Documento ML. | |
Test File (HTML).html | Documento HTML. | |
Test File (MHTML).mhtml | MHTML (arquivo Web) documento. | |
Test File (Odt).odt | OpenDocument Text (OpenOffice Writer). | |
Test File (Ott).ott | Modelo de documento OpenDocument. | |
Test File (DocPreWord60).doc | Microsoft Word Documento 2.0. | |
Documentos criptografados | Test File (Enc).doc | Criptografado Microsoft Word 95/6.0 ou Microsoft Word 97 - 2003 documento. |
Test File (Enc).docx | Encrypted Office Open XML Wordprocessing Documento ML. | |
Formatos de arquivo não suportados | Test File (JPG). O que foi? | Arquivo de imagem JPEG. |