Tạo Trang
Tạo trang
Aspose.PDF FOSS for .NET cung cấp một công cụ bố trí dựa trên đoạn văn để tạo nội dung PDF. Bảng, hộp nổi, tiêu đề/chân trang và dấu cho phép bạn xây dựng các trang có cấu trúc mà không cần tự tay xây dựng các toán tử luồng nội dung.
Thêm đoạn văn
Page.Paragraphs là điểm vào để thêm các phần tử nội dung.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");Bảng
Table hỗ trợ các hàng, ô, độ rộng cột, viền và trạng thái văn bản.
var table = new Table();
table.ColumnWidths = "100 200 100";
var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");
page.Paragraphs.Add(table);Định dạng ô
Cells.Add trả về một Cell nơi bạn có thể cấu hình viền, khoảng đệm và nội dung lồng nhau.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);Các hộp nổi
FloatingBox đặt nội dung tại các tọa độ tuyệt đối trên trang.
var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);Đầu trang và chân trang
HeaderFooter thêm nội dung lặp lại ở đầu hoặc cuối các trang.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);Dấu trang
PdfPageStamp đè nội dung từ một trang PDF lên trang khác.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);Mẹo và Thực hành Tốt nhất
- Sử dụng
Table.ColumnWidthsnhư một chuỗi các giá trị điểm cách nhau bằng dấu cách để kiểm soát bố cục. FloatingBoxhữu ích cho việc định vị tuyệt đối — kết hợp vớiTablecho nội dung có cấu trúc.HeaderFooter.FromTexthỗ trợ{0}như một trình giữ chỗ số trang.- Thêm tất cả các đoạn trước khi gọi
Save— công cụ bố cục sẽ xử lý nội dung theo thứ tự. - Sử dụng
BorderInfođể thêm viền cho bảng, ô và các hộp nổi.
Các vấn đề thường gặp
| Issue | Cause | Fix |
|---|---|---|
| Bảng tràn trang | Quá nhiều hàng cho một trang | Thư viện tự phân trang; điều chỉnh lề nếu cần |
| Tiêu đề không hiển thị | ApplyAsHeader được gọi sau Save | Áp dụng tiêu đề trước khi lưu |
| FloatingBox ở vị trí sai | Tọa độ được đo từ góc trên‑trái bằng đơn vị đoạn văn | Xác minh đơn vị phù hợp với mong đợi của bạn |
Câu hỏi thường gặp
Tôi có thể tạo bảng đa trang không?
Có. Khi một bảng vượt quá chiều cao trang có sẵn, nó sẽ tự động tiếp tục trên trang tiếp theo.
Làm thế nào để thêm hình ảnh vào các ô bảng?
Tạo một đoạn Image và thêm nó vào bộ sưu tập Paragraphs của ô.
Tôi có thể nhập dữ liệu từ một mảng vào bảng không?
Có. Sử dụng Table.ImportArray để điền dữ liệu vào bảng từ một mảng hai chiều.
Tóm tắt Tham chiếu API
| Class / Method | Description |
|---|---|
Paragraphs | Các phần tử nội dung được sắp xếp trên một trang |
Paragraphs.Add | Thêm một phần tử đoạn văn (văn bản, bảng, biểu đồ, v.v.) |
Table | Bố cục lưới với các hàng, ô và độ rộng cột |
Table.ImportArray | Điền dữ liệu vào bảng từ một mảng |
Rows | Bộ sưu tập hàng trong bảng |
Cells | Bộ sưu tập ô trong một hàng bảng |
BorderInfo | Định dạng viền cho bảng, ô và hộp |
FloatingBox | Bộ chứa nội dung được định vị tuyệt đối |
HeaderFooter | Nội dung tiêu đề hoặc chân trang lặp lại |
HeaderFooter.FromText | Tạo tiêu đề/chân trang từ mẫu văn bản |
PdfPageStamp | Đặt lớp phủ một trang PDF như một dấu |