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