Rileva il formato del file e verifica la compatibilità del formato
A volte è necessario determinare il formato di un documento prima di aprire perché l’estensione del file non garantisce che il contenuto del file sia appropriato. Ad esempio, è noto che Crystal Reports spesso emette documenti in formato RTF, ma dà loro il .estensione doc.
Aspose.Words fornisce la possibilità di ottenere informazioni sul tipo di file per evitare un’eccezione se non si è sicuri del contenuto effettivo del file.
Rileva il formato di file senza eccezioni
Quando si hanno a che fare con più documenti in vari formati di file, potrebbe essere necessario separare i file che possono essere elaborati da Aspose.Words da quelli che non possono. Potresti anche voler sapere perché alcuni dei documenti non possono essere elaborati.
Se si tenta di caricare un file in un oggetto Document e Aspose.Words non riesce a riconoscere il formato del file o il formato non è supportato, Aspose.Words genererà un’eccezione. È possibile rilevare tali eccezioni e analizzarle, ma Aspose.Words fornisce anche il metodo DetectFileFormat che consente di determinare rapidamente il formato del file senza caricare un documento con possibili eccezioni. Questo metodo restituisce un oggetto FileFormatInfo che contiene le informazioni rilevate sul tipo di file.
Verifica la compatibilità dei formati dei file
Possiamo verificare la compatibilità dei formati di tutti i file nella cartella selezionata e ordinarli per formato nelle sottocartelle corrispondenti.
Poiché abbiamo a che fare con il contenuto di una cartella, la prima cosa che dobbiamo fare è ottenere una raccolta di tutti i file in questa cartella usando il metodo GetFiles della classe Directory
(dallo spazio dei nomi System.IO
).
Il seguente esempio di codice mostra come ottenere un elenco di tutti i file nella cartella:
Quando tutti i file vengono raccolti, il resto del lavoro viene eseguito con il metodo DetectFileFormat, che controlla il formato del file.
L’esempio di codice seguente mostra come scorrere l’elenco di file raccolti, controllare il formato di ciascun file e spostare ciascun file nella cartella appropriata:
I file vengono spostati in sottocartelle appropriate utilizzando il metodo Move
della classe File
, dallo stesso spazio dei nomi System.IO
.
I seguenti file vengono utilizzati nell’esempio precedente. Il nome del file è a sinistra e la sua descrizione è a destra:
Gruppo di file | Documento di input | Tipo |
---|---|---|
Formati di file supportati | Test File (DOC).doc | Microsoft Word 95 / 6.0 o Microsoft Word 97 – documento del 2003. |
Test File (DOT).dot | Microsoft Word 95 / 6.0 o Microsoft Word 97 – modello 2003. | |
Test File (DOCX).docx | Office Open XML WordprocessingML documento senza macro. | |
Test File (DOCM).docm | Office Open XML WordprocessingML documento con macro. | |
Test File (DOTX).dotx | Modello Open XML WordprocessingML di Office. | |
Test File (DOTM).dotm | Office Open XML WordprocessingML modello con macro. | |
Test File (XML).xml | Documento FlatOPC OOXML. | |
Test File (RTF).rtf | Documento in formato RTF. | |
Test File (WordML).xml | Microsoft Word 2003 Documento WordprocessingML. | |
Test File (HTML).html | Documento HTML. | |
Test File (MHTML).mhtml | Documento MHTML (archivio Web). | |
Test File (ODT).odt | OpenDocument Testo (OpenOffice Scrittore). | |
Test File (OTT).ott | OpenDocument Modello di documento. | |
File di prova (DocPreWord 60).doc | Microsoft Word 2.0 documento. | |
Documenti crittografati | Test File (Enc).doc | Documento crittografato Microsoft Word 95 / 6.0 o Microsoft Word 97 – 2003. |
Test File (Enc).docx | Documento crittografato Office Open XML WordprocessingML. | |
Formati di file non supportati | Test File (JPG).jpg | File immagine JPEG. |