Skip to main content

[Thủ Thuật PHP] Chèn Text, Image và Link vào một file PDF bằng PHP

Hướng dẫn này sẽ chỉ cho bạn cách viết text, chèn ảnh hoặc link vào một tệp PDF hiện có bằng PHP. Ở đây chúng ta sẽ sử dụng các thư viện PDF của Setasign để thực hiện công việc này

Giới thiệu các thư viện PDF trong PHP

FPDF là một thư viện PHP được phát triển bởi Olivier Plathey cho phép tạo các tệp PDF bằng PHP, có nghĩa là mà không cần sử dụng thư viện PDFlib. F từ FPDF là viết tắt của Free: bạn có thể sử dụng nó cho bất kỳ hình thức sử dụng nào và sửa đổi nó cho phù hợp với nhu cầu của bạn.

+ FPDI là thư viện PHP cho phép đọc các trang PDF hiện có và sử dụng nó như một template trong FPDF. Thư viện này còn cho phép  bạn có thể sử dụng TCPDF hoặc tFPDF.

+FPDI PDF-Parser là một thư viện bổ sung (tùy chọn) nhưng được khuyến khích cài đặt. Nhưng chỉ miễn phí đến phiên bản pdf 1.4, nếu hơn cần phải mua.

Hướng dẫn chèn text vào file PDF bằng PHP

Đầu tiên bạn tạo một file PDF 1.4 trên khổ A4, sau đó sử dụng đoạn code này để chèn text vào PDF

$pdf = new Fpdi;

$pdf->AddPage();
$pdf->setSourceFile('./path-to-existing-A4-sized.pdf');

// Chúng tôi chỉ nhập trang 1
$tpl = $pdf->importPage(1);

// Sử dụng template từ góc trên cùng bên trái đến chiều rộng và chiều cao đầy đủ
$pdf->useTemplate($tpl, 0, 0, null, null);

// đặt font và color
$pdf->SetFont('Helvetica', 'B', 20); // Font Name, Font Style (eg. 'B' for Bold), Font Size
$pdf->SetTextColor(0, 0, 0); // RGB

// Định vị "con trỏ" của chúng tôi sang cạnh trái và ở giữa theo chiều dọc trừ đi 1/2 kích thước phông chữ
$pdf->SetXY(0, 139.7-10);

// Thêm văn bản có đầy đủ chiều rộng và chiều cao của trang phông chữ 
$pdf->Cell(215.9, 20, 'This text goes to middle', 0, 2, 'C');

// Output our new pdf into a file
// F = Write local file
// I = Send to standard output (browser)
// D = Download file
// S = Return PDF as a string
$pdf->Output('/tmp/new-file.pdf', 'F');

Hướng dẫn chèn ảnh vào file PDF bằng PHP

$pdf->Image(__DIR__.'/text/image.jpg' ,138.5,242.2,4,4);

Hướng dẫn chèn Link vào file PDF bằng PHP

Ghi chú! Khi bạn nhập tệp PDF dưới dạng mẫu, tất cả các liên kết nội bộ sẽ bị mất và chỉ còn lại văn bản. Để thêm liên kết vào PDF, bạn có thể thêm nó dưới dạng văn bản:

$pdf->Cell(215.9, 20, 'https://fullstack-tutorials.com', 0, 2, 'C');