Detecteer bestandsindeling en controleer Formaatcompatibiliteit
Soms is het noodzakelijk om het formaat van een document te bepalen voordat u het opent, omdat de bestandsextensie niet garandeert dat de inhoud van het bestand geschikt is. Het is bijvoorbeeld bekend dat Crystal Reports vaak documenten in RTF - indeling uitvoert, maar ze de .doc extensie.
Aspose.Words biedt de mogelijkheid om informatie over het bestandstype te verkrijgen om een uitzondering te voorkomen als u niet zeker weet wat de werkelijke inhoud van het bestand is.
Bestandsindeling detecteren zonder uitzondering
Wanneer u te maken hebt met meerdere documenten in verschillende bestandsindelingen, moet u mogelijk de bestanden die kunnen worden verwerkt door Aspose.Words scheiden van de bestanden die dat niet kunnen. Misschien wilt u ook weten waarom sommige documenten niet kunnen worden verwerkt.
Als u probeert een bestand in een Document object te laden en Aspose.Words de bestandsindeling niet herkent of de indeling niet wordt ondersteund, zal Aspose.Words een uitzondering maken. U kunt deze uitzonderingen opvangen en analyseren, maar Aspose.Words biedt ook de DetectFileFormat - methode waarmee we snel de bestandsindeling kunnen bepalen zonder een document met mogelijke uitzonderingen te laden. Deze methode retourneert een FileFormatInfo object dat de gedetecteerde informatie over het bestandstype bevat.
Compatibiliteit Van Bestandsindeling Controleren
We kunnen de compatibiliteit van alle bestanden in de geselecteerde map controleren en ze sorteren op formaat in overeenkomstige submappen.
Aangezien we te maken hebben met inhoud in een map, is het eerste wat we moeten doen een verzameling van alle bestanden in deze map met behulp van de GetFiles methode van de Directory
klasse (uit de System.IO
naamruimte).
Het volgende codevoorbeeld laat zien hoe u een lijst met alle bestanden in de map kunt krijgen:
Wanneer alle bestanden zijn verzameld, wordt de rest van het werk gedaan met de methode DetectFileFormat, die de bestandsindeling controleert.
Het volgende codevoorbeeld laat zien hoe u over de verzamelde lijst met bestanden kunt itereren, de indeling van elk bestand kunt controleren en elk bestand naar de juiste map kunt verplaatsen:
De bestanden worden verplaatst naar de juiste submappen met behulp van de Move
methode van de File
klasse, vanuit dezelfde System.IO
naamruimte.
De volgende bestanden worden gebruikt in het bovenstaande voorbeeld. De bestandsnaam staat links en de beschrijving rechts:
Groep bestanden | Invoerdocument | Type |
---|---|---|
Ondersteunde bestandsformaten | Test File (DOC).doc | Microsoft Word 95/6.0 of Microsoft Word 97 – 2003 document. |
Test File (DOT).dot | Microsoft Word 95/6.0 of Microsoft Word 97 – 2003 template. | |
Test File (DOCX).docx | Office XML WordprocessingML document openen zonder macro ' s. | |
Test File (DOCM).docm | Office XML WordprocessingML document openen met macro ' s. | |
Test File (DOTX).dotx | Office Open XML WordprocessingML sjabloon. | |
Test File (DOTM).dotm | Office XML WordprocessingML sjabloon openen met macro ' s. | |
Test File (XML).xml | FlatOPC OOXML Document. | |
Test File (RTF).rtf | Document met Rich Text-indeling. | |
Test File (WordML).xml | Microsoft Word 2003 WordprocessingML document. | |
Test File (HTML).html | HTML document. | |
Test File (MHTML).mhtml | MHTML (Webarchief) document. | |
Test File (ODT).odt | OpenDocument Tekst (OpenOffice Schrijver). | |
Test File (OTT).ott | OpenDocument Documentsjabloon. | |
Test File (DocPreWord60).doc | Microsoft Word 2.0 document. | |
Versleutelde documenten | Test File (Enc).doc | Versleuteld Microsoft Word 95/6.0 of Microsoft Word 97 – 2003 document. |
Test File (Enc).docx | Versleuteld Office XML WordprocessingML document openen. | |
Niet-ondersteunde bestandsformaten | Test File (JPG).jpg | JPEG afbeeldingsbestand. |