wkhtmltopdf và wkhtmltoimage là công cụ dòng lệnh mã nguồn mở [LGPLv3] để xuất mã HTML thành PDF và các định dạng hình ảnh khác nhau bằng cách sử dụng công cụ Qt WebKit
Cài đặt wkhtmltopdf trên Ubuntu Server 18. 04
Cài đặt các thư viện cần thiết
sudo apt-get install libfontenc1 x11-common xfonts-encodings xfonts-utils fontconfig libxrender1 xfonts-75dpi xfonts-base libjpeg-turbo8
Tải xuống tệp cài đặt bằng lệnh sau
wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Cài đặt wkhtmltopdf
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
Use wkhtmltopdf
- Tải xuống và cài đặt theo hướng dẫn ở trên
- Tạo tệp HTML mà bạn muốn tạo thành tệp PDF
- Tạo tệp PDF từ tệp HTML bằng lệnh sau. wkhtmltopdf vinasupport. html
Ngoài ra, bạn có thể tạo tệp PDF từ đường dẫn URL của 1 trang web bằng lệnh sau
wkhtmltopdf //google.com google.pdf
Nguồn. vinasupport. com
Dự án MacPorts sử dụng một hệ thống có tên là Trac để gửi phiếu yêu cầu báo cáo lỗi và nâng cao. Mặc dù bất kỳ ai cũng có thể tìm kiếm Trac để tìm vé, nhưng bạn phải có tài khoản GitHub để đăng nhập vào Trac để tạo vé
Trong quá trình phát triển dự án, chắc chắn sẽ có nhiều chức năng yêu cầu tạo tệp pdf từ dữ liệu của hệ thống theo các mẫu [mẫu]. Bài viết này giới thiệu một phương pháp tạo file pdf mình đã thực hiện thành công trong dự án của mình
Wicked PDF sử dụng tiện ích
Mime::Type.register "application/pdf", :pdf
0 để tạo tệp PDF cho người dùng từ HTML. Bạn chỉ cần viết một trang HTML như bình thường, sau đó để Wicked PDF sẽ sử dụng nó để bắt đầu tạo ra tệp pdf cho bạnHướng dẫn cài đặt
Thêm gem
Mime::Type.register "application/pdf", :pdf
1 vào Gemfile rồi chạy Mime::Type.register "application/pdf", :pdf
2gem 'wicked_pdf'
Sau đó chạy lệnh khởi động
________số 8Add lines after to
Mime::Type.register "application/pdf", :pdf
3Mime::Type.register "application/pdf", :pdf
Do
Mime::Type.register "application/pdf", :pdf
1 sử dụng wkhtmltopdf nên chúng ta cần cài đặt thêm Mime::Type.register "application/pdf", :pdf
0. Để cài đặt, thêm dòng sau vào Gemfile rồi chạy Mime::Type.register "application/pdf", :pdf
2wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb4
Nếu wkhtmltopdf không nằm trên cùng một máy chủ web, thì cần thêm cấu hình như sau vào tệp cấu hình
Mime::Type.register "application/pdf", :pdf
7wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb6
Cách sử dụng
Trên bộ điều khiển, bạn chỉ cần kết xuất pdf như sau
wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb7
Điều kiện sử dụng
wkhtmltopdf đang chạy bên ngoài ứng dụng Rails của bạn, bố cục đó thông thường trong dự án sẽ không thể hoạt động. Nếu muốn sử dụng CSS, Javascript hay hình ảnh, bạn phải thay đổi cách tham chiếu đến các tệp tin. Cách tốt nhất để Rails không sử dụng đường dẫn nội dung là sử dụng evil_pdf_stylesheet_link_tag, evil_pdf_javascript_include_tag và evil_pdf_image_tag hoặc trỏ đến một CDN cho các thư của jquery
Ví dụ về bố trí voucher mình sử dụng
wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb8
và trong chương trình nguồn, mình sử dụng ảnh như sau
wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb9
Các tùy chọn nâng cao khác
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb0
Cách sử dụng nâng cao
Nếu bạn chỉ cần tạo một tệp pdf mà không cần hiển thị thì không cần phải đưa vào bộ điều khiển như trên. Tham khảo các lệnh sau
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb1
Qua ta thấy bản chất công việc evil_pdf tạo ra tệp pdf chính là việc chuyển đổi kiểu dữ liệu hoàn thiện từ html sang pdf. Vì vậy, sau khi thực hiện xong các cài đặt như trên, bạn chỉ cần chỉnh sửa mã nguồn html và sẽ có ngay một tệp pdf như ý
Ngoài ra, trong một số tùy chọn phía trên, tùy chọn
Mime::Type.register "application/pdf", :pdf
8 sẽ cho phép chúng ta xem tệp pdf dưới dạng tệp html trên trình duyệt. Nhờ đó kiểm tra được mã nguồn html nhanh chóng dễ dàng trên trình duyệtBên cạnh đó, bạn cũng có thể cấu hình áp dụng bố cục cho file pdf tại phần
Mime::Type.register "application/pdf", :pdf
7 hoặc có thể thiết lập cụ thể tại mỗi lần chạy lệnh tạo file. Các cấu hình được đặt trong wget --no-check-certificate //downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb40 sẽ được áp dụng mặc định. Còn lại thiết lập thiết lập tại mỗi lần tạo tệp sẽ ghi đè lên nội dung trong cấu hình