Khi làm dự án các bạn sẽ gặp phải các yêu cầu là phải xuất ra PDF với các loại thiết kế và yêu cầu font chữ nghiệt ngã. Nhưng mà cái Laravel domPDF chưa bao giờ có 1 cái hướng dẩn chuẩn chỉ về cách để làm sao thêm font vào. Ok hôm nay sau hàng tá thời gian bị híp thì hôm nay để anh em nào nghiệt ngã vô tình vấp phải thì đọc coi chơi.
Khi làm dự án các bạn sẽ gặp phải các yêu cầu là phải xuất ra PDF với các loại thiết kế và yêu cầu font chữ nghiệt ngã. Nhưng mà cái Laravel domPDF chưa bao giờ có 1 cái hướng dẩn chuẩn chỉ về cách để làm sao thêm font vào. Ok hôm nay sau hàng tá thời gian bị híp thì hôm nay để anh em nào nghiệt ngã vô tình vấp phải thì đọc coi chơi.
Rồi đầu tiên thì các bạn cần phải import font mới vào thư viện. Các bạn tải file này về
https://github.com/dompdf/utils/blob/master/load_font.php
Sau đó config chỗ require_once cho đúng theo chỗ mà các bạn copy nó vào vị dụ như mình:
- Do mình đặt file đó theo đường dẫn là platform/packages/laravel-dompdf/utils nên đường ra vendor hơi xa các bạn có thể đặt nó ở ngoài thư mục gốc cũng được không cần lo lắng.
Rồi đầu tiên bây giờ mình ví dụ để sử dụng font này. Bây giờ mình se tải 1 font mới toanh về
Ví dụ mình lên Google font tải font này về cho nó máu:
Giải con mè nó nén ra ta được 2 file như sau
Tiếp ta chạy nhẹ cái lệnh như sau
php load_font.php TÊN-FONT ĐƯỜNG-DẪN-FONT.TTF
Theo cú pháp trên mình chạy thử nha.
Sau khi chạy xong bạn sẽ thấy như này
Tiếp theo bạn vào đường dẫn là
vendor/dompdf/dompdf/lib/fonts
Bạn sẽ thấy font chữ của bạn đã được copy vào đây và tạo thêm 1 file nữa có định dạng là .ufm
Bạn chạy tiếp lệnh cho file còn lại nha
Bây giờ ta đã có 4 file như hình. Nếu font nào có thêm Italic hoặc Bold-Italic thì các bạn cứ chạy thêm nếu thích hoặc là sử dụng bao nhiêu thì xài bây nhiêu
Tiếp đến các bạn ở thư mục vừa rồi kéo xuống kiềm cho mình file sau dompdf_font_family_cache.php các bạn sẽ thấy thé thêm 1 array với key là tên font của bạn. bây giờ bạn config lại cho đúng nha
Lưu ý tên font và tên key phải giống nhau. Như 1 cái viết thường 1 cái viết hoa ok nhưng phải đúng chính tả đừng để khác tên
Sau khi sửa lại
Tiếp theo các bạn copy thư mục fonts này vào trong public ví dụ ở đây thì mình thích copy vào css/fonts
Thật ra public hay stograge thì tùy các bạn ưng để đâu để
Sau đó các bạn config lại file dompdf cho đúng đường dẫn của các bạn nha
OK vậy là xong bây giờ mình test nha
Hiền tại đây là font khi chưa sửa nha
Sau đó mình sẽ sửa lại tên font là corinthia như mình đã khai báo. À các bạn nên chạy php artisan config:cache nhé
Lưu ý là ở CSS phải như này nhé, key của font và tên của Font luôn nha. Mình không hiểu lý do lắm, do mình không rành css nhưng mà không như này là tạch nha
Oke đến đây là đã hoàn thành nha.
Chúc các bạn thành công trong việc thay đổi font chữ của mình bằng Laravel dompdf
Cảm ơn các bạn đã đọc
Nguồn : https://nghiane.com