Jak znaleźć i zamienić tekst w dokumencie programu Word w C++

W tym temacie pokazano, jak znaleźć i zamienić tekst w dokumencie Word w języku C++ przy użyciu uproszczonego przykładowego kodu. Za pomocą C++ zamiana tekstu w dokumencie Word jest łatwo wykonywana w kilku liniach łatwego kodu bez zewnętrznej zależności od MS Word lub biblioteki Interop. Możesz korzystać z aplikacji w dowolnej aplikacji obsługiwanej przez C++, działającej na platformach Windows, macOS lub Linux.

Kroki, aby zamienić tekst w dokumencie programu Word w C++

  1. Skonfiguruj najnowszą wersję Aspose.Words.CPP z Menedżera pakietów NuGet
  2. Uwzględnij przestrzeń nazw Aspose::Words i dodaj wymagane pliki nagłówkowe
  3. Zainicjuj obiekt klasy Document, aby załadować dokument DOCX w celu zastąpienia tekstu
  4. Utwórz obiekt klasy FindReplaceOptions, aby włączyć różne właściwości
  5. Wykonaj zamianę tekstu dla wybranego wyszukiwania i zastąp ciąg
  6. Zapisz dokument programu Word z zastąpionym tekstem na dysku

We wspomnianych krokach najpierw załadujemy źródłowy dokument Word z dysku, a następnie określimy różne właściwości, aby ustawić kryteria wyszukiwania i zastępowania tekstu, w tym kierunek zamiany, wielkość liter i znajdowanie całych słów. Na koniec zastąpimy tekst w dokumencie Word używając C++ i zapiszemy zmodyfikowany DOCX na dysku.

Kod do zastąpienia tekstu w dokumencie programu Word przy użyciu 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");
}
};

W tym przykładzie użycie C++ Word document replace text jest łatwe do wykonania przy użyciu prostych wywołań API. Używając instancji Document class, wejściowy dokument programu Word zostanie załadowany przy użyciu interfejsu API. Następnie w kolejnych krokach użyjemy klasy FindReplaceOptions do ustawienia kryteriów wyszukiwania i zamiany poprzez ustawienie różnych właściwości. Na koniec zapiszemy zmodyfikowany DOCX na dysku lub w MemoryStream jako dane wyjściowe.

W tym artykule zbadaliśmy, jak znaleźć i zamienić tekst w dokumencie programu Word przy użyciu języka C++. Jeśli jednak chcesz dowiedzieć się więcej o eksportowaniu pliku Word do formatu PDF, zapoznaj się z artykułem na jak przekonwertować Worda na PDF za pomocą C++.

 Polski