Tạo tài liệu PDF bằng C#

Tự động tạo và xử lý tài liệu PDF đã trở thành một tính năng đòi hỏi khắt khe trong những ngày gần đây. Trong các ứng dụng khác nhau, các tài liệu PDF được tạo động như hóa đơn, biên lai và các loại báo cáo khác nhau. Theo đó, bài viết này đề cập đến việc triển khai cơ bản tự động hóa PDF trong các ứng dụng .NET. Cuối cùng, bạn sẽ học cách tạo tệp PDF bằng C#. Các mẫu mã sẽ trình bày cách chèn văn bản, hình ảnh, bảng và các thành phần khác vào PDF bằng C#.

C# .NET PDF API - Tải xuống miễn phí

Aspose.PDF for .NET là API thao tác tệp PDF cho phép bạn tạo và xử lý tệp PDF từ bên trong ứng dụng .NET của mình. Sử dụng API, bạn có thể tự động tạo các loại báo cáo và tài liệu kinh doanh khác nhau. API có sẵn dưới dạng DLL có thể tải xuống cũng như được lưu trữ trên NuGet.

Install-Package Aspose.Pdf

Tạo tệp PDF trong C#

Hãy bắt đầu bằng cách tạo một tài liệu PDF đơn giản có chứa một đoạn văn bản. Sau đây là các bước để tạo tệp PDF bằng C#.

Mẫu mã sau đây cho biết cách tạo một tệp PDF đơn giản bằng C#.

// Khởi tạo đối tượng tài liệu
Document document = new Document();

// Thêm trang
Page page = document.Pages.Add();

// Thêm văn bản vào trang mới
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Lưu PDF 
document.Save("document.pdf");

Đọc thêm về tạo tài liệu PDF phức tạp.

Chỉnh sửa tệp PDF trong C#

Sửa đổi tệp PDF cũng đơn giản như tạo một tệp mới. Chỉ cần tải tệp bằng lớp Document, thực hiện các thao tác bạn muốn và lưu tệp. Sau đây là các bước để sửa đổi PDF.

  • Tạo một đối tượng của lớp Document và cung cấp đường dẫn của tệp PDF tới hàm tạo của nó.
  • Thao tác trên các trang hoặc nội dung của tài liệu.
  • Lưu tài liệu bằng phương thức Document.Save().

Mẫu mã sau đây cho biết cách sửa đổi tệp PDF bằng C#.

// Tải PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Thực hiện một số thao tác, ví dụ: thêm trang trống mới
pdfDocument.Pages.Add();

// Lưu tệp PDF đã cập nhật
pdfDocument.Save(modifiedFileName);

Chèn hình ảnh vào PDF bằng C#

Bây giờ hãy kiểm tra cách chèn hình ảnh vào tài liệu PDF. Sau đây là các bước để làm như vậy.

  • Tạo đối tượng thuộc lớp Document để mở tài liệu PDF.
  • Truy cập trang mà bạn muốn thêm ảnh bằng lớp Page.
  • Thêm hình ảnh vào bộ sưu tập Tài nguyên của trang.
  • Sử dụng toán tử để đặt hình ảnh trên trang:
    • GSSave operator to save the current graphical state.
    • nối ma trận operator to specify where the image is to be placed.
    • Làm operator to draw the image on the page.
    • Cuối cùng, sử dụng toán tử GRestore để lưu trạng thái đồ họa đã cập nhật.
  • Lưu tệp PDF.

Mẫu mã sau đây cho biết cách thêm hình ảnh vào tài liệu PDF bằng C#.

// mở tài liệu
Document pdfDocument = new Document("document.pdf");

// Đặt tọa độ
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Nhận trang nơi hình ảnh cần được thêm vào
Page page = pdfDocument.Pages[1];

// Tải hình ảnh vào luồng
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Thêm hình ảnh vào bộ sưu tập Hình ảnh của Tài nguyên Trang
page.Resources.Images.Add(imageStream);

// Sử dụng toán tử GSave: toán tử này lưu trạng thái đồ họa hiện tại
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Tạo các đối tượng Hình chữ nhật và Ma trận
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Sử dụng toán tử ConcatenateMatrix (ma trận nối): xác định cách đặt hình ảnh
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Sử dụng toán tử Do: toán tử này vẽ hình ảnh
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Sử dụng toán tử GRestore: toán tử này khôi phục trạng thái đồ họa
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Lưu tài liệu cập nhật
pdfDocument.Save("document.pdf");

Đọc thêm về chèn hình ảnh vào PDF.

Tạo bảng trong PDF bằng C#

Các bảng là một thành phần thiết yếu của các tài liệu được sử dụng để tổ chức dữ liệu dưới dạng các hàng và cột. Aspose.PDF for .NET cung cấp cho bạn một cách khá đơn giản để tạo và chèn các bảng trong tài liệu PDF. Sau đây là các bước để thực hiện thao tác này.

  • Tải tệp PDF bằng lớp Document.
  • Khởi tạo một bảng và thiết lập các cột và hàng của nó bằng lớp Table.
  • Đặt cài đặt của bảng (tức là đường viền).
  • Điền vào bảng bằng cách tạo các hàng bằng phương thức Table.Rows.Add().
  • Thêm bảng vào trang bằng phương thức Document.Pages1.Paragraphs.Add(Table).
  • Lưu tệp PDF.

Mẫu mã sau đây cho biết cách tạo và thêm bảng trong tài liệu PDF bằng C#.

// Tải tài liệu PDF nguồn
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Khởi tạo một thể hiện mới của Bảng
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Đặt màu đường viền bảng là LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Đặt đường viền cho các ô của bảng
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Tạo một vòng lặp để thêm 10 hàng
for (int row_count = 1; row_count < 10; row_count++)
{
    // Thêm hàng vào bảng
    Aspose.Pdf.Row row = table.Rows.Add();
    // Thêm ô bảng
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Thêm đối tượng bảng vào trang đầu tiên của tài liệu đầu vào
doc.Pages[1].Paragraphs.Add(table);

// Lưu tài liệu đã cập nhật có chứa đối tượng bảng
doc.Save("document_with_table_out.pdf");

Đọc thêm về tạo bảng trong PDF.

Tạo biểu mẫu trong PDF trong C#

Các biểu mẫu trong PDF được sử dụng để thu thập dữ liệu từ người đọc. Bạn có thể chèn hộp văn bản, hộp kiểm, nút radio và các điều khiển được hỗ trợ khác ở dạng PDF. Định dạng PDF hỗ trợ hai loại biểu mẫu; Biểu mẫu Acro và biểu mẫu XFA (xem chi tiết). Sau đây là các bước để tạo và thêm biểu mẫu trong PDF.

Mẫu mã sau đây cho biết cách thêm biểu mẫu vào tài liệu PDF bằng C#.

// mở tài liệu
Document pdfDocument = new Document("document.pdf");

// Tạo một trường
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = new Border(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Thêm trường vào tài liệu
pdfDocument.Form.Add(textBoxField, 1);

// Lưu PDF đã sửa đổi
pdfDocument.Save("output.pdf");

Đọc thêm về tạo biểu mẫu trong PDF.

Sự kết luận

Trong bài đăng này, bạn đã học cách tạo tệp PDF từ đầu bằng C#. Hơn nữa, bạn đã biết cách chèn nhiều loại thành phần khác nhau như văn bản, hình ảnh, bảng và biểu mẫu vào tài liệu PDF theo cách lập trình. Bạn có thể tìm hiểu thêm về API PDF bằng cách sử dụng tài liệu.

Xem thêm

Thông tin: Aspose cung cấp một ứng dụng web trực tuyến miễn phí cho phép bạn xem các tệp PDF trực tuyến, một ứng dụng khác cho phép bạn chuyển đổi các tệp PDF thành video và một ứng dụng khác cho phép bạn chỉnh sửa các tệp PDF trực tuyến.