💻 Table Guide

DrawPDF hỗ trợ hiển thị bảng biểu đa dạng từ HTML chuẩn. Dưới đây là các tính năng chính:

1. Cấu Trúc Bảng (Structure)

Sử dụng thẻ <table>, <thead>, <tbody>.
Hỗ trợ đầy đủ rowspancolspan để trộn ô.

<table style="width:100%; border-collapse: collapse;">
  <thead>
    <tr><th colspan="2">Header Group</th></tr>
    <tr><th>Sub 1</th><th>Sub 2</th></tr>
  </thead>
  <tbody>...</tbody>
</table>

2. Định Dạng (Styling)

DrawPDF nhận diện các inline CSS sau:

3. Bảng Động (Dynamic Code)

Sử dụng Code Block (<pre><code>) với // eval để chạy JavaScript trực tiếp.

Các biến có sẵn:

Ví dụ đầy đủ:

// eval
// 1. Dữ liệu mẫu (Header có thể là 1 chiều hoặc 2 chiều)
const headers = [
  [{ content: 'Danh Sách Nhân Sự', colSpan: 3, styles: { halign: 'center' } }], // Row 1
  ['STT', 'Họ Tên', 'Phòng Ban'] // Row 2
];

const rows = [
  [1, 'Nguyễn Văn A', 'Kỹ Thuật'],
  [2, 'Trần Thị B', 'Nhân Sự'],
  [3, 'Lê Văn C', 'Kinh Doanh']
];

// 2. Vẽ bảng
pdf.addTable(headers, rows, {
  theme: 'grid', // 'striped' | 'grid' | 'plain'
  styles: { 
    fontSize: 10,
    cellPadding: 4,
    font: 'Roboto'
  },
  headStyles: {
    fillColor: [41, 128, 185],
    textColor: 255,
    fontStyle: 'bold'
  },
  columnStyles: {
    0: { cellWidth: 15, halign: 'center' }, // Cột STT
    2: { fontStyle: 'italic' } // Cột Phòng Ban
  },
  margin: { top: 10 }
});

// 3. Thêm ghi chú bên dưới
pdf.addText("Tổng số: " + rows.length + " nhân sự.", 15, pdf.currentY + 5, {
    fontStyle: 'italic',
    color: [100, 100, 100]
});
Thử Nghiệm:
Nhấn nút bên dưới để tạo bảng dữ liệu mẫu.

📄 Live Editor