Thêm văn bản vào PDF trong C#

Định dạng PDF được sử dụng rộng rãi để tạo nhiều loại tài liệu khác nhau như hóa đơn, báo cáo tài chính, sơ yếu lý lịch, v.v. Trong thế giới tự động hóa, tài liệu PDF được tạo và xử lý từ bên trong ứng dụng web hoặc máy tính để bàn. Do đó, trong một số trường hợp nhất định, bạn có thể cần thêm văn bản vào các tệp PDF hiện có theo chương trình. Theo đó, bài viết này hướng dẫn cách thêm văn bản vào tài liệu PDF bằng C#.

API C# để thêm văn bản vào PDF

Để thêm động văn bản vào tệp PDF, chúng tôi sẽ sử dụng Aspose.PDF for .NET. Đây là một API giàu tính năng cho phép bạn tạo và thao tác các tệp PDF từ bên trong các ứng dụng .NET của mình. Bạn có thể tải xuống API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.PDF

Thêm văn bản vào PDF bằng C#

Sau đây là các bước để thêm văn bản vào tệp PDF bằng C#.

Mẫu mã sau đây cho thấy cách thêm văn bản vào tệp PDF.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Mở tài liệu
Document pdfDocument = new Document("input.pdf");

// Nhận trang cụ thể
Page pdfPage = (Page)pdfDocument.Pages[1];

// Tạo đoạn văn bản
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Đặt thuộc tính văn bản
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// Tạo đối tượng TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Nối đoạn văn bản vào trang PDF
textBuilder.AppendText(textFragment);

// Lưu tài liệu PDF kết quả.
pdfDocument.Save("output.pdf");

Thêm văn bản vào PDF bằng TextParagraph

Sau đây là các bước để thêm văn bản vào tệp PDF bằng TextParagraph.

Mẫu mã sau đây cho thấy cách thêm văn bản vào PDF bằng lớp TextParagraph.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Tải tệp PDF đầu vào
Document doc = new Document("input.pdf");

// Tạo đối tượng trình tạo văn bản cho trang đầu tiên của tài liệu
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Tạo đoạn văn bản với chuỗi mẫu
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Tải phông chữ TrueType vào đối tượng luồng
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Đặt tên phông chữ cho chuỗi văn bản
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Chỉ định vị trí cho Phân đoạn Văn bản
        textFragment.Position = new Position(10, 10);
        
        // Thêm văn bản vào TextBuilder để nó có thể được đặt trên tệp PDF
        textBuilder.AppendText(textFragment);
    }

    // Lưu tài liệu PDF kết quả
    doc.Save("output.pdf");
}

Thêm văn bản minh bạch trong PDF trong C#

Aspose.PDF for .NET cũng cho phép thêm văn bản trong suốt vào tài liệu PDF, như được trình bày trong các bước sau.

Mẫu mã sau đây cho thấy cách thêm văn bản trong suốt vào tệp PDF.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Tạo phiên bản tài liệu
Document doc = new Document("input.pdf");

// Tạo bộ sưu tập từ trang đến các trang của tệp PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// Tạo đối tượng đồ thị
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Tạo phiên bản hình chữ nhật với các kích thước nhất định
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Tạo đối tượng màu từ kênh màu Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Thêm trực tuyến vào bộ sưu tập hình dạng của đối tượng Đồ thị
canvas.Shapes.Add(rect);

// Thêm đối tượng đồ thị vào bộ sưu tập đoạn văn của đối tượng trang
page.Paragraphs.Add(canvas);

// Đặt giá trị để không thay đổi vị trí cho đối tượng đồ thị
canvas.IsChangePosition = false;

// Tạo phiên bản TextFragment với giá trị mẫu
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// Tạo đối tượng màu từ kênh Alpha
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Đặt thông tin màu cho phiên bản văn bản
text.TextState.ForegroundColor = color;

// Thêm văn bản vào bộ sưu tập đoạn văn của phiên bản trang
page.Paragraphs.Add(text);

// Lưu tệp PDF đã cập nhật
doc.Save("output.pdf");

Nhận giấy phép miễn phí

Bạn có thể sử dụng Aspose.PDF for .NET mà không có giới hạn đánh giá bằng cách sử dụng giấy phép tạm thời.

Sự kết luận

Trong bài viết này, bạn đã học cách thêm văn bản vào các tệp PDF hiện có bằng C#. Ngoài ra, bạn đã thấy cách thêm động văn bản trong suốt vào PDF. Bạn có thể khám phá thêm về C# PDF API bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể đăng các câu hỏi của mình trên diễn đàn của chúng tôi.

Xem thêm