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 l’estensione .doc.

Aspose.Words fornisce una capacità di ottenere informazioni sul tipo di file al fine di evitare un’eccezione se non si è sicuri di quale sia il contenuto effettivo del file.

Rileva il formato del file senza un’eccezione

Quando si tratta di 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. Si può anche voler sapere perché alcuni dei documenti non possono essere trattati.

Se si tenta di caricare un file in un Document oggetto e Aspose.Words non può riconoscere il formato del file o il formato non è supportato, Aspose.Words getterà un’eccezione. È possibile catturare queste eccezioni e analizzarle, ma Aspose.Words fornisce anche DetectFileFormat metodo che ci permette di determinare rapidamente il formato del file senza caricare un documento con eventuali eccezioni. Questo metodo restituisce un FileFormatInfo oggetto che contiene le informazioni rilevate sul tipo di file.

Controllare i file Formato Compatibilità

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

Dal momento che abbiamo a che fare con i contenuti in una cartella, la prima cosa che dobbiamo fare è ottenere una raccolta di tutti i file in questa cartella utilizzando GetFiles metodo del Directory classe (dalla System.IO namespace).

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

Quando tutti i file sono raccolti, il resto del lavoro è fatto dal DetectFileFormat metodo, che controlla il formato del file.

Il seguente esempio di codice mostra come iterare sopra l’elenco raccolto dei file, controllare il formato di ogni file e sposta ogni file nella cartella appropriata:

I file vengono spostati in sottocartelle appropriate utilizzando Move metodo del File classe, dalla stessa System.IO namespace.

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

Group di file Documento di ingresso Tipo
Formati di file supportati Test File (doc Microsoft Word 95/6.0 o Microsoft Word 97 – documento 2003.
Test File (Dot).dot Microsoft Word 95/6.0 o Microsoft Word 97 – modello 2003.
Test File (Docx).docx Ufficio Open XML Wordprocessing Documento ML senza macro.
Test File (Docm).docm Ufficio Open XML Wordprocessing Documento ML con macro.
Test File (Dotx).dotx Ufficio Open XML Wordprocessing Modello ML.
Test File (Dotm).dotm Ufficio Open XML Wordprocessing Modello ML con macro.
File di prova (XML).xml FlatOPC OOXML Documento.
Test File (RTF).rtf Ricco documento Formato testo.
Test File (WordML).xml Microsoft Word 2003 Processo di parole Documento ML.
Test File (HTML).html Documento HTML.
Test File (MHTML).mhtml Documento MHTML (Archivio Web).
Test File (Odt).odt Testo OpenDocument (OpenOffice Writer).
Test File (Ott).ott OpenDocument Document Template.
Test File (DocPreWord60).doc Microsoft Word Documento 2.0.
Documenti crittografati Test File (Enc).doc Crittografia Microsoft Word 95/6.0 o Microsoft Word 97 – documento 2003.
Test File (Enc).docx Ufficio crittografato Open XML Wordprocessing Documento ML.
Formati di file non supportati Test File (JPG). # File immagine JPEG.