Python báo cáo phòng thí nghiệm html sang pdf

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

  1. 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.pdfgenimport canvas

from reportlab.pdfbase.ttfontsimport

pip install reportlab
1

from # importing modules1import # importing modules3

from # importing modules5import # importing modules7

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 modules8

# importing modules9from0 from1

from2from0 from4

from5from0 from7

from8from0 reportlab.pdfgen0

reportlab.pdfgen1from0 reportlab.pdfgen3

________ 54 ________ 55 ________ 56

reportlab.pdfgen4____58____56

import0

import1from0 import3

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




import4

import5from0 import7

import8

import9

canvas0

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




canvas1

canvas2

reportlab.pdfgen4canvas4canvas5reportlab.pdfgen6canvas7canvas8

canvas8

import8

from1

from2

from3canvas5reportlab.pdfgen6from6canvas8

from8from9____56______91reportlab.pdfbase.ttfonts2

 
 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.ttfonts3

reportlab.pdfbase.ttfonts4

reportlab.pdfbase.ttfonts5reportlab.pdfbase.ttfonts6______56reportlab.pdfbase.ttfonts6reportlab.pdfgen6import0canvas8

_______43____63____56____65canvas8

_______48____68____56____110

pip install reportlab
11

Bướ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
12

pip install reportlab
13
pip install reportlab
14reportlab.pdfgen6
pip install reportlab
16reportlab.pdfgen6
pip install reportlab
18reportlab.pdfgen6
pip install reportlab
16canvas8

import8

# importing modules03

# importing modules04

# importing modules05from0 # importing modules07# importing modules08reportlab.pdfgen6# importing modules10canvas8

# importing modules12# importing modules13reportlab.pdfgen6____315canvas8

# importing modules17

import8

# importing modules19 # importing modules20# importing modules21 # importing modules22

_______54____324

# importing modules25

# importing modules26

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

Làm cách nào để chuyển đổi HTML sang PDF bằng Python?

# chuyển đổi tập tin html sang tập tin pdf. pdfkit. from_file['mẫu. html', 'đầu ra. .
nhập pdfkit
# định cấu hình pdfkit để trỏ đến cài đặt wkhtmltopdf của chúng tôi
cấu hình = pdfkit. cấu hình [wkhtmltopdf = r"C. \\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf. exe"]
# chuyển url sang file pdf

ReportLab có miễn phí không?

Bộ công cụ ReportLab PDF là công cụ mã nguồn mở cực kỳ mạnh mẽ, đã được chứng minh qua thời gian để tạo các tài liệu PDF phức tạp, dựa trên dữ liệu và đồ họa vector tùy chỉnh. Miễn phí , mã nguồn mở và được viết bằng Python.

Chủ Đề