Rileva il formato del file e verifica la compatibilità del formato

A volte è necessario determinare il formato di un documento prima di aprirlo perché l’estensione del file non garantisce che il contenuto del file sia appropriato. Ad esempio, è noto che Crystal Reports spesso restituisce i documenti in formato RTF, ma fornisce loro l’estensione .doc.

Aspose.Words offre la possibilità di ottenere informazioni sul tipo di file per evitare un’eccezione se non si è sicuri di quale sia il contenuto effettivo del file.

Rileva il formato del file senza eccezioni

Quando hai 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 documenti non possono essere elaborati.

Se tenti 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. Puoi catturare queste eccezioni e analizzarle, ma Aspose.Words fornisce anche il metodo DetectFileFormat che ci 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.

Controlla la compatibilità del formato dei file

Possiamo verificare la compatibilità del formato di tutti i file nella cartella selezionata e ordinarli per formato nelle sottocartelle corrispondenti.

Dato che abbiamo a che fare con il contenuto di una cartella, la prima cosa che dobbiamo fare è ottenere una raccolta di tutti i file di questa cartella utilizzando il metodo GetFiles della classe Directory (dal namespace System.IO).

L’esempio di codice seguente mostra come ottenere un elenco di tutti i file nella cartella:

Una volta raccolti tutti i file, il resto del lavoro viene svolto dal metodo DetectFileFormat, che controlla il formato del file.

Il seguente esempio di codice mostra come scorrere l’elenco raccolto di file, controllare il formato di ciascun file e spostare ciascun file nella cartella appropriata:

I file vengono spostati in apposite sottocartelle utilizzando il metodo Move della classe File, dallo stesso namespace System.IO.

Nell’esempio precedente vengono utilizzati i seguenti file. Il nome del file è a sinistra e la sua descrizione è a destra:

Group di file Documento di input Tipo
Formati di file supportati File di prova (Doc).doc Documento Microsoft Word 95/6.0 o Microsoft Word 97 – 2003.
File di prova (Dot).dot Modello Microsoft Word 95/6.0 o Microsoft Word 97 – 2003.
File di prova (Docx).docx Documento Office Open XML WordprocessingML senza macro.
File di prova (Docm).docm Documento Office Open XML WordprocessingML con macro.
File di prova (Dotx).dotx Modello Office Open XML WordprocessingML.
File di prova (Dotm).dotm Modello Office Open XML WordprocessingML con macro.
File di prova (XML).xml Documento OOXML FlatOPC.
File di prova (RTF).rtf Documento in formato Rich Text.
File di prova (WordML).xml Documento Microsoft Word 2003 WordprocessingML.
File di prova (HTML).html Documento HTML.
File di prova (MHTML).mhtml Documento MHTML (archivio Web).
File di prova (Odt).odt Testo OpenDocument (OpenOffice Writer).
File di prova (Ott).ott Modello di documento OpenDocument.
File di prova (DocPreWord60).doc Documento Microsoft Word 2.0.
Documenti crittografati File di prova (Enc).doc Documento crittografato Microsoft Word 95/6.0 o Microsoft Word 97 – 2003.
File di prova (Enc).docx Documento Office Open XML WordprocessingML crittografato.
Formati di file non supportati File di prova (JPG).jpg File immagine JPEG.