Tổng quan về quá trình kết xuất react-pdf

hovanban

Well-known member
1. Internal structures creation
Bước đầu tiên liên quan đến việc chuyển đổi cây phần tử React thành các phiên bản bên trong thích hợp cho từng loại thành phần. Điều này liên quan đến việc lưu mối quan hệ giữa các nút (cha-con) này.

Ngoài Tài liệu, tất cả các nút sẽ đại diện cho một khối bên trong tài liệu, với chiều cao, chiều rộng, phần đệm và lề (chưa được khám phá).

Từ giờ trở đi, React-pdf hoạt động trên cấu trúc dữ liệu này để bắt đầu suy ra vị trí của mỗi khối bên trong tài liệu cuối cùng.

2. Resolve styles
Bước này liên quan đến việc xử lý trước các kiểu nút, cũng như xác định các giá trị mặc định cho các thuộc tính cần thiết mà người dùng không cung cấp. Bằng cách này, tất cả các bước kế tiếp có thể hoạt động trên cơ sở tất cả các kiểu cần thiết đều được xác định trong cây.

Một phần của quá trình tiền xử lý bao gồm chuyển đổi đơn vị, kế thừa kiểu và mở rộng kiểu.

3. Fetching assets
Đã đến lúc yêu cầu tất cả các nguồn lực cần thiết! Chúng tôi duyệt qua cây nút nội bộ để tìm nạp bất kỳ phông chữ, hình ảnh hoặc biểu tượng cảm xúc cần thiết nào.

Chúng tôi chạy tất cả các yêu cầu này một cách không đồng bộ, nhưng chúng tôi sẽ không tiếp tục cho đến khi tất cả các yêu cầu hoàn tất (dù thành công hay thất bại).

4. Layout text
Bây giờ chúng ta đã tải tất cả các phông chữ, chúng ta có thể bố cục văn bản thành các đoạn văn. Đây là một bước quan trọng và phức tạp: trước tiên, chúng tôi chuyển đổi các ký tự thành glyph bằng cách sử dụng họ và kích thước phông chữ thích hợp, nhúng hình ảnh hoặc hình ảnh biểu tượng cảm xúc nếu có và cuối cùng chia chúng thành các dòng trên khoảng trắng hoặc bằng cách ngắt các từ dựa trên quy tắc ngôn ngữ (hoặc tùy chỉnh) .

5. Wrapping pages
Đây là bước tốn nhiều thời gian nhất vì nó không chỉ liên quan đến việc tính toán vị trí của từng thành phần trong tài liệu và dung lượng cần thiết mà còn phải chia các thành phần này thành các trang khác nhau.

Chúng tôi sử dụng bố cục Yoga nội bộ để tính toán kích thước và tọa độ của nút bên trong tài liệu, đồng thời thực hiện ngắt trang dựa trên một tập hợp các phương pháp phỏng đoán có thể tùy chỉnh.

6. Rendering
Việc tạo ra chính tài liệu PDF. Đối với nhiệm vụ này, chúng tôi sử dụng pdfkit tuyệt vời.

Khi ở giai đoạn này, chúng ta có cấu trúc cây bên trong với tất cả dữ liệu cần thiết để tạo tài liệu. Tất cả những gì còn lại là quyết định xem chúng ta muốn làm gì với dữ liệu này. Điều này sẽ khác nhau tùy thuộc vào ràng buộc bạn đang sử dụng, nhưng về cơ bản nó có nghĩa là hiển thị hoặc lưu nó.

CÔNG TY TNHH TƯ VẤN TRUYỀN THÔNG MINARA
ĐỊA CHỈ:
- 182 Trần Bình Trọng, P.3, Q.5, Tp.HCM
- 27 Đường số 16, Trung Tâm Hành Chính Dĩ An, Bình Dương.
Điện thoại: 097.777.1060
Email: info@minara.vn
Website: www.minara.vn
 
Bên trên