Документы Microsoft Word доступны в двух форматах: DOC и DOCX. DOC — более старый формат, а DOCX — его преемник. Вы можете конвертировать файлы DOCX в формат DOC и наоборот. В этой статье вы узнаете, как преобразовать файл DOCX в формат DOC и файл DOC в формат DOCX. Вы также увидите, как выполнять эти преобразования массово. Подробное изучение этих сценариев см. в следующих разделах:
- C++ API для преобразования DOCX в формат DOC и DOC в формат DOCX
- Преобразование файла DOCX в формат DOC с использованием C++
- Пакетное преобразование файлов DOCX в формат DOC с использованием C++
- Преобразование файла DOC в формат DOCX с помощью C++
- Пакетное преобразование файлов DOC в формат DOCX с использованием C++
C++ API для преобразования DOCX в формат DOC и DOC в формат DOCX
Aspose.Words for C++ — это собственная библиотека C++, позволяющая создавать, читать и изменять документы Microsoft Word. Кроме того, он также поддерживает преобразование файлов DOCX в формат DOC и файлов DOC в формат DOCX. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Words.Cpp
Преобразование файла DOCX в формат DOC с использованием C++
Вы можете преобразовать файл DOCX в формат DOC, выполнив следующие действия.
- Создайте экземпляр класса LoadOptions.
- Установите формат загрузки как DOCX, используя метод LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value).
- Загрузите исходный файл DOCX, используя класс Document.
- Сохраните преобразованный файл DOC, используя метод Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat).
В следующем примере кода показано, как преобразовать файл DOCX в файл DOC с помощью C++.
// Создайте экземпляр класса LoadOptions.
auto loadOptions = System::MakeObject<LoadOptions>();
// Укажите LoadFormat входного документа Word
loadOptions->set_LoadFormat(LoadFormat::Docx);
// Загрузить исходный файл DOCX
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 4.docx", loadOptions);
// Сохраните DOC-файл
doc->Save(u"OutputDirectory\\output.doc", SaveFormat::Doc);
Пакетное преобразование файлов DOCX в формат DOC с использованием C++
Если у вас есть сотни файлов DOCX, которые вам нужно преобразовать в формат DOC, вы можете легко преобразовать их, запустив программу один раз. В этом примере мы будем использовать библиотеку boost для перебора файлов в каталоге. Ниже приведены шаги для пакетного преобразования файлов DOCX в формат DOC.
- Перебрать файлы в каталоге.
- Создайте экземпляр класса LoadOptions.
- Установите формат загрузки как DOCX, используя метод LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value).
- Загрузите файлы DOCX, используя класс Document.
- Измените расширение на DOC в имени файла.
- Сохраните преобразованный файл DOC, используя метод Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat).
В следующем примере кода показано массовое преобразование файлов DOCX в формат DOC с помощью C++.
// Итерация по файлам в каталоге
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// Проверить расширение файла
if (file.path().extension().string() == ".docx")
{
// Создайте экземпляр класса LoadOptions.
auto loadOptions = System::MakeObject<LoadOptions>();
// Укажите LoadFormat входного документа Word
loadOptions->set_LoadFormat(LoadFormat::Docx);
// Загрузите файл DOCX
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// Изменить расширение файла
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".docx", u".doc");
// Сохраните DOC-файл
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Doc);
}
}
Преобразование файла DOC в формат DOCX с помощью C++
Ниже приведены шаги для преобразования файла DOC в файл DOCX.
- Создайте экземпляр класса LoadOptions.
- Установите формат загрузки как DOC, используя метод LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value).
- Загрузите исходный файл DOC с помощью класса Document.
- Сохраните преобразованный файл DOCX, используя метод Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat).
В следующем примере кода показано, как преобразовать файл DOC в файл DOCX с помощью C++.
// Создайте экземпляр класса LoadOptions.
auto loadOptions = System::MakeObject<LoadOptions>();
// Укажите LoadFormat входного документа Word
loadOptions->set_LoadFormat(LoadFormat::Doc);
// Загрузить исходный файл DOC
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 1.doc", loadOptions);
// Сохраните файл DOCX
doc->Save(u"OutputDirectory\\output.docx", SaveFormat::Docx);
Пакетное преобразование файлов DOC в формат DOCX с использованием C++
Чтобы массово преобразовать файлы DOC в формат DOCX, выполните следующие действия.
- Перебрать файлы в каталоге.
- Создайте экземпляр класса LoadOptions.
- Установите формат загрузки как DOC, используя метод LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value).
- Загрузите файлы DOC, используя класс Document.
- Измените расширение на DOCX в имени файла.
- Сохраните преобразованный файл DOCX, используя метод Документ->Сохранить(System::String fileName, Aspose::Words::SaveFormat saveFormat).
В следующем примере кода показано массовое преобразование файлов DOC в формат DOCX с помощью C++.
// Итерация по файлам в каталоге
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// Проверить расширение файла
if (file.path().extension().string() == ".doc")
{
// Создайте экземпляр класса LoadOptions.
auto loadOptions = System::MakeObject<LoadOptions>();
// Укажите LoadFormat входного документа Word
loadOptions->set_LoadFormat(LoadFormat::Doc);
// Загрузите DOC-файл
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// Изменить расширение файла
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".doc", u".docx");
// Сохраните файл DOCX
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Docx);
}
}
Получить бесплатную лицензию
Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как преобразовать файл DOCX в формат DOC и файл DOC в формат DOCX с помощью C++. Кроме того, вы видели, как выполнять эти преобразования массово с помощью библиотеки boost. Aspose.Words for C++ предоставляет множество дополнительных функций для автоматизации задач, связанных с Word. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.