Cómo sustituir texto en un PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

por Curtis Chau

Reemplazar texto dentro de un PDF es increíblemente conveniente para editar contenido de manera rápida y precisa. Es perfecto para corregir errores tipográficos, actualizar información o adaptar plantillas a necesidades específicas. Esta función ahorra mucho tiempo, especialmente para documentos que necesitan actualizaciones frecuentes o toques personalizados.

IronPDF ofrece una función de reemplazo de texto para PDFs, convirtiéndolo en una herramienta indispensable para desarrolladores y profesionales que buscan automatizar o personalizar el contenido de PDF.

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

Ejemplo de sustitución de texto

Para reemplazar texto, simplemente podemos llamar al método replaceText. El método toma tres parámetros: el primero es PageSelection, que especifica la página; el segundo es una cadena que representa el texto antiguo; y el tercero es el texto nuevo. Para este ejemplo a continuación, llamaremos al método PageSelection.firstPage, que recupera la primera página del PDF. Reemplazaremos todas las instancias de '.NET6' con '.NET7'.

Encontrarás una excepción de tiempo de ejecución si el método no puede encontrar el texto antiguo especificado.

texto alternativo

Código

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");

        String oldText = ".NET6";
        String newText = ".NET7";

        // Replace text
        pdf.replaceText(PageSelection.firstPage(), oldText, newText);
        pdf.saveAs("replaceText.pdf");
    }
}
JAVA

Consejos
Todos los índices de páginas siguen una indexación basada en cero.

Salida PDF


Reemplazar texto en varias páginas

Utilizamos el mismo método replaceText para reemplazar texto en varias páginas. Pero esta vez, llamamos al método pageRange de la clase PageSelection e introducimos un array de enteros para especificar que queremos reemplazar el texto solo en la primera y tercera página.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        String html = "<p> .NET6 </p>" +
                    "<p> This is 1st Page </p>" +
                    "<div style = 'page-break-after: always;'></div>" +
                    "<p> This is 2nd Page</p>" +
                    "<div style = 'page-break-after: always;'></div>" +
                    "<p> .NET6 </p>" +
                    "<p> This is 3rd Page</p>";

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        String oldText = ".NET6";
        String newText = ".NET7";
        // Replace text on page 1 & 3
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace text
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
JAVA

Salida PDF


Explorar la clase PageSelection

Como en el ejemplo anterior, el uso del método Pageselection permite a los desarrolladores especificar en qué páginas reemplazar el texto. A continuación se encuentra una lista completa de los parámetros.

Atención
Dado que la clase PageSelection es estática, no necesitas crear una nueva instancia para usar sus métodos.

El índice de la página comienza en 0.

  • allPages: Un método que selecciona todas las páginas del PDF.
  • firstPage: Un método que selecciona la primera página del PDF.
  • lastPage: Un método que selecciona la última página del PDF.
  • pageRange(int startIndex, int endIndex): Un método que toma el startIndex y el endIndex, este selecciona el número de páginas. Por ejemplo, al establecer startIndex = 0 y endIndex = 2** se seleccionan las páginas 1 a 3.
  • pageRange(ListapageLista)**: Un método que especifica qué páginas seleccionar; del ejemplo anterior, si la lista solo contiene el Entero 0 y 2, el método solo selecciona la primera y tercera página y omite la segunda página.
  • singlePage​(índiceDePágina entero): Un método que especifica una sola página del PDF.