30/09/2018, 23:29

Thắc mắc về cách xuất PDF từ HTML trong Laravel 5.2

Chào mọi người, em đang có một vấn đề khi xuất một file HTML sử dụng font chữ Times New Roman sang file PDF với Laravel 5.2.41.

Em đang sử dụng https://github.com/barryvdh/laravel-snappy, đã cài wkhtmltopdf-amd64 trên host Linux (host ko có hỗ trợ truy cập SSH). Mỗi lần xuất file là nó bị mất một số kí tự như ế, , , ,…

Mong mọi người giúp đỡ.

Đỗ Trung Quân viết 01:40 ngày 01/10/2018

Cái này bạn hỏi anh @laptrinhio có lẽ sẽ có đáp án!

Phan Hoàng viết 01:41 ngày 01/10/2018

Mình thấy trong api của Snappy và PDFWrapper có dòng này $this->snappy->setOption($name, $value), do đó bạn thử setOption (hoặc setOptions với 1 mảng đưa vào)

$snappy -> setOptions(array('encoding'=>'utf8'))

hoặc

$pdfwrapper -> setOption('encoding', 'utf8')

Mình chưa test, chắc phải để tối xem lại code của cả wrapper và snappy xem sao?
Một solution khác là chuyển sang dompdf xem (hoặc wrapper của nó)

cpt viết 01:29 ngày 01/10/2018

Trước đây mình có dùng https://github.com/barryvdh/laravel-dompdf thấy khá ổn, bạn thử xem sao

Võ Hoài Nam viết 01:45 ngày 01/10/2018

Cảm ơn @Phan_Hoang và @satomi, mình đã thử thằng laravel-dompdf. Không hiểu sao khi xuất file tiếng Việt, mình chỉ được fontDejavu Sans, thử chuyển qua Times Roman, nó bị mất một số kí tự như trên

Đinh Quốc Hân viết 01:39 ngày 01/10/2018

Nếu bị mất chữ thì chuyển sang Arial xem nễu cũng tương tự thì hãy gửi ISSUE cho họ xem, có thể là lỗi của nhà phát triển.

P/s giờ dự án toàn dùng CSS Print + Javascript để in PDF dễ dàng hơn là dùng các thư viện Export

Võ Hoài Nam viết 01:43 ngày 01/10/2018

Cảm ơn @dqh nhé, dự án này bắt buộc phải dùng Times New Roman và bắt buộc xuất trực tiếp từ server về, không được dùng Ctrl + P

Đề ý kiến ý cò với bên phát triển

viết 01:38 ngày 01/10/2018

mình mpdf nhé bác, xuất tiếng Việt rất tốt

Tèo Trần viết 01:39 ngày 01/10/2018

Hi anh nam. Mình cũng bị tương tự. Vẫn chưa khắc phục được.

Xin hỏi anh khắc phục được chưa? Giúp mình với tvteo.info@gmail.com.

Thanks anh nhiều!

Bài liên quan
0