Как да намерите и замените текст в PDF с помощта на C#

Това кратко ръководство описва как да намерите и замените текст в PDF с помощта на C# с помощта на подробни стъпки и код, който може да се изпълнява. Той помага за конфигуриране на средата и след това предоставя стъпка по стъпка процес за замяна на текст в PDF с помощта на C#. След като файлът бъде актуализиран, можете да го запишете обратно на диска в оригиналния формат, т.е. PDF или като DOCX, Excel, HTML и т.н., за да назовем само няколко.

Стъпки за намиране и замяна на текст в PDF с помощта на C#

  1. Конфигурирайте проекта да използва Aspose.PDF for .NET с помощта на мениджъра на пакети NuGet
  2. Създайте или заредете PDF файл, съдържащ примерен текст, като използвате обекта на клас Document
  3. Използвайки обекта от клас TextFragmentAbsorber, задайте текста, в който да се търси
  4. За всички страници във входния PDF файл приемете абсорбера на текст
  5. Вземете колекцията от фрагменти, където текстът е извлечен от заредения PDF файл
  6. Анализирайте всички фрагменти и задайте нов текст
  7. Запазете актуализирания PDF файл

Тези стъпки описват как в PDF търсите и заменяте текст с помощта на C#. Създава се нов файл с примерен текст, но можете да заредите съществуващ PDF файл, чийто текст трябва да бъде заменен. Налични са различни опции за търсене на текст в PDF, като игнориране на текст в сянка, ограничаване на търсенето до обвързани страници и т.н.

Код за замяна на текст в PDF с помощта на 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");
}
}
}

Този код използва TextFragmentAbsorber и TextFragment за текст за намиране и заместване в PDF с помощта на C#. Можете не само да замените текста, но и да промените неговото семейство шрифтове, размера, цвета на предния план и цвета на фона в получения PDF файл. Налични са и опции за замяна на текст в целия PDF наведнъж или за замяна на текст въз основа на регулярния израз.

В тази тема се научихме да намираме и заместваме текст в PDF, но ако искате да се научите да разделяте PDF файлове по страници, вижте статията на как да разделя PDF файл по страници в C#.

 Български