Kiểm soát phông chữ và kiểu văn bản qua NextPDF Connect
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Tạo tài liệu có nhiều kiểu văn bản bằng cách chuyển phông chữ giữa các khối văn bản. set_font đặt kiểu chữ, kiểu dáng và cỡ chữ đang hoạt động. Trạng thái này áp dụng cho mọi lệnh gọi add_text tiếp theo cho đến khi bạn thay đổi. Bạn cần create_pdf, set_font, add_text và output_pdf — tất cả đều là công cụ Core. Các tham số trạng thái văn bản kiểm soát cách glyph được kết xuất (ISO 32000-2 §9).
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/serverGắn một transport. Bạn có thể dùng ba họ phông chữ tích hợp sẵn mà không cần thêm tệp phông chữ nào: helvetica, times và courier.
Tổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”set_font nhận family, style ("", "B", "I", "BI", "U") và size. Phông chữ bạn đặt áp dụng cho mọi lệnh gọi add_text về sau cho đến khi bạn gọi lại set_font. Không có cơ chế đặt lại tự động. Khi add_text bao gồm font_size, giá trị đó ghi đè cỡ chữ đang hoạt động chỉ cho riêng lệnh gọi đó. Ở lệnh gọi tiếp theo, cỡ chữ từ set_font sẽ được dùng lại. Văn bản được các toán tử hiển thị văn bản phát ra theo thứ tự trong content-stream (ISO 32000-2 §9.4). add_text không có tham số màu. Màu văn bản lấy từ màu mực trong trạng thái đồ họa của tài liệu.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Công cụ | Vai trò | Mức độ rủi ro |
|---|---|---|
create_pdf | Mở phiên làm việc | An toàn |
set_font | Đặt typeface/style/size hiện hành | Thận trọng |
add_text | Viết văn bản bằng phông chữ đang hoạt động | Thận trọng |
output_pdf | Kết xuất và trả về PDF | Cần phê duyệt / Xem xét (base64) |
Trang danh mục công cụ là danh mục chính thức. Các công cụ bạn có thể dùng phụ thuộc vào gói đã cài đặt.
Ví dụ mã — bắt đầu nhanh
Phần tiêu đề “Ví dụ mã — bắt đầu nhanh”create_pdf(A4 dọc) →document_id.set_font(helvetica,B, 24) rồiadd_text(tiêu đề, căn giữa).set_font(helvetica,"", 12) rồiadd_text(nội dung, căn đều).set_font(courier,I, 10) rồiadd_text(một đoạn mã).output_pdf.
Ví dụ mã — Production
Phần tiêu đề “Ví dụ mã — Production”Đặt phông chữ rõ ràng trước mỗi khối mà kiểu chữ có ý nghĩa. Đừng bao giờ dựa vào trạng thái kế thừa giữa các phần logic. Chỉ dùng ghi đè font_size theo từng lệnh gọi cho các điểm nhấn dùng một lần, vì giá trị đó không được giữ lại. Tạo tài liệu theo từng phần và xác minh rằng mỗi add_text trả về một position.
Trường hợp biên & điểm cần lưu ý
Phần tiêu đề “Trường hợp biên & điểm cần lưu ý”- Họ phông chữ không xác định. Mọi giá trị ngoài
helvetica/times/courier(ví dụarial) đều bị từ chối. - Họ phông chữ rỗng.
familyphải là một chuỗi không rỗng. - Kiểu dáng không hợp lệ. Dùng các mã chữ hoa.
"bold"bị từ chối. - Cỡ chữ không dương.
sizephải là một số dương. - Cỡ chữ theo từng lệnh gọi chỉ có hiệu lực tạm thời. Nó không thay đổi trạng thái
set_font.
Hiệu năng
Phần tiêu đề “Hiệu năng”Phông chữ tích hợp sẵn làm tăng dung lượng không đáng kể, còn kết quả đầu ra chỉ vài KB. Cấu hình là structural.
Ghi chú bảo mật
Phần tiêu đề “Ghi chú bảo mật”Chế độ base64 không gây tác động phụ lên hệ thống tệp. Phông chữ tích hợp sẵn không nạp tệp phông chữ bên ngoài, nên công thức này không có bề mặt tấn công liên quan đến phân tích phông chữ.
Tuân thủ
Phần tiêu đề “Tuân thủ”| Tuyên bố | Đặc tả | Điều khoản | reference_id |
|---|---|---|---|
| Văn bản được hiển thị bởi các toán tử văn bản theo thứ tự luồng. | ISO 32000-2 | §9.4 | |
| Các tham số trạng thái văn bản chi phối cách glyph được kết xuất. | ISO 32000-2 | §9 |
Bối cảnh thương mại
Phần tiêu đề “Bối cảnh thương mại”Không áp dụng — tất cả các công cụ đều là Core.
Tính khả dụng của transport
Phần tiêu đề “Tính khả dụng của transport”| Transport | Khả dụng | Ghi chú |
|---|---|---|
| MCP (stdio) | Có | tools/call cho mỗi công cụ. |
| REST | Có | Một thao tác cho mỗi công cụ. |
| gRPC | Có | Unary cho mỗi công cụ. |
Mức độ rủi ro HITL
Phần tiêu đề “Mức độ rủi ro HITL”create_pdf An toàn; set_font/add_text Thận trọng; output_pdf Cần phê duyệt, được hạ xuống mức Xem xét ở chế độ base64 (mức độ rủi ro HITL).
Gói JSON của cổng xác nhận
Phần tiêu đề “Gói JSON của cổng xác nhận”Đầu ra base64:
{ "allowed": true }