Jak najít a nahradit text v dokumentu Word v C++

Toto téma ukazuje, jak najít a nahradit text v Word dokumentu v C++ pomocí příkladu zjednodušeného kódu. Použitím C++ nahradit text v dokumentu Word se snadno provede v několika řádcích jednoduchého kódu bez externí závislosti na MS Word nebo knihovně Interop. Aplikaci můžete použít v kterékoli z aplikací podporovaných C++ běžících na platformách Windows, macOS nebo Linux.

Kroky k nahrazení textu v dokumentu aplikace Word v C++

  1. Nakonfigurujte nejnovější verzi Aspose.Words.CPP ze Správce balíčků NuGet
  2. Zahrňte jmenný prostor Aspose::Words a přidejte požadované soubory záhlaví
  3. Inicializujte objekt třídy Document, aby se načetl DOCX pro nahrazení textu
  4. Chcete-li povolit různé vlastnosti, vytvořte objekt třídy FindReplaceOptions
  5. Proveďte nahrazení textu pro vybraný řetězec hledání a nahrazení
  6. Uložte dokument aplikace Word s nahrazeným textem na disk

Ve výše uvedených krocích nejprve načteme zdrojový dokument aplikace Word z disku a poté určíme různé vlastnosti pro nastavení kritérií pro vyhledávání a nahrazování textu, včetně směru nahrazení, shody velkých a malých písmen a hledání celých slov. Nakonec nahradíme text ve wordovém dokumentu pomocí C++ a upravený DOCX uložíme na disk.

Kód pro nahrazení textu v dokumentu aplikace Word pomocí 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");
}
};

V tomto příkladu lze použití C++ Word dokument nahradit text snadno pomocí jednoduchých volání API. Použitím instance Document class se vstupní dokument Wordu načte pomocí API. Potom v následujících krocích použijeme třídu FindReplaceOptions k nastavení kritérií hledání a nahrazování nastavením různých vlastností. Nakonec upravený DOCX uložíme na disk nebo do MemoryStreamu jako výstup.

V tomto článku jsme prozkoumali, jak najít a nahradit text v dokumentu Word pomocí C++. Pokud se však chcete dozvědět o exportu souboru Word do PDF, přečtěte si článek na jak převést Word do PDF pomocí C++.

 Čeština