Một cách phổ biến để tạo tệp PDF là lưu tệp Word dưới dạng. pdf, nhưng chúng ta cũng có thể tạo tệp PDF bằng Python
Ưu điểm? . Nhưng trước tiên, chúng ta sẽ xem cách tạo tệp PDF bằng Python
Trong hướng dẫn này, trước tiên chúng ta sẽ tạo một tệp PDF đơn giản và sau đó chúng ta sẽ tạo một tệp nâng cao hơn trông giống như tệp bên dưới
Hình ảnh của tác giảCách dễ dàng tạo tệp PDF bằng Python
Có nhiều cách khác nhau để tạo tệp PDF bằng Python, nhưng tôi thấy sử dụng các mẫu HTML là cách dễ nhất
Với tùy chọn này, chúng tôi có thể tạo các tệp PDF cơ bản và nâng cao trong vài phút
Cài đặt các thư viện
Để tạo file PDF chúng ta cần cài đặt các thư viện sau
pip install pdfkit
pip install jinja2
Trước khi chúng tôi sử dụng thư viện_______11_______, chúng tôi cần cài đặt wkhtmltopdf
. Các bước cài đặt tùy thuộc vào hệ điều hành của bạn
# macOS [you need to install brew first]
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
Trong trường hợp bạn đang dùng Windows, bạn có thể tải xuống bộ cài đặt tại đây
Bây giờ, hãy tạo một tệp PDF đơn giản bằng Python
Bước 1. Tạo một mẫu HTML với trình giữ chỗ
Trước tiên, chúng ta cần tạo một tài liệu HTML mà chúng ta sẽ sử dụng làm mẫu sau này
Để tạo tài liệu HTML này, chúng ta sẽ sử dụng một trang web có tên là HTML Editor. Trên trang web này, chúng tôi có thể nhập văn bản trong trình chỉnh sửa trực quan ở bên trái và tạo mã HTML của nó trong trình chỉnh sửa nguồn ở bên phải
Đây là văn bản tôi đã giới thiệu trong trình chỉnh sửa [có thể tìm thấy tệp này trên GitHub của tôi]
Lưu ý các trình giữ chỗ tôi đã tạo bằng cách sử dụng {{}}
. Sau này chúng ta sẽ giới thiệu các giá trị bên trong các dấu ngoặc nhọn này bằng Python
Đây là mã HTML được tạo bởi trình soạn thảo HTML
Chúng tôi cần sao chép mã HTML này, tạo một tệp HTML trong thư mục làm việc của chúng tôi và dán mã vào đó
Bước 2. Tạo một biến Python cho mỗi trình giữ chỗ
Đầu tiên, chúng tôi nhập jinja2 và pdfkit. Tôi có một trình giữ chỗ có tên là {{today_date}}
, vì vậy tôi cũng nhập
# macOS [you need to install brew first]0 để lấy ngày hôm nay
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
Sau đó, chúng tôi tạo một biến Python cho mỗi trình giữ chỗ trong tài liệu HTML của mình và chúng tôi tạo một từ điển ghép các trình giữ chỗ với các biến Python
Lưu ý rằng tôi đã đặt tên cho mỗi biến Python là trình giữ chỗ, nhưng chúng có thể có các tên khác nhau
Bước 3. Tạo môi trường cho mẫu của chúng tôi và xuất PDF
Bây giờ là lúc sử dụng jinja2 để tạo môi trường cho mẫu của chúng tôi
template_loader = jinja2.FileSystemLoader[‘./’]
template_env = jinja2.Environment[loader=template_loader]
Sau đó, chúng tôi chỉ định mẫu nào chúng tôi đang sử dụng. Trong trường hợp của tôi, tôi đặt tên tệp HTML là
# macOS [you need to install brew first]1. Sau đó, chúng tôi hiển thị từ điển mà chúng tôi đã tạo ở bước 2
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
template = template_env.get_template[‘basic-template.html’]
output_text = template.render[context]
Tiếp theo, chúng tôi thêm wkhtmltopdf
vào cấu hình pdfkit
. Để làm như vậy, chúng ta cần chỉ định đường dẫn mà wkhtmltopdf
đã được cài đặt
Đây là lệnh bạn cần chạy để có được đường dẫn này
# macOS/Linux
>>> which wkhtmltopdf
'/usr/local/bin/wkhtmltopdf'# Windows
>>> where wkhtmltopdf
'C:\Program Files\wkhtmltopdf'
Cuối cùng, chúng tôi xuất tệp PDF bằng phương pháp
# macOS [you need to install brew first]5
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
Lưu ý rằng tôi đã thêm một tham số CSS vào phương thức
# macOS [you need to install brew first]5. Đây là tùy chọn, nhưng tôi thấy cần phải làm cho kích thước phông chữ của các đoạn trong tệp PDF của chúng tôi lớn hơn
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
Tôi đã tạo một tệp
# macOS [you need to install brew first]7 trong thư mục làm việc của mình và viết mã bên dưới
brew install homebrew/cask/wkhtmltopdf# Ubuntu
sudo apt-get install wkhtmltopdf
p { font-size: 24px; }
li { font-size: 24px; }
Đó là nó. Đây là tệp PDF chúng tôi đã tạo bằng Python
Mã chúng tôi đã viết và các tệp được sử dụng trong hướng dẫn này có thể được tìm thấy trên GitHub của tôi
Bây giờ để tạo một tệp PDF nâng cao hơn như hóa đơn bên dưới, chúng tôi cần tải xuống mẫu HTML và tạo một số trình giữ chỗ. Trong video hướng dẫn này, tôi chỉ cho bạn cách thực hiện
Tự động hóa cuộc sống của bạn với Python. Nhận bảng cheat tự động hóa MIỄN PHÍ của tôi bằng cách tham gia danh sách email của tôi với hơn 10 nghìn người
Nếu bạn thích đọc những câu chuyện như thế này và muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký để trở thành thành viên Medium. Đó là 5 đô la một tháng, cho phép bạn truy cập không giới hạn vào hàng nghìn hướng dẫn về Python và các bài báo về Khoa học dữ liệu. Nếu bạn đăng ký bằng liên kết của tôi, tôi sẽ kiếm được một khoản hoa hồng nhỏ mà bạn không phải trả thêm phí