Sổ tay PHP
Mục lục này liệt kê các recipe PHP-native của NextPDF: những trang chạy được, tập trung vào từng tác vụ và được viết trực tiếp trên core PHP API. Core repository nextpdf sở hữu và xác minh từng recipe trong docs/public/cookbook/php/. Mỗi recipe có một script examples/*.php và một test harness tests/Cookbook/Php/. Sau đó, bộ tổng hợp kéo từng trang vào trang web này và giữ lại nguồn gốc của trang.
Vì là mục lục, trang này không đưa ra bất kỳ tuyên bố nào về hành vi của từng recipe. Mỗi hàng ghi lại mục đích của recipe, core module mà recipe dùng, và reproducibility profile mà recipe khai báo. Profile và mọi tuyên bố về tính tuân thủ thuộc về chính trang recipe. Những thông tin đó đến từ front-matter của trang và test trong repo của trang, không phải từ mục lục này. Để xem sổ tay tích hợp (framework / renderer / dịch vụ), hãy xem Sổ tay tích hợp. Để xem hợp đồng mà mọi recipe chạy được phải tuân theo, hãy xem Quy ước recipe.
Cách tổ chức slug của recipe
Phần tiêu đề “Cách tổ chức slug của recipe”Mỗi recipe được biên soạn trong core repository tại docs/public/cookbook/php/ và được bộ tổng hợp xuất bản vào trang web này. Mỗi slug tuân theo một quy ước: một segment duy nhất.
/cookbook/php/<recipe>/<recipe> đặt tên cho mục đích của recipe theo kebab-case (ví dụ render-html-to-pdf, không phải tên module html). Slug viết thường, phân tách bằng dấu gạch nối, không có số phiên bản, và kết thúc bằng một dấu gạch chéo.
Reproducibility profile, tóm tắt trong một dòng
Phần tiêu đề “Reproducibility profile, tóm tắt trong một dòng”Mỗi recipe khai báo profile nghiêm ngặt nhất mà nó có thể thực sự đáp ứng:
- bitwise — byte giống hệt nhau giữa các lần chạy (nội dung hoàn toàn tất định, với mọi nguồn entropy đã được ghim cố định).
- structural — giống hệt nhau sau khi chuẩn hóa các phần tử dễ biến đổi (trailer
/ID, ngày creation/modification, tiền tố font-subset — trên thực tế là mọi PDF nhiều đối tượng). - semantic — chỉ tương đương về structural-AST cộng với metadata (đầu ra đã ký hoặc đã đóng dấu thời gian, hoặc đầu ra có tính tương đương vốn không ổn định ở mức byte).
Trang recipe chứng minh profile bằng test harness của chính trang. Mục lục này chỉ báo cáo giá trị mà trang đó khai báo.
Nền tảng
Phần tiêu đề “Nền tảng”Dựng, phân trang và tạo kiểu cho tài liệu.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
render-html-to-pdf | Kết xuất tài liệu HTML thành PDF | Html | structural |
style-with-css | Áp dụng CSS cho bản kết xuất HTML | Html | structural |
html-table-layout | Bố cục bảng HTML | Html | structural |
paginate-long-html | Phân trang tài liệu HTML dài | Html | structural |
paginate-large-html-tables | Phân trang một bảng HTML lớn qua nhiều trang | Html | structural |
render-rtl-arabic-html | Kết xuất HTML tiếng Ả Rập viết từ phải sang trái | Html | structural |
compose-text-and-fonts | Soạn văn bản kèm kiểm soát kiểu chữ | Typography | structural |
embed-and-subset-fonts | Nhúng phông chữ và tạo subset | Font | structural |
cjk-vertical-writing | Đặt văn bản CJK ở chế độ viết dọc | Typography | structural |
multi-page-document | Dựng tài liệu nhiều trang | Document | structural |
headers-and-footers | Thêm đầu trang và chân trang lặp lại | Layout | structural |
Đồ họa và nội dung
Phần tiêu đề “Đồ họa và nội dung”Làm việc với vector, hình ảnh, lớp và không gian tọa độ.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
draw-vector-graphics | Vẽ đồ họa vector | Graphics | structural |
gradients-and-transparency | Áp dụng gradient và độ trong suốt | Graphics | structural |
embed-images | Nhúng hình ảnh raster | Content | structural |
add-watermarks-and-backgrounds | Thêm hình mờ văn bản và hình ảnh hoặc nền vào các trang | Content | structural |
cmyk-spot-color-and-icc-profiles | Tạo màu CMYK và spot color sẵn sàng để in | Color | structural |
embed-file-attachments | Nhúng tệp và tạo PDF portfolio | Content | structural |
optional-content-layers | Dùng optional content dưới dạng lớp | Graphics | structural |
transform-coordinate-space | Biến đổi không gian tọa độ | Graphics | structural |
Điều hướng và biểu mẫu
Phần tiêu đề “Điều hướng và biểu mẫu”Thêm dấu trang, liên kết, chú thích và các trường AcroForm.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
bookmarks-and-toc | Tạo dấu trang và mục lục | Navigation | structural |
generate-dynamic-table-of-contents | Tạo mục lục động | Navigation | structural |
links-and-annotations | Thêm liên kết và chú thích | Navigation | structural |
generate-barcodes | Tạo barcode | Barcode | bitwise |
gs1-composite-barcodes | Tạo barcode GS1 Composite (bộ mang CC-C) | Barcode | structural |
fill-pdf-form | Điền AcroForm | Form | structural |
flatten-form-fields | Làm phẳng các trường biểu mẫu | Form | structural |
form-field-validation-and-flatten-with-state | Xác thực các trường biểu mẫu và làm phẳng kèm trạng thái | Form | structural |
Thông tin tài liệu
Phần tiêu đề “Thông tin tài liệu”Thiết lập metadata và hành vi của trình xem.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
set-document-metadata | Đặt metadata tài liệu | Metadata | structural |
set-viewer-preferences | Đặt tùy chọn trình xem | Document | structural |
Thao tác tài liệu
Phần tiêu đề “Thao tác tài liệu”Ghép, tách và tối ưu hóa các tài liệu hiện có.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
merge-external-pdfs | Ghép các PDF bên ngoài hoặc nối thêm trang | Document | structural |
split-and-extract-pages | Tách một PDF và trích xuất các dải trang | Document | structural |
optimize-pdf-file-size | Giảm kích thước tệp PDF bằng nén và tạo subset | Document | structural |
Bảo mật, chữ ký và tính tuân thủ
Phần tiêu đề “Bảo mật, chữ ký và tính tuân thủ”Dùng mã hóa, chữ ký, khả năng tiếp cận và đầu ra theo profile. Các recipe này giữ rõ ranh giới support≠conformance và presence≠validity trên trang recipe.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
encrypt-aes256 | Mã hóa bằng AES-256 và đặt các cờ quyền | Security | structural |
encrypt-with-permissions | Mã hóa với các cờ quyền | Security | structural |
sign-pades-b-b | Áp dụng chữ ký PAdES (B-B và B-T) | Security | semantic |
inspect-existing-signature | Kiểm tra chữ ký hiện có | Inspect | semantic |
tagged-pdf-ua2 | Phát ra cấu trúc đã gắn thẻ cho PDF/UA-2 | Accessibility | semantic |
accessible-pdfua2-from-html | Phát ra cấu trúc đã gắn thẻ để tạo PDF/UA-2 dễ tiếp cận từ HTML | Accessibility | semantic |
pdf-a-4-output | Tạo đầu ra PDF/A-4 | Conformance | semantic |
pdfa4-conformance-gate | Tạo đầu ra PDF/A-4 và thiết lập cổng kiểm tra bằng một validator bên ngoài | Conformance | semantic |
validate-conformance | Xác thực dựa trên conformance profile | Compliance | semantic |
Kiểm tra và trích xuất
Phần tiêu đề “Kiểm tra và trích xuất”Đọc lại nội dung và cấu trúc từ một PDF.
| Recipe | Chức năng | Module | Profile |
|---|---|---|---|
extract-text-content | Trích xuất nội dung văn bản | Text | semantic |
multilingual-copy-paste-extraction | Giúp PDF CJK và tiếng Ả Rập sao chép-dán chính xác | Text | structural |
parse-and-inspect-pdf | Phân tích và kiểm tra PDF | Inspect | semantic |
inspect-layout-boxes | Kiểm tra các hộp bố cục | Inspect | semantic |
Mẫu xuyên suốt
Phần tiêu đề “Mẫu xuyên suốt”Dùng các mẫu trải rộng trên nhiều module.
| Recipe | Chức năng | Phạm vi | Profile |
|---|---|---|---|
worker-safe-batch-rendering | Kết xuất an toàn trong worker chạy lâu (registry dùng chung, bộ nhớ có giới hạn) | Core · Performance · Support | semantic |
streaming-and-memory | Phân tích hiệu năng streaming và mức sử dụng bộ nhớ | Performance | bitwise |
exception-aware-error-handling | Xử lý lỗi với cây phân cấp ngoại lệ của NextPDF | Exception · Contracts | structural |
custom-error-recovery-patterns | Triển khai chiến lược khôi phục lỗi và thử lại tùy chỉnh | Exception | semantic |
observe-with-opentelemetry | Quan sát quá trình kết xuất bằng OpenTelemetry | Observability · Telemetry · Event | semantic |
Mọi recipe ở trên đều được xuất bản kèm một script examples/*.php nền tảng và một test harness tests/Cookbook/Php/ trong core repository. Khi một recipe mới được biên soạn ở upstream, nó xuất hiện ở đây ngay khi ví dụ và test của nó được đưa vào.
Xem thêm
Phần tiêu đề “Xem thêm”- Sổ tay tích hợp — mục lục tích hợp framework, renderer và dịch vụ.
- Quy ước recipe — hợp đồng mà mọi recipe chạy được trong sổ tay này tuân theo.