У цьому короткому посібнику описано, як знайти та замінити текст у 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#.