Cómo sustituir texto en un PDF

Chaknith Bin
Chaknith Bin
8 de octubre, 2023
Actualizado 11 de febrero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

La función de reemplazar texto en un PDF es extremadamente útil para realizar ediciones rápidas y precisas del contenido, como corregir errores tipográficos, actualizar información o personalizar plantillas para distintos fines. Esto puede ahorrar una cantidad significativa de tiempo y esfuerzo, especialmente cuando se trata de documentos que requieren revisiones o personalizaciones frecuentes.

IronPDF ofrece una función para sustituir texto en los PDF. Esta función convierte a IronPDF en una herramienta inestimable para desarrolladores y profesionales que necesitan automatizar o personalizar contenidos PDF.

Comience con IronPDF

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

Primer Paso:
green arrow pointer



Ejemplo de sustitución de texto

La acción 'reemplazar texto' puede aplicarse a cualquier objeto PdfDocument, ya sea recién renderizado o importado. Puede utilizar el método ReplaceTextOnAllPages proporcionando tanto el texto antiguo como el nuevo para reemplazo. Si el método no puede localizar el texto antiguo especificado, lanzará una excepción con el mensaje 'Error al reemplazar el texto: no se pudo encontrar el texto '.NET6''.

En el siguiente ejemplo de código, demostramos cómo reemplazar texto en un documento PDF recién renderizado que contiene el texto '.NET6'.

Código

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-all-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

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

// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);

pdf.SaveAs("replaceText.pdf");

Reemplazar texto con salto de línea

La acción de reemplazar texto admite caracteres de nueva línea, lo que le permite reemplazar texto antiguo con una nueva cadena que incluye nuevas líneas integradas para mejorar el formato y la claridad visual.

Para lograr esto, adiciona caracteres de nueva línea (\n) a la nueva cadena. Usando el ejemplo anterior, reemplazamos newText con .NET7\nnewline en lugar de solo .NET7.


Reemplazar texto en páginas especificadas

Para una mayor precisión en el reemplazo de texto dentro de un documento, IronPDF también ofrece opciones para reemplazar texto en una o varias páginas, según sus necesidades. Puede usar el método ReplaceTextOnPage para reemplazar texto en una página específica y el método ReplaceTextOnPages para reemplazar texto en varias páginas especificadas del documento.

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

Reemplazar texto en una sola página

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-single-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

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

// Replace text on page 1
pdf.ReplaceTextOnPage(0, oldText, newText);

pdf.SaveAs("replaceTextOnSinglePage.pdf");

Reemplazar texto en varias páginas

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-multiple-pages.cs
using IronPdf;

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>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

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

int[] pages = { 0, 2 };

// Replace text on page 1 & 3
pdf.ReplaceTextOnPages(pages, oldText, newText);

pdf.SaveAs("replaceTextOnMultiplePages.pdf");

Salida PDF


Usar fuente personalizada

El mismo método ReplaceTextOnPage también te permite usar una fuente y tamaño personalizados. Primero, la fuente debe añadirse al PDF, tras lo cual puedes pasar el nombre de la fuente como un parámetro al método. En el siguiente ejemplo, utilizaré la Fuente Pixelify Sans.

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-custom-font.cs
using IronPdf;
using System.IO;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>");

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

// Add custom font
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var pdfFont = pdf.Fonts.Add(fontByte);

// Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24);

pdf.SaveAs("replaceCustomText.pdf");

Resultado

Usar fuente personalizada
Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.