Er kunnen veel redenen zijn om een woord of woordgroep in het document te vervangen. Of u nu de gevoelige inhoud wilt wissen voordat u het document openbaar deelt of u alle privé-informatie zoals e-mail-ID’s of burgerservicenummers wilt verbergen/verwijderen, u moet de inhoud van het document redigeren. Dit artikel helpt u bij het programmatisch redigeren van Word-documenten in uw .NET-toepassingen met behulp van C#. We zullen afzonderlijk bespreken hoe u kunt redigeren door de tekst te verbergen en hoe u de tekst, woorden of zinsdelen kunt vinden en vervangen met behulp van verschillende technieken.

De volgende onderwerpen zullen hieronder aan de orde komen:

.NET Redaction API voor het vervangen van tekst

GroupDocs.Redaction for .NET is de API voor het redigeren van documenten waarmee de bedoelde gegevens uit documenten met verschillende bestandsindelingen kunnen worden gevonden en vervangen. Samen met de tekstredactie en rastering biedt de API functies voor metadata, annotatie, spreadsheets en het redigeren van afbeeldingen. De ondersteunde bestandsindelingen van de Word-documenten, spreadsheets, presentaties, afbeeldingen en PDF-documenten zijn beschikbaar bij de documentatie.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloads-sectie of de API in uw .NET-applicatie installeren via [NuGet](https://www.nuget.org /packages/groupdocs.redactie).

PM> Install-Package GroupDocs.Redaction

Het is tijdens dit proces niet nodig om MS Office of andere software van derden te installeren. Laten we nu beginnen en verschillende benaderingen bekijken voor het vinden en vervangen van tekst in de documenten. Het volgende is de schermafbeelding van een Word-document dat in de voorbeelden ter demonstratie wordt gebruikt. Dezelfde methoden werken voor andere documentindelingen zonder enige wijziging in de code.

Zoek en vervang woorden of zinnen in een Word-document met behulp van C#

In de volgende stap wordt uitgelegd hoe u een woord/zin in een Word-document kunt vinden en vervolgens alle voorkomens kunt vervangen door een andere tekst in de C#-toepassing.

  • Laad het Word-document (DOC/DOCX) met de klasse Redactor.
  • Zoek de exacte woordgroep of het exacte woord met behulp van de klasse ExactPhraseRedaction met [ReplacementOptions](https://apireference.groupdocs.com /redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Gebruik Toepassen methode van Redactor om redactie toe te passen.
  • Sla de wijzigingen op met de methode Opslaan.

De volgende code zoekt en vervangt het woord in C#. Nauwkeuriger gezegd, het vervangt alle keren dat “John Doe” voorkomt door “[gecensureerd]”.

// Zoek de exacte zin en vervang deze door een andere tekst met behulp van C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save();
}

De uitvoer van de code is als volgt.

Hoofdlettergevoelig zoeken en vervangen in Word-bestanden met C#

Op dezelfde manier kunt u de hoofdlettergevoelige redactie van een Word-document uitvoeren door het exacte woord te vinden en het door een ander woord te vervangen. De volgende code vervangt het bestaan van het woord “John Doe” in een DOCX-bestand met behulp van C#, maar deze keer is de zoekopdracht hoofdlettergevoelig.

// Zoek de exacte woordgroep (hoofdlettergevoelig) en vervang deze door een andere tekst met behulp van C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save();
}

De uitvoer van de code is als volgt.

Vervang tekst in Word-bestanden met reguliere expressies (RegEx) met C#

Om elk tekstpatroon in Word-bestanden (DOC, DOCX) te vinden en te vervangen, kunt u reguliere expressies gebruiken. Met de volgende stappen kunt u een Word-document redigeren met RegEx met behulp van C#.

De volgende code laat zien hoe u een tekstpatroon in een Word-bestand kunt vinden met behulp van RegEx en het vervolgens kunt vervangen/verbergen door een andere tekst met behulp van C#.

// Zoek tekst met behulp van reguliere expressies en vervang deze door andere tekst met behulp van C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save();
}

De uitvoer van de bovenstaande code is als volgt.

Verberg vertrouwelijke tekst in Word-documenten met Coloured Box met behulp van C#

Als u uw privé-inhoud niet wilt vervangen, maar deze alleen wilt bedekken, kunt u met de API die inhoud verbergen door er een kader overheen te tekenen. De volgende code plaatst de zwarte rechthoek over de bedoelde tekst om tekst zwart te maken met C#.

// Zoek tekst en verberg deze door er een rechthoek overheen te tekenen met C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

De uitvoer van de bovenstaande code is als volgt.

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Tot slot heb je geleerd hoe je met verschillende technieken tekst kunt zoeken in Word-bestanden (DOC, DOCX) en hoe je de bevindingen op verschillende manieren kunt vervangen. Meer precies, we bespraken hoe je tekst, woord of woordgroep kunt vinden, zelfs als het een hoofdlettergevoelige zoekopdracht is of een reguliere expressie in C# gebruikt. Later hebben we de zoekresultaten vervangen door andere tekst of door het gekleurde rechthoekige vak over de gezochte tekst te plaatsen.

Ga voor meer informatie over de API naar documentatie. Neem voor vragen contact met ons op via het forum.

Zie ook