Cách tìm và thay thế văn bản trong PDF bằng C#

Hướng dẫn nhanh này mô tả cách tìm và thay thế văn bản trong PDF bằng C# với sự trợ giúp của các bước chi tiết và mã có thể chạy được. Nó hỗ trợ định cấu hình môi trường và sau đó cung cấp quy trình từng bước để thay thế văn bản trong PDF bằng C#. Sau khi tệp được cập nhật, bạn có thể lưu lại tệp trên đĩa ở định dạng ban đầu, chẳng hạn như PDF hoặc DOCX, Excel, HTML, v.v., v.v..

Các bước tìm và thay thế văn bản trong PDF bằng C#

  1. Định cấu hình dự án để sử dụng Aspose.PDF for .NET bằng trình quản lý gói NuGet
  2. Tạo hoặc tải tệp PDF chứa văn bản mẫu bằng đối tượng lớp Document
  3. Sử dụng đối tượng lớp TextFragmentAbsorber, đặt văn bản được tìm kiếm
  4. Đối với tất cả các trang trong tệp PDF đầu vào, hãy chấp nhận trình hấp thụ văn bản
  5. Nhận tập hợp các đoạn trong đó văn bản được trích xuất từ tệp PDF đã tải
  6. Phân tích cú pháp qua tất cả các đoạn và đặt văn bản mới
  7. Lưu tệp PDF đã cập nhật

Các bước này mô tả cách tìm kiếm và thay thế văn bản PDF bằng C#. Một tệp mới với một số văn bản mẫu được tạo, tuy nhiên, bạn có thể tải một tệp PDF hiện có có văn bản sẽ được thay thế. Có nhiều tùy chọn có sẵn để tìm kiếm văn bản trong PDF như bỏ qua văn bản bóng tối, giới hạn tìm kiếm ở trang bị ràng buộc, v.v.

Mã để thay thế văn bản trong PDF bằng 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");
}
}
}

Mã này sử dụng TextFragmentAbsorber và TextFragment cho văn bản để tìm và thay thế trong PDF bằng C#. Bạn không chỉ có thể thay thế văn bản mà còn thay đổi họ phông chữ, kích thước, màu nền trước và màu nền trong tệp PDF kết quả. Các tùy chọn cũng có sẵn để thay thế văn bản trong toàn bộ PDF cùng một lúc hoặc thay thế văn bản dựa trên biểu thức chính quy.

Trong chủ đề này, chúng ta đã học cách tìm và thay thế văn bản trong PDF, tuy nhiên, nếu bạn muốn tìm hiểu cách chia tệp PDF theo trang, hãy tham khảo bài viết trên cách chia tệp PDF theo trang trong C#.

 Tiếng Việt