Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

6th Jan 2023
Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại
Table of contents

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.
 
Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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:

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

Giải con mè nó nén ra ta được 2 file như sau

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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 

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

Sau khi sửa lại

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loạ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 để

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

Sau đó các bạn config lại file dompdf cho đúng đường dẫn của các bạn nha

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại
 
Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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é

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loạiLaravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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

Laravel domPDF cách tùy biến Font chữ bất chấp mọi thể loại

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

Bạn thấy bài viết này như thế nào?
0 reactions

Add new comment

Image CAPTCHA
Enter the characters shown in the image.

Related Articles

Mỗi kết nối cơ sở dữ liệu được định nghĩa trong một mảng, với tên kết nối là khóa của mảng

Eager Loading là một kỹ thuật tối ưu hóa truy vấn cơ sở dữ liệu trong Laravel, giúp tăng tốc độ truy vấn và giảm số lượng truy vấn cần thiết để lấy dữ liệu liên quan đến một bản ghi.

Để sử dụng Eager Loading với điều kiện trong Laravel, bạn có thể sử dụng phương thức whereHas hoặc orWhereHas trong Eloquent Builder.

E hiểu đơn giản vầy nha. auth() hay Auth trong laravel là những function global hay class, nó cũng chỉ là 1 thôi

Xin chào các bạn, tuần này mình sẽ viết một bài về cách xử lý Real Time(thời gian thực) với Laravel và Pusher