Có thể xảy ra trường hợp bạn muốn tạo pdf với dữ liệu trong cơ sở dữ liệu. Bây giờ tôi muốn cho bạn thấy một bản demo tạo pdf với danh sách từ điển python
Dữ liệu để in ở dạng PDF
Các bước sử dụng reportLab trong Django
- Kích hoạt môi trường ảo của bạn
source venv/bin/activate
2. Cài đặt reportLab
pip install reportlab
Để tải xuống thư viện cho python, bạn có thể kiểm tra PyPi. PyPi là một trong những kho lưu trữ phần mềm tốt nhất cho Python
Trong bài viết này, chúng ta sẽ học cách tạo tệp PDF bằng Python. Một mô-đun rất nổi tiếng có tên pypdf2 được sử dụng để sửa đổi và đọc các tệp pdf hiện có nhưng nhược điểm chính của nó là không thể tạo tệp pdf mới. Vì vậy, hôm nay chúng tôi đang muốn tìm hiểu về một mô-đun python khác có tên là reportlab giúp chúng tôi tạo các tệp pdf mới và chỉnh sửa nội dung trái tim của chúng tôi trên đó
Yêu cầu mô-đun
phòng thí nghiệm báo cáo. Mô-đun này được sử dụng để xử lý các tệp PDF
pip install reportlab
Cách tiếp cận từng bước
Bước 1
Chúng tôi bắt đầu bằng cách nhập các mô-đun và lớp. Canvas được sử dụng để vẽ mọi thứ trên pdf, ttfonts và pdfmetrics sẽ giúp chúng tôi sử dụng phông chữ TTF tùy chỉnh trong pdf và màu sắc sẽ giúp chúng tôi chọn màu dễ dàng mà không cần nhớ giá trị hex của chúng
Python3
# importing modules
from
reportlab.pdfgen
import
canvas
from
reportlab.pdfbase.ttfonts
import
pip install reportlab
1from
# importing modules
1import
# importing modules
3
from
# importing modules
5import
# importing modules
7
Bước 2
Tiếp theo, chúng tôi khởi tạo tất cả những thứ chúng tôi sẽ viết và vẽ trong tài liệu thành các biến cụ thể để dễ dàng gọi chúng khi cần
Python3
# importing modules
8
# importing modules
9from
0 from
1
from
2from
0 from
4
from
5from
0 from
7
from
8from
0 reportlab.pdfgen
0
reportlab.pdfgen
1from
0 reportlab.pdfgen
3
________ 54 ________ 55 ________ 56
reportlab.pdfgen
4____58____56
import
0
import
1from
0 import
3
Bước 3
Tiếp theo, chúng ta khởi tạo một đối tượng canvas với tên là pdf và đặt tiêu đề là documentTitle.
Python3
import
4
import
5from
0 import
7
import
8
import
9
canvas
0
Bước 4
Tiếp theo, chúng tôi đăng ký phông chữ bên ngoài của mình với phông chữ reportlab bằng cách sử dụng pdfmetrics và TTFont và đặt tên cho nó. Tiếp theo, chúng tôi đặt phông chữ mới với kích thước. Sau đó, chúng tôi vẽ chuỗi trên pdf bằng hàm drawCentredString lấy các giá trị x và y làm trung tâm của văn bản thành văn bản và bên trái, bên phải, trên cùng và dưới cùng của văn bản được điều chỉnh cho phù hợp. Lưu ý rằng chúng ta cần có tệp TTF trong thư mục để thực thi các lệnh
Python3
canvas
1
canvas
2
reportlab.pdfgen
4canvas
4canvas
5reportlab.pdfgen
6canvas
7canvas
8
canvas
8
import
8
from
1
from
2
from
3canvas
5reportlab.pdfgen
6from
6canvas
8
from
8from
9____56______91reportlab.pdfbase.ttfonts
2
Bước 5.
Tiếp theo đối với phụ đề, chúng tôi làm điều tương tự ngoại trừ lần này màu của phụ đề là màu xanh lam và lần này chúng tôi sử dụng phông chữ tiêu chuẩn đi kèm với reportlab.
Python3
reportlab.pdfbase.ttfonts
3
reportlab.pdfbase.ttfonts
4
reportlab.pdfbase.ttfonts
5reportlab.pdfbase.ttfonts
6______56reportlab.pdfbase.ttfonts
6reportlab.pdfgen
6import
0canvas
8
_______43____63____56____65canvas
8
_______48____68____56____110
pip install reportlab
11Bước 6
Tiếp theo, chúng tôi vẽ một đường và sau đó nhập một số dòng văn bản mà chúng tôi đã xác định trước đó trong một danh sách. Dòng đầu tiên xác định vị trí x và y bắt đầu của văn bản. Hai dòng tiếp theo đặt phông chữ, cỡ chữ và màu chữ của văn bản. Hai dòng tiếp theo duyệt qua từng thành phần trong danh sách và thêm nó dưới dạng một dòng vào văn bản. Dòng cuối cùng vẽ văn bản ra màn hình
Python3
pip install reportlab
12pip install reportlab
13pip install reportlab
14reportlab.pdfgen
6pip install reportlab
16reportlab.pdfgen
6pip install reportlab
18reportlab.pdfgen
6pip install reportlab
16canvas
8import
8
# importing modules
03
# importing modules
04
# importing modules
05from
0 # importing modules
07# importing modules
08reportlab.pdfgen
6# importing modules
10canvas
8
# importing modules
12# importing modules
13reportlab.pdfgen
6____315canvas
8
# importing modules
17
import
8
# importing modules
19 # importing modules
20# importing modules
21 # importing modules
22
_______54____324
# importing modules
25
# importing modules
26
Bước 7
Cuối cùng, chúng tôi vẽ một bức tranh trên pdf bằng hàm drawInlineImage trong đó các tham số là đường dẫn của hình ảnh và tọa độ x và y của hình ảnh. Trong trường hợp này, hình ảnh nằm trong cùng thư mục với tệp py, vì vậy theo đường dẫn tương đối, chúng ta chỉ cần ghi tên của tệp có phần mở rộng, nếu nó nằm trong một số thư mục khác, một đường dẫn tương đối chính xác có liên quan