V jednom z článků jsme již diskutovali jak redigovat slova v dokumentech jako .NET vývojář. Tato strategie se používá mnoha způsoby k vymazání citlivého obsahu, skrytí nebo odstranění soukromých informací, jako jsou e-mailové adresy nebo identifikační čísla. Tento článek popisuje, jak provádět vyhledávání slov v dokumentech Word DOC/DOCX v Java. Samostatně probereme, jak najít a nahradit text, slova nebo fráze různými technikami pomocí Java API pro redigování.

Níže budou popsána následující témata:

Java API pro vyhledávání slov a nahrazování textu

GroupDocs poskytuje Java redaction API, které umožňuje vyhledávat a nahrazovat obsah souborů podporovaných MS Word a dalších dokumentů různých jiných formátů souborů. Kromě redakce textu a rasterizace podporuje API funkce metadat, anotací, tabulek a také funkce redakce obrázků. podporované formáty souborů dokumentů Word, tabulek, prezentací, obrázků a dokumentů PDF jsou k dispozici v dokumentaci.

Stáhnout nebo Konfigurovat

Soubor JAR si můžete stáhnout z části ke stažení nebo si můžete stáhnout nejnovější úložiště a konfigurace závislostí pro pom.xml vašich Java aplikací založených na maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

Pro proces redakce není vyžadován MS Word nebo jakýkoli jiný software třetích stran. Začněme nyní různými přístupy, jak se vypořádat s hledáním a nahrazováním textu. Následuje snímek obrazovky dokumentu aplikace Word, který je použit v níže uvedených příkladech. Stejné metody můžete použít i pro jiné formáty dokumentů s velmi malou nebo žádnou změnou ve zdrojovém kódu.

Dokument pro úpravu textu

Najít a nahradit slova nebo fráze pomocí Java

Následující kroky vysvětlují, jak najít a poté nahradit výskyty slova/fráze v dokumentu aplikace Word v aplikaci Java.

  • Načtěte soubor DOC/DOCX pomocí třídy Redactor.
  • Najděte přesnou frázi nebo slovo pomocí tříd ExactPhraseRedaction a ReplacementOptions.
  • Chcete-li použít redigování, použijte metodu aplikace Redactor.
  • Chcete-li soubor po provedení změn uložit na jiné místo, použijte výstupní proud.
  • Uložte změny redigování pomocí metody uložení.

Následující kód najde a nahradí slovo „John Doe“ ve výše uvedeném dokumentu aplikace Word pomocí jazyka Java. Nahrazuje všechny výskyty „John Doe“ slovem „[censored]“.

// Najděte přesnou frázi a nahraďte ji jiným textem pomocí Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// Pokud chcete redigovaný soubor uložit na jiné místo s jiným názvem.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

Výstup kódu je následující.

Upravte pomocí přesné fráze

Hledání a nahrazování textu v Java s rozlišením malých a velkých písmen

Zdá se, že jste opatrní ohledně přesné velikosti písmen slova a chcete nahradit pouze slovo, které odpovídá pouze vašemu vyhledávání s rozlišováním velkých a malých písmen. Následující kód nahrazuje existenci přesné shody velkých a malých písmen slova „John Doe“ v Java.

// Najděte přesnou frázi (rozlišují se malá a velká písmena) a nahraďte ji jiným textem pomocí Javy
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

Výstup kódu je následující.

Redakce rozlišující malá a velká písmena

Nahraďte text pomocí regulárních výrazů (RegEx) v Java

Pokud nechcete změnit přesné slovo, ale nějaký vzor, který ve vašem dokumentu existuje, můžete použít regulární výrazy. Následující kroky vám umožní najít a nahradit jakýkoli vzor textu pomocí regulárních výrazů (RegEx) ve vašich aplikacích Java.

  • Načtěte dokument pomocí třídy Redactor.
  • Vytvořte RegEx pomocí RegexRedaction.
  • Zadejte text pomocí ReplacementOptions k nahrazení shody regulárních výrazů.
  • Použijte metodu použít nahradit všechny shody regulárních výrazů.
  • K získání redigovaného dokumentu použijte metodu uložení.

Následující kód ukazuje, jak provést vyhledávání slov v souboru Word pomocí RegEx a nahradit jej jiným textem pomocí Java.

// Najděte text pomocí regulárního výrazu a nahraďte jej jiným textem pomocí Javy
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

Následuje výstup výše uvedeného kódu:

Redakce RegEx

Nahraďte text barevným rámečkem v Java

Pokud nechcete svůj obsah nahradit a chcete jej pouze skrýt, rozhraní API vám umožňuje pokrýt shodu textu nakreslením rámečku. Následující kód Java skryje text s černým obdélníkovým rámečkem.

// Najděte text a skryjte jej nakreslením obdélníku pomocí Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

Výstup výše uvedeného kódu je následující.

Skrýt text pomocí pole

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Závěr

Suma sumárum, naučili jste se, jak provádět vyhledávání slov, abyste našli text v dokumentech aplikace Word pomocí hledání přesných textových frází, hledání citlivých na velká a malá písmena, hledání pomocí regulárních výrazů a v neposlední řadě skrytí textu místo jeho nahrazení. Tyto různé techniky můžete použít k nahrazení nálezů různými způsoby v dokumentech MS Word.

Další podrobnosti a informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také