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#
- Configure o projeto para usar Aspose.PDF for .NET usando o gerenciador de pacotes NuGet
- Crie ou carregue um arquivo PDF contendo texto de exemplo usando o objeto de classe Document
- Usando o objeto de classe TextFragmentAbsorber, defina o texto a ser pesquisado
- Para todas as páginas no arquivo PDF de entrada, aceite o absorvedor de texto
- Obtenha a coleção de fragmentos onde o texto é extraído do arquivo PDF carregado
- Analise todos os fragmentos e defina um novo texto
- 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#.