Bestandsformaat detecteren en compatibiliteit controleren
Soms is het noodzakelijk om het formaat van een document te bepalen voordat u 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-formaat uitvoert, maar geeft ze de .doc extensie.
Aspose.Words biedt een mogelijkheid om informatie over het bestandstype te verkrijgen om een uitzondering te voorkomen als u niet zeker bent wat de werkelijke inhoud van het bestand is.
Bestandsformaat detecteren zonder uitzondering
Wanneer u te maken heeft met meerdere documenten in verschillende bestandsformaten, kunt u nodig hebben om de bestanden die kunnen worden verwerkt door Aspose.Words Van degenen die dat niet kunnen. U wilt misschien ook weten waarom sommige documenten niet kunnen worden verwerkt.
Als u een bestand in een Document object en Aspose.Words kan het bestandsformaat niet herkennen of het formaat wordt niet ondersteund; Aspose.Words zal een uitzondering maken. Je kunt die uitzonderingen vangen en analyseren, maar Aspose.Words de detect_file_format methode waarmee we snel het bestandsformaat kunnen bepalen zonder een document te laden met mogelijke uitzonderingen. Deze methode geeft een FileFormatInfo object dat de gedetecteerde informatie over het bestandstype bevat.
Controleer Bestanden Format Compatibiliteit
We kunnen de formaatcompatibiliteit van alle bestanden in de geselecteerde map controleren en sorteren op formaat in overeenkomstige submappen.
Aangezien we te maken hebben met inhoud in een map, het eerste wat we moeten doen is een verzameling van alle bestanden in deze map met behulp van de lijstmap methode van de os module.
Het volgende voorbeeld van code laat zien hoe u een lijst van alle bestanden in de map krijgt:
Wanneer alle bestanden worden verzameld, de rest van het werk wordt gedaan door de detect_file_format methode, die het bestandsformaat controleert.
Het volgende voorbeeld van code laat zien hoe over de verzamelde lijst van bestanden te itereren, het formaat van elk bestand te controleren en elk bestand naar de juiste map te verplaatsen:
De bestanden worden verplaatst naar geschikte submappen met behulp van de kopieerbestand methode van de shuil module.
De volgende bestanden worden gebruikt in het voorbeeld hierboven. De bestandsnaam staat links en de beschrijving is rechts:
Group van bestanden | Invoerdocument | Type |
---|---|---|
Ondersteunde bestandsformaten | Testbestand (doc.doc) | Microsoft Word 95/6 of Microsoft Word 97 Document 2003. |
Testbestand (Dot ).dot |
Microsoft Word 95/6 of Microsoft Word 97 Model 2003. | |
Testbestand (Docx).docx | Office Open XML Wordprocessing ML-document zonder macros. | |
Testbestand (Docm).docm | Office Open XML Wordprocessing ML-document met macros. | |
Testbestand (Dotx).dotx | Office Open XML Wordprocessing ML template. | |
Testbestand (Dotm).dotm | Office Open XML Wordprocessing ML template met macro’s. | |
Testbestand (XML).xml | FlatOPC OOXML Document. | |
Testbestand (RTF).rtf | Rich Text Format document. | |
Testbestand (WordML).xml | Microsoft Word 2003 tekstverwerking ML document. | |
Testbestand (HTML).html | HTML-document. | |
Testbestand (MHTML).mhtml | MHTML (Webarchief) document. | |
Testbestand (Odt).odt | OpenDocument Tekst (OpenOffice Writer). | |
Testbestand (Ott).ott | OpenDocument Document Sjabloon. | |
Testbestand (DocPreWord60).doc | Microsoft Word 2.0 document. | |
Versleutelde documenten | Testbestand (Enc).doc | Versleuteld Microsoft Word 95/6 of Microsoft Word 97 Document 2003. |
Testbestand (Enc).docx | Versleuteld kantoor Open XML Wordprocessing ML document. | |
Niet ondersteunde bestandsformaten | Testbestand (JPG). jpg | JPEG-imagebestand. |