Détecter le format de fichier et vérifier la compatibilité du format
Parfois, il est nécessaire de déterminer le format d’un document avant d’ouvrir parce que l’extension de fichier ne garantit pas que le contenu du fichier est approprié. Par exemple, il est connu que Crystal Reports produit souvent des documents en format RTF, mais leur donne l’extension .doc.
Aspose.Words permet d’obtenir des informations sur le type de fichier afin d’éviter une exception si vous n’êtes pas sûr du contenu réel du fichier.
Détecter le format de fichier sans exception
Lorsque vous traitez de documents multiples dans différents formats de fichiers, vous pouvez avoir besoin de séparer les fichiers qui peuvent être traités par Aspose.Words de ceux qui ne peuvent pas. Vous voudrez peut-être aussi savoir pourquoi certains documents ne peuvent pas être traités.
Si vous essayez de charger un fichier dans un Document objet et Aspose.Words ne peut pas reconnaître le format de fichier ou le format n’est pas pris en charge, Aspose.Words Je vais lancer une exception. Vous pouvez attraper ces exceptions et les analyser, mais Aspose.Words fournit également DetectFileFormat méthode qui nous permet de déterminer rapidement le format de fichier sans charger un document avec des exceptions possibles. Cette méthode renvoie une FileFormatInfo objet qui contient les informations détectées sur le type de fichier.
Vérifier la compatibilité du format des fichiers
Nous pouvons vérifier la compatibilité de tous les fichiers dans le dossier sélectionné et les trier par format dans les sous-dossiers correspondants.
Comme nous traitons de contenu dans un dossier, la première chose que nous devons faire est d’obtenir une collection de tous les fichiers dans ce dossier en utilisant le GetFiles méthode de la Directory
de la classe System.IO
espace de noms).
L’exemple de code suivant montre comment obtenir une liste de tous les fichiers du dossier:
Lorsque tous les fichiers sont collectés, le reste du travail est fait par le DetectFileFormat méthode, qui vérifie le format de fichier.
L’exemple de code suivant montre comment itérer sur la liste de fichiers collectés, vérifier le format de chaque fichier et déplacer chaque fichier dans le dossier approprié:
Les fichiers sont déplacés dans des sous-dossiers appropriés en utilisant le Move
méthode de la File
de la même classe System.IO
Espace de noms.
Les fichiers suivants sont utilisés dans l’exemple ci-dessus. Le nom du fichier est à gauche et sa description à droite:
Group des fichiers | Document d’entrée | Type |
---|---|---|
Formats de fichiers pris en charge | Dossier d’essai (Doc.doc) | Microsoft Word 95/6.0 ou Microsoft Word 97 – Document de 2003. |
Fichier de test (Dot).dot | Microsoft Word 95/6.0 ou Microsoft Word Modèle 97 – 2003. | |
Fichier d’essai (Docx).docx | Bureau Open XML Traitement de texte Document ML sans macros. | |
Dossier d’essai (docm).docm | Bureau Open XML Traitement de texte Document ML avec macros. | |
Fichier de test (Dotx).dotx | Bureau Open XML Traitement de texte Modèle ML. | |
Fichier de test (Dotm).dotm | Bureau Open XML Traitement de texte Modèle ML avec macros. | |
Fichier de test (XML).xml | Document FlatOPC OOXML. | |
Fichier d’essai (RTF).rtf | Document en format texte riche. | |
Fichier d’essai (WordML).xml | Microsoft Word Traitement de texte 2003 Document ML. | |
Fichier d’essai (HTML).html | Document HTML. | |
Fichier de test (HTML).mhtml | Document MHTML (archive Web). | |
Fichier d’essai (Odt).odt | OpenDocument Text (OpenOffice Writer). | |
Fichier de test (Ott).ott | Modèle de document OpenDocument. | |
Dossier d’essai (DocPreWord60).doc | Microsoft Word 2.0 document. | |
Documents chiffrés | Fichier d’essai (Enc.doc) | Chiffres Microsoft Word 95/6.0 ou Microsoft Word 97 – Document de 2003. |
Fichier d’essai (Enc).docx | Bureau chiffré Open XML Word Processing Document ML. | |
Formats de fichiers non pris en charge | Fichier d’essai (JPG). Jpg | Fichier image JPEG. |