В этом кратком руководстве описывается, как найти и заменить текст в PDF с помощью C#, с подробными инструкциями и исполняемым кодом. Он помогает настроить среду, а затем предоставляет пошаговый процесс замены текста в PDF-файле с помощью C#. После обновления файла вы можете сохранить его обратно на диск в исходном формате, т.е. PDF или как DOCX, Excel, HTML и т. д. и т. д.
Действия по поиску и замене текста в PDF с помощью С#
- Настройте проект для использования Aspose.PDF for .NET с помощью диспетчера пакетов NuGet.
- Создайте или загрузите файл PDF, содержащий образец текста, с помощью объекта класса Document.
- Используя объект класса TextFragmentAbsorber, задайте текст для поиска
- Для всех страниц входного PDF-файла примите поглотитель текста.
- Получить набор фрагментов, где текст извлечен из загруженного PDF-файла
- Проанализируйте все фрагменты и установите новый текст
- Сохраните обновленный файл PDF
Эти шаги описывают, как в PDF искать и заменять текст с помощью C#. Создается новый файл с образцом текста, однако вы можете загрузить существующий файл PDF, текст которого необходимо заменить. Существует множество вариантов поиска текста в PDF, таких как игнорирование теневого текста, ограничение поиска привязкой к странице и т. д.
Код для замены текста в PDF с помощью С#
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 по страницам в С#.