檢測文件文件格式
內容
[
隱藏
]介紹
在當今的數位世界中,有效管理不同的文件格式至關重要。無論您處理的是 Word、PDF、HTML 或其他格式,能夠正確偵測和處理這些文件都可以為您節省大量時間和精力。在本教學中,我們將探討如何使用 Aspose.Words for .NET 偵測文件檔案格式。本指南將引導您完成您需要了解的所有內容,從先決條件到詳細的逐步指南。
先決條件
在我們深入研究程式碼之前,讓我們確保您擁有所需的一切:
- Aspose.Words for .NET:您可以從以下位置下載它這裡 。確保您擁有有效的許可證。如果沒有,您可以獲得臨時執照.
- Visual Studio:任何最新版本都可以正常運作。
- .NET Framework:確保安裝了正確的版本。
導入命名空間
首先,您需要在專案中匯入必要的命名空間:
using Aspose.Words;
using Aspose.Words.FileFormats;
using Aspose.Words.FileFormats.Util;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
讓我們將該範例分解為多個步驟,以便於理解。
第 1 步:設定目錄
首先,我們需要設定目錄,根據文件的格式對文件進行排序。
//文檔目錄的路徑。
string dataDir = "YOUR DOCUMENT DIRECTORY";
string supportedDir = dataDir + "Supported";
string unknownDir = dataDir + "Unknown";
string encryptedDir = dataDir + "Encrypted";
string pre97Dir = dataDir + "Pre97";
//如果目錄尚不存在,則建立它們。
if (!Directory.Exists(supportedDir))
Directory.CreateDirectory(supportedDir);
if (!Directory.Exists(unknownDir))
Directory.CreateDirectory(unknownDir);
if (!Directory.Exists(encryptedDir))
Directory.CreateDirectory(encryptedDir);
if (!Directory.Exists(pre97Dir))
Directory.CreateDirectory(pre97Dir);
步驟2:取得文件列表
接下來,我們將從目錄中取得文件列表,不包括任何損壞的文件。
IEnumerable<string> fileList = Directory.GetFiles(dataDir).Where(name => !name.EndsWith("Corrupted document.docx"));
步驟 3:檢測文件格式
現在,我們迭代每個檔案並使用 Aspose.Words 偵測其格式。
foreach (string fileName in fileList)
{
string nameOnly = Path.GetFileName(fileName);
Console.Write(nameOnly);
FileFormatInfo info = FileFormatUtil.DetectFileFormat(fileName);
//顯示文檔類型
switch (info.LoadFormat)
{
case LoadFormat.Doc:
Console.WriteLine("\tMicrosoft Word 97-2003 document.");
break;
case LoadFormat.Dot:
Console.WriteLine("\tMicrosoft Word 97-2003 template.");
break;
case LoadFormat.Docx:
Console.WriteLine("\tOffice Open XML WordprocessingML Macro-Free Document.");
break;
case LoadFormat.Docm:
Console.WriteLine("\tOffice Open XML WordprocessingML Macro-Enabled Document.");
break;
case LoadFormat.Dotx:
Console.WriteLine("\tOffice Open XML WordprocessingML Macro-Free Template.");
break;
case LoadFormat.Dotm:
Console.WriteLine("\tOffice Open XML WordprocessingML Macro-Enabled Template.");
break;
case LoadFormat.FlatOpc:
Console.WriteLine("\tFlat OPC document.");
break;
case LoadFormat.Rtf:
Console.WriteLine("\tRTF format.");
break;
case LoadFormat.WordML:
Console.WriteLine("\tMicrosoft Word 2003 WordprocessingML format.");
break;
case LoadFormat.Html:
Console.WriteLine("\tHTML format.");
break;
case LoadFormat.Mhtml:
Console.WriteLine("\tMHTML (Web archive) format.");
break;
case LoadFormat.Odt:
Console.WriteLine("\tOpenDocument Text.");
break;
case LoadFormat.Ott:
Console.WriteLine("\tOpenDocument Text Template.");
break;
case LoadFormat.DocPreWord60:
Console.WriteLine("\tMS Word 6 or Word 95 format.");
break;
case LoadFormat.Unknown:
Console.WriteLine("\tUnknown format.");
break;
}
if (info.IsEncrypted)
{
Console.WriteLine("\tAn encrypted document.");
File.Copy(fileName, Path.Combine(encryptedDir, nameOnly), true);
}
else
{
switch (info.LoadFormat)
{
case LoadFormat.DocPreWord60:
File.Copy(fileName, Path.Combine(pre97Dir, nameOnly), true);
break;
case LoadFormat.Unknown:
File.Copy(fileName, Path.Combine(unknownDir, nameOnly), true);
break;
default:
File.Copy(fileName, Path.Combine(supportedDir, nameOnly), true);
break;
}
}
}
結論
使用 Aspose.Words for .NET 偵測文件檔案格式是一個簡單的過程。透過設定目錄、取得文件清單以及利用 Aspose.Words 偵測文件格式,您可以有效地組織和管理文件。這種方法不僅可以節省時間,還可以確保您正確處理各種文件格式。
常見問題解答
什麼是 Aspose.Words for .NET?
Aspose.Words for .NET 是一個功能強大的程式庫,用於以程式設計方式處理 Word 文件。它允許開發人員創建、修改和轉換各種格式的文件。
Aspose.Words 可以偵測加密文件嗎?
是的,Aspose.Words 可以偵測文件是否已加密,您可以相應地處理此類文件。
Aspose.Words 可以偵測哪些格式?
Aspose.Words 可以偵測多種格式,包括 DOC、DOCX、RTF、HTML、MHTML、ODT 等。
如何取得 Aspose.Words 的臨時授權?
您可以從以下機構獲得臨時許可證提出購買頁。
在哪裡可以找到 Aspose.Words 的文檔?
Aspose.Words 的文檔可以找到這裡.