Как да намерите и замените текст в 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++.

 Български