Trova e sostituisci testo in PDF Java

In vari casi, potrebbe essere necessario trovare e sostituire un particolare pezzo di testo nei documenti PDF. Tuttavia, la ricerca e l’aggiornamento manuale di ogni occorrenza può costarti tempo e fatica aggiuntivi. In questi casi, l’opzione trova e sostituisci ti semplifica la vita. In questo articolo imparerai come trovare e sostituire il testo nei documenti PDF usando Java.

API Java per trovare e sostituire il testo in PDF - Download gratuito

Aspose.PDF for Java è progettato per generare e manipolare file PDF dall’interno delle applicazioni Java. L’API offre un’ampia gamma di funzioni di manipolazione PDF di base e avanzate, tra cui la ricerca e la sostituzione del testo. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

<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>21.1</version>    
</dependency>

Trova e sostituisci testo in PDF utilizzando Java

Per sostituire un particolare testo in PDF, dovresti prima ottenere tutti i frammenti di testo corrispondenti alla stringa di ricerca. Una volta che li hai, sostituisci semplicemente ogni frammento con il testo aggiornato uno per uno.

Di seguito sono riportati i passaggi per trovare e sostituire il testo in un file PDF utilizzando Java.

L’esempio di codice seguente mostra come trovare e sostituire il testo in PDF.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Apri documento
Document pdfDocument = new Document("source.pdf");

// Crea un oggetto TextAbsorber per trovare tutte le istanze della frase di ricerca di input
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Accetta l'assorbitore per tutte le pagine del documento
pdfDocument.getPages().accept(textFragmentAbsorber);

// Ottieni i frammenti di testo estratti nella raccolta
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Passa attraverso i frammenti
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aggiorna testo e altre proprietà
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Salva il file PDF aggiornato
pdfDocument.save("Updated_Text.pdf");

Cerca e sostituisci testo su una pagina particolare in PDF

Invece di trovare e sostituire il testo nell’intero PDF, puoi specificare una singola pagina in cui desideri sostituire le occorrenze del testo. In questo caso, accetterai TextFragmentAbsorber solo per una pagina particolare specificando l’indice della pagina.

Di seguito sono riportati i passaggi per cercare e sostituire il testo su una pagina particolare in PDF in Java.

L’esempio di codice seguente mostra come trovare e sostituire il testo in una determinata pagina in PDF utilizzando Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Apri documento
Document pdfDocument = new Document("source.pdf");

// Crea un oggetto TextAbsorber per trovare tutte le istanze della frase di ricerca di input
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Accetta l'assorbitore per la prima pagina del documento
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// Ottieni i frammenti di testo estratti nella raccolta
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Passa attraverso i frammenti
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aggiorna testo e altre proprietà
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Salva il file PDF aggiornato
pdfDocument.save("Updated_Text.pdf");

Trova e sostituisci testo utilizzando le espressioni regolari in PDF

Puoi anche specificare un’espressione regolare per cercare il testo che corrisponde a un modello particolare come e-mail, SSN, ecc. Di seguito sono riportati i passaggi per definire e utilizzare un’espressione regolare per cercare e sostituire il testo in PDF utilizzando Java.

L’esempio di codice seguente mostra come trovare e sostituire il testo in PDF usando un’espressione regolare.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Apri documento
Document pdfDocument = new Document("input.pdf");

// Crea un oggetto TextAbsorber per trovare tutte le istanze della frase di ricerca di input
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

// Imposta l'opzione di ricerca del testo per abilitare l'uso delle espressioni regolari
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// Accetta l'assorbitore per tutte le pagine del documento
pdfDocument.getPages().accept(textFragmentAbsorber);

// Ottieni i frammenti di testo estratti nella raccolta
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Passa attraverso i frammenti
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Aggiorna testo e altre proprietà
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// Salva il file PDF aggiornato
pdfDocument.save("Updated_Text.pdf");

Ottieni una licenza API gratuita

Puoi provare l’API senza limitazioni di valutazione gratuitamente. Ottieni una licenza temporanea gratuita ora.

Conclusione

In questo articolo hai imparato come trovare e sostituire il testo in PDF usando Java. Inoltre, hai visto come utilizzare un’espressione regolare per cercare e sostituire il testo seguendo uno schema particolare. Puoi esplorare di più sull’API Java PDF utilizzando la documentazione.

Guarda anche