Kho lưu trữ này chứa các nhị phân được biên dịch tĩnh từ dự án WKHTMLTOPDF trên hệ thống ARM64. Thông tin thêm về chức năng của wkhtmltopdf và wkthmltoimage có thể được tìm thấy ở đó. Gợi ý: Phiên bản của nhị phân bằng thẻ Git. Để cài đặt phiên bản mới nhất, hãy sử dụng '0,12,6'. Gói này có thể được tìm thấy trên Packagist và được cài đặt với nhà soạn nhạc. Yêu cầu gói cho ARM64 với:WKHTMLTOPDF
Cài đặt
Packagist
php composer.phar require h4cc/wkhtmltopdf-arm64 "0.12.6"
Nhị phân sau đó sẽ được đặt tại:
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
Ngoài ra, một symlink sẽ được tạo trong thùng/ thư mục được định cấu hình của bạn, ví dụ:
vendor/bin/wkhtmltopdf-arm64
Cách sử dụng
Bạn có thể sử dụng hằng số đường dẫn để dễ dàng xác định vị trí nhị phân trong cơ sở mã PHP:
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;
Để sử dụng realpath
$realpath = realpath[\houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH];
Đâ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 $path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;
3, $path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;
4 Sign up for a free GitHub account to open an issue and contact its
maintainers and the community.
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!
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Hello!
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello!
Comments
Do you have any plans about ARM64/arch64 releases? It's rising server platform and would be nice to have them!
I'm open to making builds, but I don't have access to such machines. How do you cross-compile for it, and can it be run under qemu?
Thank you for fast response!
qemu in latest versions got pretty decent support for ARM64. Also, we use //scaleway.com/ VMs for such purposes. They run native ARM64 and work fine.
To answer
#4088 : I would like to build pure raspberry pi clusters :]
Packages will need to be distro-specific, so which distros are commonly used? Also, not really sure how to use/set it up. I feel the discussion would better be handled in the wkhtmltopdf/packaging repository instead.
Hi @ashkulz0.12.6 release is now available for download, which should contain changes which possibly address this issue.
In my use case, I have RaspberryPi OS [raspbian] armhf and arm64, debian, ubuntu and alpine... either bare-metal or inside docker [with xvfb]. To answer #4088 : I would like to build pure raspberry pi clusters :]
Project description
This package installs a wkhtmltopdf binary in a Heroku or cloudControl deployment. Versioning on this package mimics the version number of the included wkhtmltopdf binary.
Nội dung chính
- Project description
- This package installs a wkhtmltopdf binary in a Heroku or cloudControl deployment. Versioning on this package mimics the version number of the included wkhtmltopdf binary.
- Nội dung chính
- Installation
- Acknowledgements
- Download files
- Source Distribution
- Dẫn nhập
- Lựa chọn pdfkit ?
- Cài đặt thư viện
- Cài đặt wkhtmltopdf
- Cài đặt pdfkit.
- Sử dụng pdfkit với Python
- Sử dụng các các chức năng mặc định.
- Convert một trang web sang pdf
- Convert một file html sang pdf
- Convert một đoạn text sang pdf
- Xử lý trường hợp không có quyền thiết lập $path
- 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.
This package installs a wkhtmltopdf binary in a Heroku or cloudControl deployment. Versioning on this package mimics the version number of the included wkhtmltopdf binary.
Nội dung chính
Installation
Acknowledgements
Download files
Source Distribution
Nội dung chính
Installation
Installation
Acknowledgements
Acknowledgements
Download files
Nội dung chính
- Download files
- Source Distribution
- Dẫn nhập
- Lựa chọn pdfkit ?
- Cài đặt thư viện
- Cài đặt wkhtmltopdf
- Cài đặt pdfkit.
- Sử dụng pdfkit với Python
- Sử dụng các các chức năng mặc định.
- Convert một trang web sang pdf
- Convert một file html sang pdf
- Convert một đoạn text sang pdf
- Xử lý trường hợp không có quyền thiết lập $path
- 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
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;3,
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;4
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!Feb 4, 2012 at 21:50
Project descriptionAmit
This package installs a wkhtmltopdf binary in a Heroku or cloudControl deployment. Versioning on this package mimics the version number of the included wkhtmltopdf binary.1 gold badge2 silver badges7 bronze badges
Nội dung chính
InstallationAug 1, 2012 at 12:58
Acknowledgementsstuudent
Download files4 silver badges11 bronze badges
Source Distribution
- Dẫn nhập
Lựa chọn pdfkit ?
def html_to_pdf[]: with tempfile.NamedTemporaryFile[suffix='.html', delete=False] as temp: temp.write[html.encode['windows-1252']] temp.seek[0] pdfkit.from_file[temp.name, 'out.pdf'] temp.close[] pdf = open['out.pdf', 'r+b'] response = HttpResponse[pdf.read[], content_type='application/pdf'] response['Content-Disposition'] = 'attachment; filename=out.pdf' pdf.close[] # remove the locally created pdf file. os.remove[temp.name] return response
Cài đặt thư việnMar 27, 2020 at 13:20
Download files
Source Distribution
Source Distribution
Dẫn nhập
Lựa chọn pdfkit ?
Cài đặt thư viện
Pdfkit 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 //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 [
vendor/bin/wkhtmltopdf-arm64
1] vào class-path của windows. Việc cài đặt PATH, các bạn có thể tìm kiếm trên google nhé.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:
vendor/bin/wkhtmltopdf-arm64
2wkhtmltopdf 0.12.5 [with patched qt]
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
pip install pdfkit
Kết quả hiện ra:
Collecting pdfkit
Downloading pdfkit-0.6.1-py3-none-any.whl [12 kB]
Installing collected packages: pdfkit
Successfully installed pdfkit-0.6.1
Sử dụng pdfkit với Python
Thư viện pdfkit cung cấp khá đầy đủ các sample, các bạn có thể tham khảo thêm tại: //pypi.org/project/pdfkit/
Sử dụng các các chức năng mặc định.
Convert một trang web sang pdf
Mở 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õ
vendor/bin/wkhtmltopdf-arm64
3 trước nhé]>>> import pdfkit
>>> pdfkit.from_url["//viblo.asia/newest", "url2pdf.pdf"]
Sau đó đợi thư viện làm việc và phản hồi lại.
Loading pages [1/6]
Counting pages [2/6]
Resolving links [4/6]
Loading headers and footers [5/6]
Printing pages [6/6]
Done
True
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 pdf
Trướ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
vendor/bin/wkhtmltopdf-arm64
4.Mở terminal và thực hiện di chuyển đến thưc mục chứa file
vendor/bin/wkhtmltopdf-arm64
4, sau đó chuyển sang mode nhập code pythonvendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
0 Chờ một chút để hệ thống xử lý và đưa ra thông báo.
Loading pages [1/6]
Counting pages [2/6]
Resolving links [4/6]
Loading headers and footers [5/6]
Printing pages [6/6]
Done
True
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ẻ
vendor/bin/wkhtmltopdf-arm64
6 với nội dung như bên dưới đặt tại thẻ vendor/bin/wkhtmltopdf-arm64
7vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
2Convert một đoạn text sang pdf
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
3Chờ một chút để hệ thống xử lý và đưa ra thông báo.
Loading pages [1/6]
Counting pages [2/6]
Resolving links [4/6]
Loading headers and footers [5/6]
Printing pages [6/6]
Done
True
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ẻ
vendor/bin/wkhtmltopdf-arm64
6 với nội dung như bên dưới đặt tại thẻ vendor/bin/wkhtmltopdf-arm64
7vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
5Convert một đoạn text sang pdf
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.
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
6Thêm một chút nâng cao với pdfkit
Thay đổ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:
vendor/bin/wkhtmltopdf-arm64
8: Khổ giấy của file pdf sau khi convert. Mặc định là A4, có thể thay đổi thành cách giá trị Letter, A5,...vendor/bin/wkhtmltopdf-arm64
9: Mặc định là khổ giấy xoay dọc [Portrait], có thể thay đổi sang xoay ngang [Landscape]$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;0: Hiển thị log trong quá trình convert sang pdf. Giá trị ưng với các level đặt log [INFO, WARNING,...]. Thường đặt '' trên production để tránh lỗi hiển thị terminal.
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
7$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;
1: Dots Per Inch - Độ đậm nét của ký tự trên file pdf. Mặc định là 96. Tham số này không nên thay đổi. Với Windows, UNIX thì wkhtmltopdf sẽ reset về 96pdi, nếu chuyển qua convert trên máy OSX thì mới có thể tăng số lượng dpi lên được.
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;2: Giãn cách từ vị trí các mép tương ứng đến phần dữ liệu đầu tiên của nội dung của file. Tùy theo nhu cầu mà chúng ta thay đổi hoặc giữ nguyên mặc định.
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
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
8Xử 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.
vendor/houseoftech/wkhtmltopdf-arm64/bin/wkhtmltopdf-arm64
9Để xem đường dẫn của thư viện wkhtmltopdf, trên Unix, bạn gõ
/usr/local/bin/wkhtmltopdf
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:
vendor/bin/wkhtmltopdf-arm64
0Các bạn có thể làm tương tự với các function
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;3,
$path = \houseoftech\WKHTMLToPDF\WKHTMLToPDF::PATH;4
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!