ข้ามไปยังเนื้อหา

คู่มือสูตร PHP

ดัชนีนี้แสดงรายการสูตรของ NextPDF ที่เขียนด้วย PHP โดยตรง ซึ่งเป็นหน้าที่เน้นงานเฉพาะและรันได้ โดยเขียนกับ PHP API หลักโดยตรง สูตรแต่ละรายการอยู่ในความรับผิดชอบและผ่านการตรวจสอบของรีโพซิทอรีหลัก nextpdf ภายใต้ docs/public/cookbook/php/ แต่ละสูตรมีสคริปต์ examples/*.php และฮาร์เนสทดสอบ tests/Cookbook/Php/ จากนั้นตัวรวบรวมจะดึงแต่ละหน้าเข้ามาในไซต์นี้และคงข้อมูลที่มาของหน้าจากแหล่งต้นทางไว้

เนื่องจากหน้านี้เป็นดัชนี จึงไม่ได้กล่าวอ้างด้านพฤติกรรมเกี่ยวกับสูตรใด ๆ แต่ละแถวบันทึกเจตนาของสูตร โมดูลหลักที่สูตรใช้ และโปรไฟล์ความสามารถในการทำซ้ำที่สูตรประกาศไว้ โปรไฟล์และคำกล่าวอ้างด้านการสอดคล้องใด ๆ อยู่ในหน้าสูตรนั้นเอง ข้อมูลเหล่านี้มาจาก front-matter ของหน้านั้นและการทดสอบภายในรีโพของหน้านั้น ไม่ได้มาจากดัชนีนี้ สำหรับคู่มือสูตรด้านการผสานรวม (เฟรมเวิร์ก/เรนเดอร์เรอร์/เซอร์วิส) โปรดดู คู่มือสูตรด้านการผสานรวม สำหรับสัญญาที่ทุกสูตรซึ่งรันได้ต้องปฏิบัติตาม โปรดดู ข้อตกลงของสูตร

ทุก [[…]] ด้านล่างเป็นการอ้างอิงล่วงหน้าไปยังหน้าที่เขียนขึ้นในรีโพซิทอรีหลักภายใต้ 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 ด้วยคีย์แบบซอฟต์แวร์Securitysemantic
encrypt-aes256 (วางแผนไว้ที่ต้นทาง)เข้ารหัสลับด้วย AES-256 และตั้งค่าแฟล็กสิทธิ์Securitystructural
pdfa4-conformance-gate (วางแผนไว้ที่ต้นทาง)สร้างเอาต์พุต PDF/A-4 และกำหนด gate ด้วยตัวตรวจสอบความถูกต้องภายนอกConformancesemantic
accessible-pdfua2-from-html (วางแผนไว้ที่ต้นทาง)ส่งออกโครงสร้างที่มีแท็กสำหรับการสร้าง PDF/UA-2 ที่เข้าถึงได้Accessibilitysemantic
validate-signature (วางแผนไว้ที่ต้นทาง)ตรวจสอบว่ามีลายเซ็นใน PDF หรือไม่ และตรวจขอบเขตความน่าเชื่อถือInspectsemantic

สร้าง แบ่งหน้า และจัดรูปแบบเอกสาร

สูตรทำอะไรโมดูลโปรไฟล์
render-html-to-pdf (วางแผนไว้ที่ต้นทาง)เรนเดอร์เอกสาร HTML เป็น PDFHtmlstructural
style-with-css (วางแผนไว้ที่ต้นทาง)ใช้ CSS กับการเรนเดอร์ HTMLHtmlstructural
html-table-layout (วางแผนไว้ที่ต้นทาง)จัดวางตาราง HTMLHtmlstructural
paginate-long-html (วางแผนไว้ที่ต้นทาง)แบ่งหน้าเอกสาร HTML ขนาดยาวHtmlstructural
compose-text-and-fonts (วางแผนไว้ที่ต้นทาง)จัดองค์ประกอบข้อความพร้อมควบคุม typographyTypographystructural
embed-and-subset-fonts (วางแผนไว้ที่ต้นทาง)ฝังฟอนต์และทำซับเซ็ตFontstructural
cjk-vertical-writing (วางแผนไว้ที่ต้นทาง)จัดวางข้อความ CJK ในโหมดการเขียนแนวตั้งTypographystructural
multi-page-document (วางแผนไว้ที่ต้นทาง)สร้างเอกสารหลายหน้าDocumentstructural
headers-and-footers (วางแผนไว้ที่ต้นทาง)เพิ่มหัวกระดาษและท้ายกระดาษแบบต่อเนื่องLayoutstructural

ทำงานกับเวกเตอร์ รูปภาพ เลเยอร์ และพื้นที่พิกัด

สูตรทำอะไรโมดูลโปรไฟล์
draw-vector-graphics (วางแผนไว้ที่ต้นทาง)วาดกราฟิกเวกเตอร์Graphicsstructural
gradients-and-transparency (วางแผนไว้ที่ต้นทาง)ใช้การไล่ระดับสีและความโปร่งใสGraphicsstructural
embed-images (วางแผนไว้ที่ต้นทาง)ฝังรูปภาพแบบแรสเตอร์Contentstructural
optional-content-layers (วางแผนไว้ที่ต้นทาง)ใช้เนื้อหาเสริม (เลเยอร์)Graphicsstructural
transform-coordinate-space (วางแผนไว้ที่ต้นทาง)แปลงพื้นที่พิกัดGraphicsstructural

เพิ่มบุ๊กมาร์ก ลิงก์ คำอธิบายประกอบ และฟิลด์ AcroForm

สูตรทำอะไรโมดูลโปรไฟล์
bookmarks-and-toc (วางแผนไว้ที่ต้นทาง)สร้างบุ๊กมาร์กและสารบัญNavigationstructural
links-and-annotations (วางแผนไว้ที่ต้นทาง)เพิ่มลิงก์และคำอธิบายประกอบNavigationstructural
generate-barcodes (วางแผนไว้ที่ต้นทาง)สร้างบาร์โค้ดBarcodebitwise
fill-pdf-form (วางแผนไว้ที่ต้นทาง)กรอก AcroFormFormstructural
flatten-form-fields (วางแผนไว้ที่ต้นทาง)flatten ฟิลด์ของฟอร์มFormstructural

ตั้งค่าเมทาดาทาและพฤติกรรมของโปรแกรมดู

สูตรทำอะไรโมดูลโปรไฟล์
set-document-metadata (วางแผนไว้ที่ต้นทาง)ตั้งค่าเมทาดาทาของเอกสารMetadatastructural
set-viewer-preferences (วางแผนไว้ที่ต้นทาง)ตั้งค่าการกำหนดลักษณะโปรแกรมดูDocumentstructural

ใช้การเข้ารหัสลับ การลงนาม การเข้าถึงได้ และเอาต์พุตตามโปรไฟล์ สูตรเหล่านี้รักษาขอบเขต support≠conformance และ presence≠validity ไว้ในหน้าสูตร

สูตรทำอะไรโมดูลโปรไฟล์
encrypt-with-permissions (วางแผนไว้ที่ต้นทาง)เข้ารหัสลับพร้อมแฟล็กสิทธิ์Securitystructural
sign-pades-b-b (วางแผนไว้ที่ต้นทาง)ใส่ลายเซ็น PAdES (B-B และ B-T)Securitysemantic
inspect-existing-signature (วางแผนไว้ที่ต้นทาง)ตรวจสอบลายเซ็นที่มีอยู่Inspectsemantic
tagged-pdf-ua2 (วางแผนไว้ที่ต้นทาง)ส่งออกโครงสร้างที่มีแท็กสำหรับ PDF/UA-2Accessibilitysemantic
pdf-a-4-output (วางแผนไว้ที่ต้นทาง)สร้างเอาต์พุต PDF/A-4Conformancesemantic
validate-conformance (วางแผนไว้ที่ต้นทาง)ตรวจสอบความถูกต้องกับโปรไฟล์การสอดคล้องCompliancesemantic

อ่านเนื้อหาและโครงสร้างกลับออกจาก PDF

สูตรทำอะไรโมดูลโปรไฟล์
extract-text-content (วางแผนไว้ที่ต้นทาง)สกัดเนื้อหาข้อความTextsemantic
parse-and-inspect-pdf (วางแผนไว้ที่ต้นทาง)แยกวิเคราะห์และตรวจสอบ PDFInspectsemantic
inspect-layout-boxes (วางแผนไว้ที่ต้นทาง)ตรวจสอบกล่องเค้าโครงInspectsemantic

ใช้รูปแบบที่ครอบคลุมหลายโมดูล

สูตรทำอะไรครอบคลุมโปรไฟล์
worker-safe-batch-rendering (วางแผนไว้ที่ต้นทาง)เรนเดอร์อย่างปลอดภัยในเวิร์กเกอร์ที่ทำงานยาวนาน (รีจิสทรีที่ใช้ร่วมกัน หน่วยความจำที่มีขอบเขตจำกัด)Core · Performance · Supportsemantic
exception-aware-error-handling (วางแผนไว้ที่ต้นทาง)จัดการข้อผิดพลาดด้วยลำดับชั้นของ exception ของ NextPDFException · Contractsstructural
observe-with-opentelemetry (วางแผนไว้ที่ต้นทาง)สังเกตการณ์การเรนเดอร์ด้วย OpenTelemetryObservability · Telemetry · Eventsemantic

สูตรเหล่านี้ต้องมีไฟล์ 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 และหน้าที่จะมีในท้ายที่สุด ดัชนีนี้ไม่ได้กล่าวอ้างว่าหน้าที่ค้างอยู่ใด ๆ เสร็จสมบูรณ์แล้ว