Deteksi Format File dan Periksa Kompatibilitas Format
Terkadang perlu menentukan format suatu dokumen sebelum dibuka karena ekstensi file tidak menjamin kesesuaian isi file. Misalnya, Crystal Reports diketahui sering mengeluarkan dokumen dalam format RTF, tetapi memberinya ekstensi .doc.
Aspose.Words menyediakan kemampuan untuk memperoleh informasi tentang jenis file untuk menghindari pengecualian jika Anda tidak yakin dengan konten sebenarnya dari file tersebut.
Deteksi Format File tanpa Pengecualian
Saat Anda berurusan dengan banyak dokumen dalam berbagai format file, Anda mungkin perlu memisahkan file-file yang dapat diproses oleh Aspose.Words dari file-file yang tidak dapat diproses. Anda mungkin juga ingin mengetahui mengapa beberapa dokumen tidak dapat diproses.
Jika Anda mencoba memuat file ke objek Document dan Aspose.Words tidak dapat mengenali format file atau formatnya tidak didukung, Aspose.Words akan mengeluarkan pengecualian. Anda dapat menangkap pengecualian tersebut dan menganalisisnya, namun Aspose.Words juga menyediakan metode detect_file_format yang memungkinkan kita menentukan format file dengan cepat tanpa memuat dokumen dengan kemungkinan pengecualian. Metode ini mengembalikan objek FileFormatInfo yang berisi informasi yang terdeteksi tentang jenis file.
Periksa Kompatibilitas Format File
Kami dapat memeriksa kompatibilitas format semua file di folder yang dipilih dan mengurutkannya berdasarkan format ke dalam subfolder yang sesuai.
Karena kita berurusan dengan konten dalam sebuah folder, hal pertama yang perlu kita lakukan adalah mengumpulkan semua file dalam folder ini menggunakan metode listdir pada modul os.
Contoh kode berikut menunjukkan cara mendapatkan daftar semua file dalam folder:
Ketika semua file dikumpulkan, sisa pekerjaan dilakukan dengan metode detect_file_format, yang memeriksa format file.
Contoh kode berikut menunjukkan cara mengulangi daftar file yang dikumpulkan, memeriksa format setiap file, dan memindahkan setiap file ke folder yang sesuai:
File dipindahkan ke subfolder yang sesuai menggunakan metode copyfile pada modul tutup.
File berikut digunakan dalam contoh di atas. Nama file di sebelah kiri dan deskripsinya di sebelah kanan:
Group File | Dokumen Masukan | Jenis |
---|---|---|
Format file yang didukung | File Uji (Dok).doc | Dokumen Microsoft Word 95/6.0 atau Microsoft Word 97 – 2003. |
File Uji (Dot ).dot |
Templat Microsoft Word 95/6.0 atau Microsoft Word 97 – 2003. | |
File Uji (Docx).docx | Dokumen Office Open XML WordprocessingML tanpa makro. | |
File Uji (Docm).docm | Dokumen Office Open XML WordprocessingML dengan makro. | |
File Uji (Dotx).dotx | Templat Office Open XML WordprocessingML. | |
File Uji (Dotm).dotm | Templat Office Open XML WordprocessingML dengan makro. | |
File Uji (XML).xml | Dokumen FlatOPC OOXML. | |
File Uji (RTF).rtf | Dokumen Format Teks Kaya. | |
File Uji (WordML).xml | Dokumen Microsoft Word 2003 WordprocessingML. | |
File Uji (HTML).html | dokumen HTML. | |
File Uji (MHTML).mhtml | Dokumen MHTML (arsip Web). | |
File Uji (Aneh).odt | Teks OpenDocument (Penulis OpenOffice). | |
File Uji (Ott).ott | Templat Dokumen OpenDocument. | |
File Uji (DocPreWord60).doc | dokumen Microsoft Word 2.0. | |
Dokumen terenkripsi | File Uji (Enc).doc | Dokumen Microsoft Word 95/6.0 atau Microsoft Word 97 – 2003 terenkripsi. |
File Uji (Enc).docx | Dokumen Office Open XML WordprocessingML terenkripsi. | |
Format file tidak didukung | File Uji (JPG).jpg | File gambar JPEG. |