Як знайти та замінити текст у документі Word на C++

Ця тема показує, як знайти та замінити текст у Word документі на C++ за допомогою спрощеного прикладу коду. За допомогою C++ заміна тексту в документі Word легко виконується за допомогою декількох рядків простого коду без зовнішньої залежності від MS Word або бібліотеки Interop. Ви можете використовувати програму в будь-якій програмі, що підтримується C++ і працює на платформах Windows, macOS або Linux.

Кроки для заміни тексту в документі Word на C++

  1. Налаштуйте останню версію Aspose.Words.CPP з NuGet Package Manager
  2. Додайте простір імен Aspose::Words і додайте необхідні файли заголовків
  3. Ініціалізуйте об’єкт класу Document, щоб завантажити DOCX для заміни тексту
  4. Створіть об’єкт класу FindReplaceOptions, щоб увімкнути різні властивості
  5. Виконати заміну тексту для вибраного рядка пошуку та заміни
  6. Збережіть документ 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++.

 Українська