Potřebujete vysokorychlostní řešení pro vyhledání a nahrazení textu v hromadě souborů PDF pomocí C#? Není třeba se obávat, protože tento článek poskytuje výkonný mechanismus pro vyhledání a nahrazení textu v souborech PDF v několika jednoduchých krocích. Pojďme zjistit, jak to funguje.

C# najít a nahradit text v PDF

Možnost najít a nahradit umožňuje nahradit konkrétní část textu v dokumentu najednou. Tímto způsobem nemusíte ručně vyhledávat a aktualizovat každý výskyt textu v celém dokumentu. Pojďme se tedy podívat, jak najít a nahradit text v PDF v C#. Můžete také použít stejné pokyny a poskytnuté ukázky kódu k nahrazení textu v dávce souborů PDF.

Knihovna C# pro vyhledání a nahrazení textu v PDF

K vyhledání a nahrazení textu v souborech PDF použijeme Aspose.PDF for .NET. Je to knihovna tříd C#, která poskytuje základní i pokročilé funkce pro manipulaci s PDF pro aplikace .NET. Knihovna vám také umožňuje najít a nahradit text v souborech PDF různými způsoby s vysokou přesností a rychlostí.

Můžete si stáhnout knihovnu DLL nebo ji nainstalovat pomocí NuGet.

PM> Install-Package Aspose.PDF

Najít a nahradit text v PDF pomocí C#

Následují kroky k vyhledání a nahrazení textu v dokumentu PDF.

C# kód pro nahrazení textu v PDF

Následující ukázka kódu ukazuje, jak najít a nahradit text v PDF pomocí C#.

// Otevřete dokument
Document pdfDocument = new Document("Document.pdf");

// Vytvořte objekt TextAbsorber, abyste našli všechny výskyty vstupní hledané fráze
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Přijměte absorbér pro všechny stránky
pdfDocument.Pages.Accept(textFragmentAbsorber);

// Získejte extrahované fragmenty textu
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Projděte fragmenty
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualizujte text a další vlastnosti
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
            
// Uložte výsledný dokument PDF.
pdfDocument.Save("updated-document.pdf");

C# Nahradit text na konkrétní stránce PDF

Následují kroky k vyhledání a nahrazení textu na konkrétní stránce v dokumentu PDF.

  • Pomocí třídy Document načtěte dokument PDF pomocí jeho cesty.
  • Vytvořte instanci třídy TextFragmentAbsorber a poskytněte hledanou frázi jejímu konstruktoru.
  • Přijměte absorbér textu pro požadovanou stránku pomocí [Document.Pages1.Accept(TextFragmentAbsorber)]12.
  • Projděte nalezenou kolekci TextFragmentAbsorber.TextFragments a nahraďte text v každém fragmentu.
  • Uložte aktualizovaný dokument PDF pomocí metody Document.Save(String).

Následující ukázka kódu ukazuje, jak najít a nahradit text na konkrétní stránce PDF pomocí C#.

// Otevřete dokument
Document pdfDocument = new Document("Document.pdf");

// Vytvořte objekt TextAbsorber, abyste našli všechny výskyty vstupní hledané fráze
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Přijměte absorbér podle potřeby
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Získejte extrahované fragmenty textu
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Projděte fragmenty
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualizujte text a další vlastnosti
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// Uložte výsledný dokument PDF.
pdfDocument.Save("updated-document.pdf");

Najít a nahradit text v oblasti stránky PDF

Můžete také najít a nahradit text v určité oblasti stránky v dokumentu PDF. Následující kroky ukazují, jak definovat konkrétní oblast a poté v ní nahradit text.

Následující ukázka kódu ukazuje, jak najít a nahradit text v konkrétní oblasti stránky v PDF pomocí C#.

// načíst soubor PDF
Document pdf = new Document("Document.pdf");

// vytvořit instanci objektu TextFragment Absorber
TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();

// hledat text v rámci stránky
TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;

// určete oblast stránky pro možnosti TextSearch
TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);

// vyhledat text z první stránky souboru PDF
pdf.Pages[1].Accept(TextFragmentAbsorberAddress);

// iterovat přes jednotlivé TextFragment
foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
{
    // aktualizovat text na prázdné znaky
    tf.Text = "";
}

// po nahrazení textu uložit aktualizovaný soubor PDF
pdf.Save("output.pdf");

C# Nahraďte text v PDF pomocí Regex

K vyhledání a nahrazení textových výskytů odpovídajících určitému vzoru můžete také použít regulární výrazy. K tomu stačí zadat regulární výraz místo prosté vyhledávací fráze a použít TextSearchOptions. Níže jsou uvedeny kroky, jak tak učinit.

Následující ukázka kódu ukazuje, jak najít a nahradit text v PDF pomocí regulárních výrazů v C#.

// Otevřete dokument
Document pdfDocument = new Document("Document.pdf");

// Vytvořte objekt TextAbsorber a najděte všechny fráze odpovídající regulárnímu výrazu
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000

// Nastavte možnost textového vyhledávání pro určení použití regulárního výrazu
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;

// Přijměte absorbér pro jednu stránku
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Získejte extrahované fragmenty textu
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Projděte fragmenty
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualizujte text a další vlastnosti
    textFragment.Text = "New Phrase";
    // Nastavit na instanci objektu.
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// Uložit PDF
pdfDocument.Save("output.pdf");

Bezplatná knihovna C# pro nahrazení textu v PDF

Můžete získat bezplatnou dočasnou licenci a nahrazovat text v souborech PDF bez jakýchkoli omezení.

Prozkoumejte knihovnu C# PDF

Pokročilejší funkce knihovny C# PDF můžete prozkoumat pomocí dokumentace.

Závěr

Automatizace PDF je dnes široce používána pro manipulaci s dokumenty PDF z webových nebo desktopových aplikací. Tento článek se zabýval užitečnou funkcí automatizace PDF při hledání a nahrazování textu v PDF v C#. Podrobný průvodce a ukázky kódu ukazují, jak najít a nahradit text v celém PDF, konkrétní stránce v PDF nebo oblasti stránky.

Viz také