0
Cách tạo signature certification in PDF using Laravel
A/c nào đã làm về signature certification in PDF trong Laravel hướng dẫn dùm em với ạ. Giống như hình bên dưới ạ.
1 CÂU TRẢ LỜI
+2
Phần mà bạn nhắc đến là khái niệm Digital Signature, tức chữ ký số. Và để ký được chữ ký số này thì bạn sẽ cần một file private certificate.
Bạn có thể tham khảo phần official example của TCPDF, có một đoạn nhắc đến việc tạo Digital Signature này (package elibyy/tcpdf-laravel
mà bạn đang dùng là wrapper dành cho Laravel của package gốc tecnickcom/TCPDF
)
Tức về cơ bản thì sẽ có các bước như sau
NOTES:
- To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt
- To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
- To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes
*/
// Load file certificate dùng để ký chữ ký
$certificate = 'file://data/cert/tcpdf.crt';
// Phần thông tin sẽ được ký
$info = array(
'Name' => 'TCPDF',
'Location' => 'Office',
'Reason' => 'Testing TCPDF',
'ContactInfo' => 'http://www.tcpdf.org',
);
// Tạo signature trong file PDF
$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info);
// define active area for signature appearance
$pdf->setSignatureAppearance(180, 60, 15, 15);
Hoặc bạn có thể tham khảo một vài hướng dẫn về add digital signature theo các bài ở dưới đây:
Bạn đang sử dụng package nào để render ra file PDF vậy ?
@dao.thai.son Dạ em sử dụng elibyy/tcpdf-laravel
Cái này là chữ ký số, để đảm tính pháp lý thì nên sử dụng dịch vụ chữ ký số của một bên thứ 3 được nhà nước cấp giấy phép phát hành, cung cấp dịch vụ chữ ký số nhé bạn.