Đị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 văn bản vào PDF bằng C#
- Thêm văn bản vào PDF bằng TextParagraph
- Chèn văn bản trong suốt trong PDF
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#.
- Tải tệp PDF bằng lớp Tài liệu.
- Lấy trang PDF mong muốn thành đối tượng Trang.
- Tạo một đối tượng TextFragment và đặt văn bản, vị trí, phông chữ, màu nền của nó, v.v.
- Tạo một đối tượng TextBuilder và khởi tạo nó bằng đối tượng Page.
- Sử dụng phương pháp TextBuilder.AppendText (TextFragment) để thêm văn bản vào trang PDF.
- Lưu tệp PDF đã cập nhật bằng phương pháp Document.Save (String).
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.
- Tải tệp PDF bằng lớp Tài liệu.
- Lấy trang PDF mong muốn thành đối tượng Trang hoặc thêm một trang mới.
- Tạo một đối tượng TextBuilder và khởi tạo nó bằng đối tượng Page.
- Tạo một đối tượng của lớp TextParagraph.
- Chỉ định vị trí của đoạn văn bằng thuộc tính TextParagraph.Rectangle.
- Đặt các tùy chọn định dạng của TextParagraph.
- Tạo một đối tượng TextFragment và đặt văn bản, vị trí, phông chữ, màu nền của nó, v.v.
- Thêm TextFragment vào đoạn văn bằng phương pháp TextParagraph.AppendLine (TextFragment).
- Thêm đoạn văn vào trang bằng phương pháp TextBuilder.AppendParagraph (TextParagraph).
- Lưu tệp PDF đã cập nhật bằng phương pháp Document.Save (String).
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.
- Tải tệp PDF bằng lớp Tài liệu.
- Lấy trang PDF mong muốn thành một đối tượng Trang hoặc thêm một trang mới.
- Tạo và khởi tạo đối tượng Graph.
- Tạo một đối tượng Rectangle và khởi tạo nó.
- Đặt thuộc tính Rectangle.GraphInfo.FillColor.
- Thêm hình chữ nhật vào Đồ thị bằng phương pháp Graph.Shapes.Add (Rectangle).
- Thêm Đồ thị vào bộ sưu tập đoạn văn của trang bằng phương pháp Trang.Paragraphs.Add (Đồ thị).
- Tạo một đối tượng TextFragment và đặt thuộc tính TextState.ForegroundColor của nó.
- Thêm TextFragment vào trang bằng phương pháp Page.Paragraphs.Add (TextFragment).
- Lưu tệp PDF đã cập nhật bằng phương pháp Document.Save (String).
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.