ตรวจจับรูปแบบไฟล์และตรวจสอบความเข้ากันได้ของรูปแบบ
บางครั้งจำเป็นต้องกำหนดรูปแบบของเอกสารก่อนเปิด เนื่องจากนามสกุลไฟล์ไม่ได้รับประกันว่าเนื้อหาของไฟล์จะมีความเหมาะสม ตัวอย่างเช่น เป็นที่ทราบกันว่า Crystal Reports มักจะส่งออกเอกสารในรูปแบบ RTF แต่ให้นามสกุล .doc แก่พวกเขา
Aspose.Words ให้ความสามารถในการรับข้อมูลเกี่ยวกับประเภทไฟล์เพื่อหลีกเลี่ยงข้อยกเว้น หากคุณไม่แน่ใจว่าเนื้อหาที่แท้จริงของไฟล์นั้นคืออะไร
ตรวจจับรูปแบบไฟล์โดยไม่มีข้อยกเว้น
เมื่อคุณจัดการกับเอกสารหลายฉบับในรูปแบบไฟล์ต่างๆ คุณอาจต้องแยกไฟล์ที่ Aspose.Words ประมวลผลได้ออกจากไฟล์ที่ไม่สามารถทำได้ คุณอาจต้องการทราบว่าเหตุใดเอกสารบางรายการจึงไม่สามารถประมวลผลได้
หากคุณพยายามโหลดไฟล์ลงในออบเจ็กต์ Document และ Aspose.Words ไม่รู้จักรูปแบบไฟล์หรือไม่รองรับรูปแบบนั้น Aspose.Words จะส่งข้อยกเว้น คุณสามารถตรวจจับข้อยกเว้นเหล่านั้นและวิเคราะห์ได้ แต่ Aspose.Words ยังมีวิธี DetectFileFormat ที่ช่วยให้เราสามารถระบุรูปแบบไฟล์ได้อย่างรวดเร็วโดยไม่ต้องโหลดเอกสารที่มีข้อยกเว้นที่เป็นไปได้ เมธอดนี้ส่งคืนออบเจ็กต์ FileFormatInfo ที่มีข้อมูลที่ตรวจพบเกี่ยวกับประเภทไฟล์
ตรวจสอบความเข้ากันได้ของรูปแบบไฟล์
เราสามารถตรวจสอบความเข้ากันได้ของรูปแบบไฟล์ทั้งหมดในโฟลเดอร์ที่เลือกและจัดเรียงตามรูปแบบในโฟลเดอร์ย่อยที่เกี่ยวข้อง
เนื่องจากเรากำลังจัดการกับเนื้อหาในโฟลเดอร์ สิ่งแรกที่เราต้องทำคือรวบรวมไฟล์ทั้งหมดในโฟลเดอร์นี้โดยใช้วิธี GetFiles ของคลาส Directory
(จากเนมสเปซ System.IO
)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับรายการไฟล์ทั้งหมดในโฟลเดอร์:
เมื่อรวบรวมไฟล์ทั้งหมดแล้ว งานส่วนที่เหลือจะเสร็จสิ้นโดยวิธี DetectFileFormat ซึ่งจะตรวจสอบรูปแบบไฟล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีวนซ้ำรายการไฟล์ที่รวบรวม ตรวจสอบรูปแบบของแต่ละไฟล์ และย้ายแต่ละไฟล์ไปยังโฟลเดอร์ที่เหมาะสม:
ไฟล์จะถูกย้ายไปยังโฟลเดอร์ย่อยที่เหมาะสมโดยใช้วิธี Move
ของคลาส File
จากเนมสเปซ System.IO
เดียวกัน
ไฟล์ต่อไปนี้ใช้ในตัวอย่างด้านบน ชื่อไฟล์อยู่ทางซ้าย และคำอธิบายอยู่ทางขวา:
Group ของไฟล์ | เอกสารเข้า | พิมพ์ |
---|---|---|
รูปแบบไฟล์ที่รองรับ | ไฟล์ทดสอบ (Doc).doc | เอกสาร Microsoft Word 95/6.0 หรือ Microsoft Word 97 – 2003 |
ไฟล์ทดสอบ (Dot ).dot |
เทมเพลต Microsoft Word 95/6.0 หรือ Microsoft Word 97 – 2003 | |
ไฟล์ทดสอบ (Docx).docx | เอกสาร Office Open XML WordprocessingML ที่ไม่มีมาโคร | |
ไฟล์ทดสอบ (Docm).docm | เอกสาร Office Open XML WordprocessingML พร้อมมาโคร | |
ไฟล์ทดสอบ (Dotx).dotx | เทมเพลต Office Open XML WordprocessingML | |
ไฟล์ทดสอบ (Dotm).dotm | เทมเพลต Office Open XML WordprocessingML พร้อมมาโคร | |
ไฟล์ทดสอบ (XML).xml | เอกสาร FlatOPC OOXML | |
ไฟล์ทดสอบ (RTF).rtf | เอกสารรูปแบบ Rich Text | |
ไฟล์ทดสอบ (WordML).xml | เอกสาร Microsoft Word 2003 WordprocessingML | |
ไฟล์ทดสอบ (HTML).html | เอกสาร HTML | |
ไฟล์ทดสอบ (MHTML).mhtml | เอกสาร MHTML (เว็บเก็บถาวร) | |
ไฟล์ทดสอบ (Odt).odt | ข้อความ OpenDocument (นักเขียน OpenOffice) | |
ไฟล์ทดสอบ (Ott).ott | เทมเพลตเอกสาร OpenDocument | |
ไฟล์ทดสอบ (DocPreWord60).doc | เอกสาร Microsoft Word 2.0 | |
เอกสารที่เข้ารหัส | ไฟล์ทดสอบ (Enc).doc | เอกสาร Microsoft Word 95/6.0 หรือ Microsoft Word 97 – 2003 ที่เข้ารหัส |
ไฟล์ทดสอบ (Enc).docx | เอกสาร Office Open XML WordprocessingML ที่เข้ารหัส | |
รูปแบบไฟล์ที่ไม่รองรับ | ไฟล์ทดสอบ (JPG).jpg | ไฟล์ภาพ JPEG |