Определить формат файла документа
Введение
В современном цифровом мире эффективное управление различными форматами документов имеет решающее значение. Независимо от того, работаете ли вы с Word, PDF, HTML или другими форматами, умение правильно определять и обрабатывать эти файлы может сэкономить вам много времени и усилий. В этом руководстве мы рассмотрим, как определять форматы файлов документов с помощью Aspose.Words для .NET. Это руководство проведет вас через все, что вам нужно знать, от предварительных условий до подробного пошагового руководства.
Предпосылки
Прежде чем погрузиться в код, давайте убедимся, что у вас есть все необходимое:
- Aspose.Words для .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 для .NET — это простой процесс. Настроив каталоги, получив список файлов и используя Aspose.Words для определения форматов файлов, вы можете эффективно организовывать и управлять своими документами. Такой подход не только экономит время, но и гарантирует, что вы правильно обрабатываете различные форматы документов.
Часто задаваемые вопросы
Что такое Aspose.Words для .NET?
Aspose.Words for .NET — мощная библиотека для программной работы с документами Word. Она позволяет разработчикам создавать, изменять и конвертировать документы в различных форматах.
Может ли Aspose.Words обнаружить зашифрованные документы?
Да, Aspose.Words может определить, зашифрован ли документ, и обрабатывать такие документы соответствующим образом.
Какие форматы может обнаружить Aspose.Words?
Aspose.Words может распознавать широкий спектр форматов, включая DOC, DOCX, RTF, HTML, MHTML, ODT и многие другие.
Как получить временную лицензию для Aspose.Words?
Вы можете получить временную лицензию вПокупка Aspose страница.
Где я могу найти документацию по Aspose.Words?
Документацию по Aspose.Words можно найти здесьздесь.