Behöver du en höghastighetslösning för att hitta och ersätta text i ett gäng PDF-filer med C#? Du behöver inte oroa dig eftersom den här artikeln ger en kraftfull mekanism för att hitta och ersätta text i PDF-filer med några enkla steg. Låt oss ta reda på hur det fungerar.

C# hitta och ersätt text i PDF

Alternativet Sök och ersätt gör det möjligt att ersätta en viss textbit i ett dokument på en gång. På så sätt behöver du inte hitta och uppdatera varje förekomst av texten i hela dokumentet manuellt. Så låt oss se hur man hittar och ersätter text i en PDF i C#. Du kan också använda samma riktlinjer och de medföljande kodexemplen för att ersätta text i en sats med PDF-filer.

C#-bibliotek för att hitta och ersätta text i PDF

För att hitta och ersätta text i PDF-filer kommer vi att använda Aspose.PDF för .NET. Det är ett C#-klassbibliotek som tillhandahåller grundläggande såväl som avancerade PDF-manipuleringsfunktioner för .NET-applikationer. Biblioteket låter dig också hitta och ersätta text i PDF-filer på olika sätt med hög noggrannhet och hastighet.

Du kan antingen ladda ner bibliotekets DLL eller installera den med NuGet.

PM> Install-Package Aspose.PDF

Hitta och ersätt text i PDF med C#

Följande är steg för att hitta och ersätta text i ett PDF-dokument.

C#-kod för att ersätta text i en PDF

Följande kodexempel visar hur du hittar och ersätter text i PDF med C#.

// Öppna dokumentet
Document pdfDocument = new Document("Document.pdf");

// Skapa TextAbsorber-objekt för att hitta alla instanser av den inmatade sökfrasen
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Acceptera absorbenten för alla sidor
pdfDocument.Pages.Accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Gå igenom fragmenten
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Uppdatera text och andra egenskaper
    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);
}
            
// Spara det resulterande PDF-dokumentet.
pdfDocument.Save("updated-document.pdf");

C# Ersätt text på en viss PDF-sida

Följande är steg för att hitta och ersätta text på en viss sida i ett PDF-dokument.

  • Använd klassen Document för att ladda PDF-dokumentet med dess sökväg.
  • Skapa en instans av klassen TextFragmentAbsorber och ge sökfrasen till dess konstruktor.
  • Acceptera textabsorberaren för den önskade sidan med [Document.Pages1.Accept(TextFragmentAbsorber)]12.
  • Gå igenom den hittade TextFragmentAbsorber.TextFragments-samlingen och ersätt text i varje fragment.
  • Spara uppdaterat PDF-dokument med metoden Document.Save(String).

Följande kodexempel visar hur du hittar och ersätter text på en viss sida i PDF-filen med C#.

// Öppna dokumentet
Document pdfDocument = new Document("Document.pdf");

// Skapa TextAbsorber-objekt för att hitta alla instanser av den inmatade sökfrasen
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Acceptera absorbatorn för önskat
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Gå igenom fragmenten
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Uppdatera text och andra egenskaper
    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);
}

// Spara det resulterande PDF-dokumentet.
pdfDocument.Save("updated-document.pdf");

Hitta och ersätt text i PDF-sidaregion

Du kan också hitta och ersätta text i en viss del av sidan i ett PDF-dokument. Följande steg visar hur man definierar en viss region och sedan ersätter text inom den.

Följande kodexempel visar hur du hittar och ersätter text i en viss sidregion i en PDF-fil med C#.

// ladda PDF-fil
Document pdf = new Document("Document.pdf");

// instansiera TextFragment Absorber-objekt
TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();

// söktext inom sidbunden
TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;

// ange sidregionen för TextSearch Options
TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);

// söktext från första sidan i PDF-filen
pdf.Pages[1].Accept(TextFragmentAbsorberAddress);

// iterera genom individuella TextFragment
foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
{
    // uppdatera text till tomma tecken
    tf.Text = "";
}

// spara uppdaterad PDF-fil efter textbyte
pdf.Save("output.pdf");

C# Ersätt text i PDF med Regex

Du kan också använda reguljära uttryck för att hitta och ersätta textförekomster som matchar ett visst mönster. För detta behöver du bara ange ett reguljärt uttryck istället för den vanliga sökfrasen och använda TextSearchOptions. Följande är stegen för att göra det.

Följande kodexempel visar hur du hittar och ersätter text i en PDF med reguljära uttryck i C#.

// Öppna dokumentet
Document pdfDocument = new Document("Document.pdf");

// Skapa TextAbsorber-objekt för att hitta alla fraser som matchar det reguljära uttrycket
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000

// Ställ in textsökningsalternativ för att ange användning av reguljära uttryck
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;

// Acceptera absorbenten för en enda sida
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Gå igenom fragmenten
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Uppdatera text och andra egenskaper
    textFragment.Text = "New Phrase";
    // Ställ in på en instans av ett objekt.
    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);
}

// Spara PDF
pdfDocument.Save("output.pdf");

Gratis C#-bibliotek för att ersätta text i PDF

Du kan skaffa en gratis tillfällig licens och ersätta text i PDF-filer utan några begränsningar.

Utforska C# PDF-biblioteket

Du kan utforska mer avancerade funktioner i C# PDF-biblioteket med hjälp av dokumentationen.

Slutsats

PDF-automatisering är allmänt antagen idag för att manipulera PDF-dokument från webben eller skrivbordsapplikationer. Den här artikeln täckte en användbar PDF-automatiseringsfunktion för att hitta och ersätta text i PDF i C#. Steg-för-steg-guiden och kodexempel har visat hur man hittar och ersätter text i en hel PDF, en viss sida i PDF eller en sidregion.

Se även