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.
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
- Najít a nahradit text v PDF pomocí C#
- Nahradit text na konkrétní stránce v PDF
- Nahradit text v oblasti stránky PDF
- Najít a nahradit text v PDF pomocí Regex
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.
- 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 všechny stránky PDF pomocí Document.Pages.Accept(TextFragmentAbsorber).
- Získejte extrahované fragmenty textu do objektu TextFragmentCollection.
- Projděte nalezený TextFragmentCollection a nahraďte text v každém fragmentu.
- Uložte aktualizovaný dokument PDF pomocí metody Document.Save(String).
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.
- 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.Pages[0].Accept(TextFragmentAbsorber).
- Definujte oblast stránky pomocí třídy Rectangle.
- Projděte 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 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.
- 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.
- Vytvořte instanci třídy TextSearchOptions a předejte jejímu konstruktoru true, abyste povolili vyhledávání založené na regulárních výrazech.
- Přiřaďte objekt TextSearchOptions vlastnosti TextFragmentAbsorber.TextSearchOptions.
- Přijměte absorbér textu pro požadovanou stránku pomocí Document.Pages[0].Accept(TextFragmentAbsorber).
- Definujte oblast stránky pomocí třídy Rectangle.
- Projděte 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 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.