Hướng dẫn wkhtmltopdf pack
Project descriptionThis package installs a wkhtmltopdf binary in a Heroku or cloudControl deployment. Versioning on this package mimics the version number of the included wkhtmltopdf binary. Show
wkhtmltopdf is an open source (LGPLv3) command line tool to render HTML into PDF using the Qt WebKit rendering engine. InstallationInstall it in the usual way:
UsageThere are multiple Python wrappers for wkhtmltopdf you can use. If you are using Django in your project, you can use the django-wkhtmltopdf wrapper. The binary you want to use is named wkhtmltopdf-pack. AcknowledgementsBinaries are originally generated for the wkhtmltopdf-heroku Ruby Gem. A big thank you to the wkhtmltopdf-heroku contributors! Download filesDownload the file for your platform. If you're not sure which to choose, learn more about installing packages. Source DistributionI'm trying to convert some HTML files stored locally on my computer to PDF format through a Python script, and I've tried xhtml2pdf but I ran into countless errors and decided to stop using it. Nội dung chính
I heard that wkhtmltopdf was a better alternative and I found a Python package that integrated well into it. Unfortunately, this package requires xvfb which cannot be installed for Windows. Is there any other way to install wkhtmltopdf for Python on Windows? Thanks for your help! asked Feb 4, 2012 at 21:50 AmitAmit 2151 gold badge2 silver badges7 bronze badges Here's wkhtmltopdf download list, windows installer included answered Aug 1, 2012 at 12:58 stuudentstuudent 3524 silver badges11 bronze badges This is for windows & linux
answered Mar 27, 2020 at 13:20 Dẫn nhậpTôi có một bài viết trước đây Sử dụng Jinja template kết hợp với Python tự động sinh file báo cáo từ biểu mẫu, bài viết tiếp theo này tôi sẽ giới thiệu với các bạn một thư viện của Python là pdfkit (dựa trên enginee của wkhtmktopdf) để thực hiện chuyển đổi file html đã tạo được sang file pdf. Lựa chọn pdfkit ?Trước khi dùng pdfkit, tôi đã tìm hiểu và sử dụng một loạt các thư viện khác như html2pdf, xhtml2pdf,...các thư viện này nhẹ và dễ dùng hơn pdfkit rất nhiều nhưng có một thứ mà pdfkit (wkhtmltopdf) làm được mà các thư viện khác không làm được (đến thời điểm tôi tham khảo) đó là xử lý dữ liệu tiếng Việt (unicode). pdfkit có thể thực hiện convert chính xác tiếng Việt có dấu từ html ra pdf. Còn các thư viện khác thì... hên xui, có ký tự có dấu xử lý được, có ký tự thì ô vuông, hỏi chấm. Cài đặt thư việnPdfkit sử dụng enginee do thư viện wkhtmltopdf cung cấp. Để sử dụng được pdfkit thì ta phải cài đặt wkhtmltopdf trước. Cài đặt wkhtmltopdfĐây là một opensoucce, chúng ta có thể download tại https://wkhtmltopdf.org/index.html, chú ý download đúng phiên bản tương ứng với hệ điều hành mà bạn đang sử dụng. Riêng với hệ điều hành Windows, khi cài đặt các bạn nhớ lưu ý đường dẫn đến vị trí cài đặt của của wkhtmltopdf (thường là C:\Program Files\wkhtmltopdf). Sau đó, thực hiện mở thư mục chứa đường dẫn này vào vào thư mục con sâu hơn là \bin ( Sau khi cài đặt & set class path xong, bạn hãy mở windows terminal (mở cmd mới nhé) ra và gõ vào dòng lệnh sau:
Nếu có dữ liệu như trên thì có nghĩa là việc cài đặt wkhtmltopdf đã thành công. Với hệ điều hành Linux, nếu user của bạn không phải là root, hãy thực hiện set đường dẫn đến thư mục chứa class của wkhtmltopdf để có thể sử dụng wkhtmltopdf trên commandline nhé. Cài đặt pdfkit.Sử dụng câu lệnh sau để cài đặt pdfkit
Kết quả hiện ra:
Sử dụng pdfkit với PythonThư viện pdfkit cung cấp khá đầy đủ các sample, các bạn có thể tham khảo thêm tại: https://pypi.org/project/pdfkit/ Sử dụng các các chức năng mặc định.Convert một trang web sang pdfMở terminal, di chuyển đến một thư mục ... "dễ nhớ"và thực hiện một số dòng lệnh sau:
(Nhớ chuyển từ terminal sang mode python bằng cách gõ
Sau đó đợi thư viện làm việc và phản hồi lại.
Như này là kết quả đã thành công, mở thư mục vừa di chuyển đến, ta sẽ thấy file url2pdf.pdf Convert một file html sang pdfTrước tiên, thực hiện tạo ra một file .html và đặt nó vào một thư mục, trong ví dụ này, tôi dùng file có tên Mở terminal và thực hiện di chuyển đến thưc mục chứa file
Chờ một chút để hệ thống xử lý và đưa ra thông báo.
Sau đó ta có thể mở file report.pdf để xem kết quả convert: Lưu ý: để có thể convert đúng dữ liệu unicode thì là file .html phải có thẻ
Convert một đoạn text sang pdf
Chờ một chút để hệ thống xử lý và đưa ra thông báo.
Sau đó ta có thể mở file string.pdf để xem kết quả convert --> Lỗi font chữ unicode Để giải quyết việc này, pdfkit cho phép các bạn thực hiện khai báo thêm một số "cấu hình".
Kết quả thu được: pdfkit cung cấp khá nhiều các tham số cấu hình khác dựa trên bộ tham số của wkhtmltopdf. Chúng ta sẽ làm quen với một số tham số ở phần tiếp theo. Thêm một chút nâng cao với pdfkitThay đổi các cấu hình mặc định.Pdfkit cung cấp việc thay đổi một số tham số cầu hình thường gặp giống như lúc chúng ta cấu hình in một văn bản ra máy in văn phòng:
Các tham số khác (enable/disable css, javascript, ...), các bạn có thể tham khảo thêm từ help của wkhtmltopdf
Xử lý trường hợp không có quyền thiết lập $pathĐôi khi bạn không có quyền thực hiện set $PATH trên hệ thống mà vẫn muốn dùng luôn pdfkit, pdfkit sẽ cung cấp một tham số để bạn thực hiện trỏ đường dẫn đến vị trí cài đặt wkhtmltopdf. Để xem đường dẫn của thư viện wkhtmltopdf, trên Unix, bạn gõ
Trên windows thì dùng tính năng search để tìm xem file wkhtmltopdf.exe ở đâu. Sao chép đường
Việc trỏ config trực tiếp này sẽ giúp chúng ta ignore được các lỗi:
Convert nhiều nội dung và chung một file.Đây là một tính năng khá hay của pdfkit. Dưới đây là một ví dụ, thực hiện nối ghép các trang web vào một file cuối cùng.
Các bạn có thể làm tương tự với các function Một bài viết ngắn giới thiệu một thư viện nho nhỏ. Cảm ơn các bạn đã đọc bài của tôi! |