Skip to content

File đính kèm

TCPDF-Next có thể nhúng file bất kỳ bên trong tài liệu PDF. Hệ thống đính kèm được quản lý qua Navigation\FileAttachment và truy cập qua fluent API của Document. File đính kèm đi cùng PDF — người nhận có thể trích xuất file nhúng trực tiếp từ trình xem.

Mọi method trả về static, nên mỗi lệnh gọi có thể chain.

Ví dụ cơ bản

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Invoice #2026-001', newLine: true)
    ->cell(0, 10, 'The original spreadsheet is attached to this PDF.', newLine: true)

    // Đính kèm file hỗ trợ
    ->addFileAttachment('/path/to/invoice-data.xlsx', 'invoice-data.xlsx', 'Original invoice data')
    ->addFileAttachment('/path/to/zugferd.xml', 'factur-x.xml', 'Factur-X e-invoice XML')

    ->save('invoice-with-attachments.pdf');

addFileAttachment()

php
$pdf->addFileAttachment(
    string $file,
    string $name = '',
    string $desc = '',
    string $mimeType = '',
    string $relationship = 'Unspecified'
): static
Tham sốKiểuMô tả
$filestringĐường dẫn tuyệt đối đến file nhúng
$namestringTên hiển thị trong panel đính kèm (mặc định tên file gốc)
$descstringMô tả dễ đọc của file đính kèm
$mimeTypestringLoại MIME (tự phát hiện nếu trống)
$relationshipstringQuan hệ file liên kết PDF 2.0 (Data, Source, Alternative, Supplement, Unspecified)

Tuân thủ PDF/A-3 và PDF/A-4

Chuẩn lưu trữ PDF/A-3 và PDF/A-4 cho phép file nhúng, làm cho đính kèm thiết yếu cho trao đổi dữ liệu có cấu trúc. Trường hợp nổi bật nhất là hóa đơn điện tử ZUGFeRD / Factur-X, nơi hóa đơn XML đọc được bằng máy được nhúng cạnh PDF đọc được bằng người.

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->setPDFVersion('2.0')
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Electronic Invoice', newLine: true)

    // Đính kèm Factur-X / ZUGFeRD e-invoice
    ->addFileAttachment(
        '/path/to/factur-x.xml',
        'factur-x.xml',
        'Factur-X BASIC invoice data',
        'text/xml',
        'Data'
    )

    ->save('e-invoice.pdf');

TIP

Khi nhắm đến PDF/A-3 hoặc PDF/A-4, đặt tham số $relationship để mô tả file đính kèm liên quan thế nào đến document. Giá trị phổ biến là Data (biểu diễn dữ liệu có cấu trúc), Source (file nguồn gốc) và Alternative (biểu diễn thay thế).

Mẹo

  • File đính kèm tăng kích thước PDF tương đương kích thước file nhúng. Cân nhắc nén file lớn trước khi nhúng.
  • Adobe Acrobat, Foxit Reader và hầu hết trình xem PDF desktop hỗ trợ đính kèm. Trình xem browser thường không hiển thị panel đính kèm.
  • Không giới hạn định dạng — bạn có thể đính kèm bất kỳ loại file (CSV, XLSX, XML, PNG, ZIP, v.v.).

Phân phối theo giấy phép LGPL-3.0-or-later.