Como localizar e substituir texto em PDF usando C#

Este guia rápido descreve como localizar e substituir texto em PDF usando C# com a ajuda de etapas detalhadas e um código executável. Ele ajuda a configurar o ambiente e fornece um processo passo a passo para substituir o texto em um PDF usando C#. Depois que o arquivo for atualizado, você poderá salvá-lo novamente no disco no formato original, ou seja, PDF ou como DOCX, Excel, HTML etc., para citar alguns.

Etapas para localizar e substituir texto em PDF usando C#

  1. Configure o projeto para usar Aspose.PDF for .NET usando o gerenciador de pacotes NuGet
  2. Crie ou carregue um arquivo PDF contendo texto de exemplo usando o objeto de classe Document
  3. Usando o objeto de classe TextFragmentAbsorber, defina o texto a ser pesquisado
  4. Para todas as páginas no arquivo PDF de entrada, aceite o absorvedor de texto
  5. Obtenha a coleção de fragmentos onde o texto é extraído do arquivo PDF carregado
  6. Analise todos os fragmentos e defina um novo texto
  7. Salve o arquivo PDF atualizado

Estas etapas descrevem como em um PDF pesquisar e substituir texto usando C#. Um novo arquivo com algum texto de exemplo é criado, mas você pode carregar um arquivo PDF existente cujo texto deve ser substituído. Há uma variedade de opções disponíveis para pesquisar texto no PDF, como ignorar texto de sombra, limitar a pesquisa ao limite de página, etc.

Código para substituir texto em um PDF usando C#

using Aspose.Pdf;
using Aspose.Pdf.Text;
namespace FindAndReplaceTextInPdfUsingCSharp
{
class Program
{
static void Main(string[] args) // Main function to create 7z archive in CSharp
{
// Instantiate a license to avoid watermark in output PDF
Aspose.Pdf.License licForPdf= new Aspose.Pdf.License();
licForPdf.SetLicense("Aspose.Pdf.lic");
// Create an empty PDF document
Document newPDFFile = new Document();
// Add an empty page in the newly created PDF
Page page = newPDFFile.Pages.Add();
// Add sample text in the PDF file
for(int iTxtCounter = 0 ; iTxtCounter < 15; iTxtCounter++)
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment($"my_data\nanother data"));
// Save the newly created PDF file containing the test data in it
newPDFFile.Save("InputPDFToReplaceText.pdf");
// Open PDF document to replace text in it
Document inputPDFFile = new Document("InputPDFToReplaceText.pdf");
// Set the text that is to be searched in the TextAbsorber object
TextFragmentAbsorber txtAbsorber = new TextFragmentAbsorber("my_data");
// Apply the text absorber for all the pages in the input PDF file
inputPDFFile.Pages.Accept(txtAbsorber);
// Get the collection of fragments containing extracted text from the PDF
TextFragmentCollection textFragmentCollection = txtAbsorber.TextFragments;
// Parse all the fragments and replace text using particular font, size and foreground/background color
foreach (TextFragment txtFragment in textFragmentCollection)
txtFragment.Text = "MY_DATA";
// Save resulting PDF document.
inputPDFFile.Save("OutputPDFAfterReplacingText.pdf");
System.Console.WriteLine("Done");
}
}
}

Este código usa TextFragmentAbsorber e TextFragment para texto para localizar e substituir em PDF usando C#. Você pode não apenas substituir o texto, mas também alterar sua família de fontes, tamanho, cor de primeiro plano e cor de fundo no arquivo PDF resultante. As opções também estão disponíveis para substituir o texto em todo o PDF de uma só vez ou substituir o texto com base na expressão regular.

Neste tópico, aprendemos a localizar e substituir texto em PDF, no entanto, se você quiser aprender a dividir arquivos PDF por páginas, consulte o artigo em como dividir o arquivo PDF por páginas em C#.

 Português