Cómo sustituir texto en un PDF
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.
Cómo sustituir texto en un PDF
- Descargar la biblioteca de IronPDF C#
- Crea un PDF nuevo o importa un documento PDF existente
- Use el método
ReplaceTextOnAllPages
para reemplazar texto en todo el documento - Especificar los números de página para el reemplazo de texto específico
- Exportar el documento PDF editado
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");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".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
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");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".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");
Imports IronPdf
Private html As String = "<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>"
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
Private pages() As Integer = { 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");
Imports IronPdf
Imports System.IO
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
' Add custom font
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private pdfFont = pdf.Fonts.Add(fontByte)
' Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24)
pdf.SaveAs("replaceCustomText.pdf")
Resultado
