Dosya Formatını Algıla ve Format Uyumluluğunu Kontrol Et
Bazen bir belgeyi açmadan önce formatının belirlenmesi gerekebilir çünkü dosya uzantısı, dosya içeriğinin uygun olduğunu garanti etmez. Örneğin Crystal Reports’un çoğu zaman belgeleri RTF formatında çıkardığı ancak bunlara .doc uzantısını verdiği bilinmektedir.
Aspose.Words, dosyanın gerçek içeriğinin ne olduğundan emin değilseniz bir istisnayı önlemek için dosya türü hakkında bilgi edinme yeteneği sağlar.
İstisnasız Dosya Formatını Algıla
Çeşitli dosya formatlarında birden fazla belgeyle uğraşırken, Aspose.Words tarafından işlenebilen dosyaları işlenemeyenlerden ayırmanız gerekebilir. Ayrıca bazı belgelerin neden işlenemediğini de bilmek isteyebilirsiniz.
Bir Document nesnesine dosya yüklemeye çalışırsanız ve Aspose.Words, dosya formatını tanıyamazsa veya format desteklenmiyorsa, Aspose.Words bir istisna oluşturacaktır. Bu istisnaları yakalayabilir ve analiz edebilirsiniz, ancak Aspose.Words aynı zamanda olası istisnaları olan bir belgeyi yüklemeden dosya formatını hızlı bir şekilde belirlememize olanak tanıyan detect_file_format yöntemini de sağlar. Bu yöntem, dosya türüyle ilgili algılanan bilgileri içeren bir FileFormatInfo nesnesi döndürür.
Dosya Formatı Uyumluluğunu Kontrol Edin
Seçilen klasördeki tüm dosyaların format uyumluluğunu kontrol edebilir ve bunları formata göre ilgili alt klasörlere sıralayabiliriz.
Bir klasördeki içeriklerle uğraştığımız için yapmamız gereken ilk şey, işletim sistemi modülünün listedir yöntemini kullanarak bu klasördeki tüm dosyaların bir koleksiyonunu almaktır.
Aşağıdaki kod örneği, klasördeki tüm dosyaların listesinin nasıl alınacağını gösterir:
Tüm dosyalar toplandığında işin geri kalanı dosya formatını kontrol eden detect_file_format yöntemiyle yapılır.
Aşağıdaki kod örneği, toplanan dosya listesi üzerinde nasıl yineleme yapılacağını, her dosyanın biçiminin nasıl kontrol edileceğini ve her dosyanın uygun klasöre nasıl taşınacağını gösterir:
Dosyalar, kapalı modülünün dosya kopyala yöntemi kullanılarak uygun alt klasörlere taşınır.
Yukarıdaki örnekte aşağıdaki dosyalar kullanılmıştır. Dosya adı solda ve açıklaması sağdadır:
Dosyaların Group’i | Giriş Belgesi | Tip |
---|---|---|
Desteklenen dosya formatları | Test Dosyası (Doc).doc | Microsoft Word 95/6.0 veya Microsoft Word 97 – 2003 belgesi. |
Test Dosyası (Dot ).dot |
Microsoft Word 95/6.0 veya Microsoft Word 97 – 2003 şablonu. | |
Test Dosyası (Docx).docx | Office Makrolar olmadan XML WordprocessingML belgesini açın. | |
Test Dosyası (Docm).docm | Office Makrolarla birlikte XML WordprocessingML belgesini açın. | |
Test Dosyası (Dotx).dotx | Office Açık XML WordprocessingML şablonu. | |
Test Dosyası (Dotm).dotm | Makrolar içeren Office Açık XML WordprocessingML şablonu. | |
Test Dosyası (XML).xml | FlatOPC OOXML Belgesi. | |
Test Dosyası (RTF).rtf | Zengin Metin Biçimi belgesi. | |
Test Dosyası (WordML).xml | Microsoft Word 2003 Kelime İşlemeML belgesi. | |
Test Dosyası (HTML).html | HTML belgesi. | |
Test Dosyası (MHTML).mhtml | MHTML (Web arşivi) belgesi. | |
Test Dosyası (Odt).odt | OpenDocument Metni (OpenOffice Writer). | |
Test Dosyası (Ott).ott | OpenDocument Belge Şablonu. | |
Test Dosyası (DocPreWord60).doc | Microsoft Word 2.0 belgesi. | |
Şifrelenmiş belgeler | Test Dosyası (Enc).doc | Şifrelenmiş Microsoft Word 95/6.0 veya Microsoft Word 97 – 2003 belgesi. |
Test Dosyası (Enc).docx | Şifrelenmiş Office Açık XML WordprocessingML belgesi. | |
Desteklenmeyen dosya biçimleri | Test Dosyası (JPG).jpg | JPEG resim dosyası. |