Ця тема показує, як знайти та замінити текст у Word документі на C++ за допомогою спрощеного прикладу коду. За допомогою C++ заміна тексту в документі Word легко виконується за допомогою декількох рядків простого коду без зовнішньої залежності від MS Word або бібліотеки Interop. Ви можете використовувати програму в будь-якій програмі, що підтримується C++ і працює на платформах Windows, macOS або Linux.
Кроки для заміни тексту в документі Word на C++
- Налаштуйте останню версію Aspose.Words.CPP з NuGet Package Manager
- Додайте простір імен Aspose::Words і додайте необхідні файли заголовків
- Ініціалізуйте об’єкт класу Document, щоб завантажити DOCX для заміни тексту
- Створіть об’єкт класу FindReplaceOptions, щоб увімкнути різні властивості
- Виконати заміну тексту для вибраного рядка пошуку та заміни
- Збережіть документ Word із заміненим текстом на диску
У вищезазначених кроках ми спочатку завантажимо вихідний документ Word із диска, а потім вкажемо різні властивості, щоб установити критерії для пошуку та заміни тексту, зокрема напрям заміни, відповідність регістру та пошук цілих слів. Нарешті, ми замінимо текст у документі Word за допомогою C++ і збережемо змінений DOCX на диску.
Код для заміни тексту в документі Word за допомогою C++
#pragma once | |
#include <cstdint> | |
#include <iostream> | |
#include <Aspose.Words.Cpp/License.h> | |
#include <Aspose.Words.Cpp/Document.h> | |
#include <Aspose.Words.Cpp/Range.h> | |
#include <Aspose.Words.Cpp/Replacing/FindReplaceOptions.h> | |
#include <Aspose.Words.Cpp/Replacing/FindReplaceDirection.h> | |
#include <system/enumerator_adapter.h> | |
#include <system/io/path.h> | |
#include <system/smart_ptr.h> | |
#include <system/shared_ptr.h> | |
using namespace Aspose::Words; | |
using namespace Aspose::Words::Replacing; | |
using System::MakeObject; | |
using System::SharedPtr; | |
using System::String; | |
class FindAndReplaceTextEx | |
{ | |
public: | |
static void FindAndReplaceText() | |
{ | |
// Load and Set API License | |
System::String LicFilePath = u"Aspose.Total.Net.lic"; | |
SharedPtr<Aspose::Words::License> WordsCPPLicenseForTable = System::MakeObject<Aspose::Words::License>(); | |
// Setting Aspose.Words product license | |
WordsCPPLicenseForTable->SetLicense(LicFilePath); | |
// Load an input Word file with Document class for replacing text | |
SharedPtr<Document> FindInDocument = MakeObject<Document>(u"Test.docx"); | |
// Instantiate FindReplaceOptions class object to replace text string | |
SharedPtr<FindReplaceOptions> options = MakeObject< FindReplaceOptions>(); | |
options->set_MatchCase(true); | |
options->set_Direction(FindReplaceDirection::Forward); | |
options->set_FindWholeWordsOnly(true); | |
// Apply search and replace string in the Replace method | |
FindInDocument->get_Range()->Replace(u"Test", u"Replace", options); | |
// Save the document on disk with replaced text | |
FindInDocument->Save(u"FindAndReplace.docx"); | |
} | |
}; |
У цьому прикладі використання заміни тексту документа C++ Word легко виконується за допомогою простих викликів API. Використовуючи екземпляр Document class, вхідний документ Word буде завантажено за допомогою API. Потім у наступних кроках ми використаємо клас FindReplaceOptions, щоб встановити критерії пошуку та заміни, встановивши різні властивості. Нарешті, ми збережемо змінений DOCX на диску або в MemoryStream як результат.
У цій статті ми досліджували, як знайти та замінити текст у документі Word за допомогою C++. Однак якщо ви хочете дізнатися про експорт файлу Word у PDF, перегляньте статтю як конвертувати Word у PDF за допомогою C++.