Hitta och ersätt text i PDF Java

I olika fall kan du behöva hitta och ersätta en viss textbit i PDF-dokumenten. Att söka och uppdatera varje händelse manuellt kan dock kosta dig extra tid och ansträngning. I sådana fall gör alternativet hitta och ersätt ditt liv enklare. I den här artikeln kommer du att lära dig hur du hittar och ersätter text i PDF-dokument med Java.

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

För att hitta och ersätta text i PDF kommer vi att använda Aspose.PDF för Java. Den är utformad för att generera och manipulera PDF-filer från Java-applikationer. Biblioteket tillhandahåller ett brett utbud av grundläggande såväl som avancerade PDF-manipuleringsfunktioner, inklusive att hitta och ersätta text.

Du kan antingen ladda ner biblioteket eller installera det med följande Maven-konfigurationer.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.12</version>    
</dependency>

Hitta och ersätt text i PDF med Java

För att ersätta en viss text i PDF får du först alla textfragment som matchar söksträngen. När du har dem, ersätt helt enkelt varje fragment med uppdaterad text en efter en.

Följande är stegen för att hitta och ersätta text i en PDF-fil med Java.

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

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Öppna dokumentet
Document pdfDocument = new Document("source.pdf");

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

// Acceptera absorbenten för alla sidor i dokumentet
pdfDocument.getPages().accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten i samlingen
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Gå igenom fragmenten
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Uppdatera text och andra egenskaper
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Spara den uppdaterade PDF-filen
pdfDocument.save("Updated_Text.pdf");

Sök och ersätt text på en viss sida i PDF

Istället för att hitta och ersätta text i hela PDF-filen kan du ange en enda sida där du vill ersätta textförekomsterna. I det här fallet accepterar du TextFragmentAbsorber för en viss sida endast genom att ange sidindex.

Följande är stegen för att söka och ersätta text på en viss sida i PDF i Java.

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

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Öppna dokumentet
Document pdfDocument = new Document("source.pdf");

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

// Acceptera absorbenten för första sidan av dokumentet
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten i samlingen
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Gå igenom fragmenten
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Uppdatera text och andra egenskaper
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Spara den uppdaterade PDF-filen
pdfDocument.save("Updated_Text.pdf");

Java Hitta och ersätt text i PDF med Regex

Du kan också ange ett reguljärt uttryck för att söka i texten som matchar ett visst mönster såsom e-postmeddelanden, SSN:er etc. Följande är stegen för att definiera och använda ett reguljärt uttryck för att söka och ersätta text i PDF med Java.

Följande kodexempel visar hur du hittar och ersätter text i PDF med hjälp av reguljära uttryck.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Öppna dokumentet
Document pdfDocument = new Document("input.pdf");

// Skapa TextAbsorber-objekt för att hitta alla instanser av den inmatade sökfrasen
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

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

// Acceptera absorbenten för alla sidor i dokumentet
pdfDocument.getPages().accept(textFragmentAbsorber);

// Hämta de extraherade textfragmenten i samlingen
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Gå igenom fragmenten
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Uppdatera text och andra egenskaper
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// Spara den uppdaterade PDF-filen
pdfDocument.save("Updated_Text.pdf");

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

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

Utforska Java PDF-bibliotek

Du kan utforska mer om Java PDF-biblioteket med hjälp av dokumentation.

Slutsats

I den här artikeln har du lärt dig hur du hittar och ersätter text i PDF med Java. Dessutom har du sett hur man använder ett reguljärt uttryck för att söka och ersätta text efter ett visst mönster.

Se även