คู่มือสูตร PHP
คู่มือสูตร PHP
หัวข้อที่มีชื่อว่า “คู่มือสูตร PHP”ดัชนีนี้แสดงรายการสูตรของ NextPDF ที่เขียนด้วย PHP โดยตรง ซึ่งเป็นหน้าที่เน้นงานเฉพาะและรันได้ โดยเขียนกับ PHP API หลักโดยตรง สูตรแต่ละรายการอยู่ในความรับผิดชอบและผ่านการตรวจสอบของรีโพซิทอรีหลัก nextpdf ภายใต้ docs/public/cookbook/php/ แต่ละสูตรมีสคริปต์ examples/*.php และฮาร์เนสทดสอบ tests/Cookbook/Php/ จากนั้นตัวรวบรวมจะดึงแต่ละหน้าเข้ามาในไซต์นี้และคงข้อมูลที่มาของหน้าจากแหล่งต้นทางไว้
เนื่องจากหน้านี้เป็นดัชนี จึงไม่ได้กล่าวอ้างด้านพฤติกรรมเกี่ยวกับสูตรใด ๆ แต่ละแถวบันทึกเจตนาของสูตร โมดูลหลักที่สูตรใช้ และโปรไฟล์ความสามารถในการทำซ้ำที่สูตรประกาศไว้ โปรไฟล์และคำกล่าวอ้างด้านการสอดคล้องใด ๆ อยู่ในหน้าสูตรนั้นเอง ข้อมูลเหล่านี้มาจาก front-matter ของหน้านั้นและการทดสอบภายในรีโพของหน้านั้น ไม่ได้มาจากดัชนีนี้ สำหรับคู่มือสูตรด้านการผสานรวม (เฟรมเวิร์ก/เรนเดอร์เรอร์/เซอร์วิส) โปรดดู คู่มือสูตรด้านการผสานรวม สำหรับสัญญาที่ทุกสูตรซึ่งรันได้ต้องปฏิบัติตาม โปรดดู ข้อตกลงของสูตร
ลิงก์ของสูตรถูก resolve อย่างไร
หัวข้อที่มีชื่อว่า “ลิงก์ของสูตรถูก resolve อย่างไร”ทุก [[…]] ด้านล่างเป็นการอ้างอิงล่วงหน้าไปยังหน้าที่เขียนขึ้นในรีโพซิทอรีหลักภายใต้ docs/public/cookbook/php/ จากนั้นตัวรวบรวมจะดึงหน้านั้นเข้ามาในไซต์นี้ แต่ละ slug ใช้รูปแบบเดียวกัน คือเป็นเซกเมนต์เดี่ยว
/cookbook/php/<recipe>/<recipe> ระบุเจตนาของสูตรในรูปแบบ kebab-case (ตัวอย่างเช่น render-html-to-pdf ไม่ใช่ชื่อโมดูล html) ใช้ตัวพิมพ์เล็ก คั่นด้วยยัติภังค์ ไม่มีหมายเลขเวอร์ชัน และลงท้ายด้วยเครื่องหมายทับหนึ่งตัว จนกว่าหน้าปลายทางจะถูกรวมเข้ามา ลิงก์ของหน้านั้นจะเป็นตัวยึดตำแหน่งและยัง resolve ไม่ได้ สูตรที่ยังไม่มีตัวอย่างซึ่งรันได้ (รายการที่เว้นว่างไว้ด้านล่าง) จะเผยแพร่ไม่ได้จนกว่าจะมีตัวอย่างและฮาร์เนสทดสอบของสูตรนั้น แม้ว่าลิงก์จะชี้ไปยัง slug สุดท้ายแล้วก็ตาม
โปรไฟล์ความสามารถในการทำซ้ำแบบสรุปบรรทัดเดียว
หัวข้อที่มีชื่อว่า “โปรไฟล์ความสามารถในการทำซ้ำแบบสรุปบรรทัดเดียว”แต่ละสูตรประกาศโปรไฟล์ที่เข้มงวดที่สุดเท่าที่สามารถทำได้อย่างตรงไปตรงมา:
- bitwise — เหมือนกันทุกไบต์ทุกครั้งที่รัน (เนื้อหาที่กำหนดได้แน่นอนแบบเรียบง่ายโดยตรึงเอนโทรปีทั้งหมดไว้)
- structural — เหมือนกันหลังจากปรับอะตอมที่ผันแปรให้เป็นมาตรฐานแล้ว (รายการ
/IDในเทรลเลอร์ วันที่ creation/modification คำนำหน้าซับเซ็ตของฟอนต์ — ในทางปฏิบัติคือ PDF ทุกไฟล์ที่มีหลายอ็อบเจกต์) - semantic — เทียบเท่ากันเฉพาะระดับ structural-AST รวมกับเมทาดาทาเท่านั้น (เอาต์พุตที่ลงนามหรือประทับเวลาแล้ว หรือเอาต์พุตที่โดยเนื้อแท้ความเทียบเท่าในระดับไบต์ไม่เสถียร)
หน้าสูตรพิสูจน์โปรไฟล์ด้วยฮาร์เนสทดสอบของหน้านั้น ดัชนีนี้เพียงรายงานค่าที่หน้านั้นประกาศไว้เท่านั้น
สูตรที่รวมเข้ามาแล้ว
หัวข้อที่มีชื่อว่า “สูตรที่รวมเข้ามาแล้ว”ณ ตอนนี้ รีโพซิทอรีหลักได้บรรจุและผสานสูตรทั้งห้ารายการนี้แล้ว เป็นชุด Wave 8
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
sign-pades (วางแผนไว้ที่ต้นทาง) | ใส่ลายเซ็นพื้นฐาน CMS/PAdES ด้วยคีย์แบบซอฟต์แวร์ | Security | semantic |
encrypt-aes256 (วางแผนไว้ที่ต้นทาง) | เข้ารหัสลับด้วย AES-256 และตั้งค่าแฟล็กสิทธิ์ | Security | structural |
pdfa4-conformance-gate (วางแผนไว้ที่ต้นทาง) | สร้างเอาต์พุต PDF/A-4 และกำหนด gate ด้วยตัวตรวจสอบความถูกต้องภายนอก | Conformance | semantic |
accessible-pdfua2-from-html (วางแผนไว้ที่ต้นทาง) | ส่งออกโครงสร้างที่มีแท็กสำหรับการสร้าง PDF/UA-2 ที่เข้าถึงได้ | Accessibility | semantic |
validate-signature (วางแผนไว้ที่ต้นทาง) | ตรวจสอบว่ามีลายเซ็นใน PDF หรือไม่ และตรวจขอบเขตความน่าเชื่อถือ | Inspect | semantic |
พื้นฐาน
หัวข้อที่มีชื่อว่า “พื้นฐาน”สร้าง แบ่งหน้า และจัดรูปแบบเอกสาร
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
render-html-to-pdf (วางแผนไว้ที่ต้นทาง) | เรนเดอร์เอกสาร HTML เป็น PDF | Html | structural |
style-with-css (วางแผนไว้ที่ต้นทาง) | ใช้ CSS กับการเรนเดอร์ HTML | Html | structural |
html-table-layout (วางแผนไว้ที่ต้นทาง) | จัดวางตาราง HTML | Html | structural |
paginate-long-html (วางแผนไว้ที่ต้นทาง) | แบ่งหน้าเอกสาร HTML ขนาดยาว | Html | structural |
compose-text-and-fonts (วางแผนไว้ที่ต้นทาง) | จัดองค์ประกอบข้อความพร้อมควบคุม typography | Typography | structural |
embed-and-subset-fonts (วางแผนไว้ที่ต้นทาง) | ฝังฟอนต์และทำซับเซ็ต | Font | structural |
cjk-vertical-writing (วางแผนไว้ที่ต้นทาง) | จัดวางข้อความ CJK ในโหมดการเขียนแนวตั้ง | Typography | structural |
multi-page-document (วางแผนไว้ที่ต้นทาง) | สร้างเอกสารหลายหน้า | Document | structural |
headers-and-footers (วางแผนไว้ที่ต้นทาง) | เพิ่มหัวกระดาษและท้ายกระดาษแบบต่อเนื่อง | Layout | structural |
กราฟิกและเนื้อหา
หัวข้อที่มีชื่อว่า “กราฟิกและเนื้อหา”ทำงานกับเวกเตอร์ รูปภาพ เลเยอร์ และพื้นที่พิกัด
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
draw-vector-graphics (วางแผนไว้ที่ต้นทาง) | วาดกราฟิกเวกเตอร์ | Graphics | structural |
gradients-and-transparency (วางแผนไว้ที่ต้นทาง) | ใช้การไล่ระดับสีและความโปร่งใส | Graphics | structural |
embed-images (วางแผนไว้ที่ต้นทาง) | ฝังรูปภาพแบบแรสเตอร์ | Content | structural |
optional-content-layers (วางแผนไว้ที่ต้นทาง) | ใช้เนื้อหาเสริม (เลเยอร์) | Graphics | structural |
transform-coordinate-space (วางแผนไว้ที่ต้นทาง) | แปลงพื้นที่พิกัด | Graphics | structural |
การนำทางและฟอร์ม
หัวข้อที่มีชื่อว่า “การนำทางและฟอร์ม”เพิ่มบุ๊กมาร์ก ลิงก์ คำอธิบายประกอบ และฟิลด์ AcroForm
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
bookmarks-and-toc (วางแผนไว้ที่ต้นทาง) | สร้างบุ๊กมาร์กและสารบัญ | Navigation | structural |
links-and-annotations (วางแผนไว้ที่ต้นทาง) | เพิ่มลิงก์และคำอธิบายประกอบ | Navigation | structural |
generate-barcodes (วางแผนไว้ที่ต้นทาง) | สร้างบาร์โค้ด | Barcode | bitwise |
fill-pdf-form (วางแผนไว้ที่ต้นทาง) | กรอก AcroForm | Form | structural |
flatten-form-fields (วางแผนไว้ที่ต้นทาง) | flatten ฟิลด์ของฟอร์ม | Form | structural |
ข้อมูลของเอกสาร
หัวข้อที่มีชื่อว่า “ข้อมูลของเอกสาร”ตั้งค่าเมทาดาทาและพฤติกรรมของโปรแกรมดู
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
set-document-metadata (วางแผนไว้ที่ต้นทาง) | ตั้งค่าเมทาดาทาของเอกสาร | Metadata | structural |
set-viewer-preferences (วางแผนไว้ที่ต้นทาง) | ตั้งค่าการกำหนดลักษณะโปรแกรมดู | Document | structural |
ความปลอดภัย ลายเซ็น และการสอดคล้อง
หัวข้อที่มีชื่อว่า “ความปลอดภัย ลายเซ็น และการสอดคล้อง”ใช้การเข้ารหัสลับ การลงนาม การเข้าถึงได้ และเอาต์พุตตามโปรไฟล์ สูตรเหล่านี้รักษาขอบเขต support≠conformance และ presence≠validity ไว้ในหน้าสูตร
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
encrypt-with-permissions (วางแผนไว้ที่ต้นทาง) | เข้ารหัสลับพร้อมแฟล็กสิทธิ์ | Security | structural |
sign-pades-b-b (วางแผนไว้ที่ต้นทาง) | ใส่ลายเซ็น PAdES (B-B และ B-T) | Security | semantic |
inspect-existing-signature (วางแผนไว้ที่ต้นทาง) | ตรวจสอบลายเซ็นที่มีอยู่ | Inspect | semantic |
tagged-pdf-ua2 (วางแผนไว้ที่ต้นทาง) | ส่งออกโครงสร้างที่มีแท็กสำหรับ PDF/UA-2 | Accessibility | semantic |
pdf-a-4-output (วางแผนไว้ที่ต้นทาง) | สร้างเอาต์พุต PDF/A-4 | Conformance | semantic |
validate-conformance (วางแผนไว้ที่ต้นทาง) | ตรวจสอบความถูกต้องกับโปรไฟล์การสอดคล้อง | Compliance | semantic |
การตรวจสอบและการสกัด
หัวข้อที่มีชื่อว่า “การตรวจสอบและการสกัด”อ่านเนื้อหาและโครงสร้างกลับออกจาก PDF
| สูตร | ทำอะไร | โมดูล | โปรไฟล์ |
|---|---|---|---|
extract-text-content (วางแผนไว้ที่ต้นทาง) | สกัดเนื้อหาข้อความ | Text | semantic |
parse-and-inspect-pdf (วางแผนไว้ที่ต้นทาง) | แยกวิเคราะห์และตรวจสอบ PDF | Inspect | semantic |
inspect-layout-boxes (วางแผนไว้ที่ต้นทาง) | ตรวจสอบกล่องเค้าโครง | Inspect | semantic |
รูปแบบข้ามส่วน
หัวข้อที่มีชื่อว่า “รูปแบบข้ามส่วน”ใช้รูปแบบที่ครอบคลุมหลายโมดูล
| สูตร | ทำอะไร | ครอบคลุม | โปรไฟล์ |
|---|---|---|---|
worker-safe-batch-rendering (วางแผนไว้ที่ต้นทาง) | เรนเดอร์อย่างปลอดภัยในเวิร์กเกอร์ที่ทำงานยาวนาน (รีจิสทรีที่ใช้ร่วมกัน หน่วยความจำที่มีขอบเขตจำกัด) | Core · Performance · Support | semantic |
exception-aware-error-handling (วางแผนไว้ที่ต้นทาง) | จัดการข้อผิดพลาดด้วยลำดับชั้นของ exception ของ NextPDF | Exception · Contracts | structural |
observe-with-opentelemetry (วางแผนไว้ที่ต้นทาง) | สังเกตการณ์การเรนเดอร์ด้วย OpenTelemetry | Observability · Telemetry · Event | semantic |
สูตรที่รอตัวอย่างที่สามารถรันได้
หัวข้อที่มีชื่อว่า “สูตรที่รอตัวอย่างที่สามารถรันได้”สูตรเหล่านี้ต้องมีไฟล์ examples/*.php ใหม่ และฮาร์เนส tests/Cookbook/Php/ ในรีโพซิทอรีหลักก่อนจึงจะเผยแพร่ได้ slug ด้านบนเป็นรูปแบบสุดท้าย หน้านี้ยังคงเป็นตัวยึดตำแหน่งจนกว่าตัวอย่างจะถูกเพิ่มเข้ามาและการทดสอบของตัวอย่างนั้นทำงานได้:
sign-pades-b-b(วางแผนไว้ที่ต้นทาง) (ครอบคลุม PAdES B-B และ B-T)inspect-existing-signature(วางแผนไว้ที่ต้นทาง)extract-text-content(วางแผนไว้ที่ต้นทาง)parse-and-inspect-pdf(วางแผนไว้ที่ต้นทาง)validate-conformance(วางแผนไว้ที่ต้นทาง)inspect-layout-boxes(วางแผนไว้ที่ต้นทาง)worker-safe-batch-rendering(วางแผนไว้ที่ต้นทาง) (มีตัวอย่างอยู่แล้ว; เพิ่มฮาร์เนสทดสอบด้าน memory/GC ใหม่)observe-with-opentelemetry(วางแผนไว้ที่ต้นทาง) (เพิ่มตัวอย่างใหม่ที่เขียนด้วย PHP โดยตรง)
สูตรอื่น ๆ ทั้งหมดด้านบนมีไฟล์ examples/*.php รองรับอยู่แล้ว และต้องการเพียงตัวห่อฮาร์เนสเท่านั้น ดัชนีนี้บันทึก slug และหน้าที่จะมีในท้ายที่สุด ดัชนีนี้ไม่ได้กล่าวอ้างว่าหน้าที่ค้างอยู่ใด ๆ เสร็จสมบูรณ์แล้ว
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- คู่มือสูตรด้านการผสานรวม — ดัชนีการผสานรวมสำหรับเฟรมเวิร์ก เรนเดอร์เรอร์ และเซอร์วิส
- ข้อตกลงของสูตร — สัญญาที่ทุกสูตรซึ่งรันได้ในคู่มือสูตรนี้ต้องปฏิบัติตาม