ชุดสูตรการผสานการทำงาน
ชุดสูตรการผสานการทำงาน
หัวข้อที่มีชื่อว่า “ชุดสูตรการผสานการทำงาน”core ของ NextPDF เรนเดอร์ Portable Document Format (PDF) 2.0 จาก PHP แพ็กเกจการผสานการทำงานทั้งเก้ารายการเชื่อมต่อเอนจินนี้เข้ากับเฟรมเวิร์ก แบ็กเอนด์การเรนเดอร์ ฐานโค้ดรุ่นเดิม ไปป์ไลน์การ build หรือบริการบนเครือข่าย หน้านี้อธิบายว่าแต่ละการผสานการทำงานมีไว้เพื่ออะไร แสดงชื่อแพ็กเกจและข้อจำกัดเวอร์ชันของ core (อ่านโดยตรงจาก composer.json ของแพ็กเกจ) และลิงก์ไปยังสูตรเฉพาะของการผสานการทำงานแต่ละรายการ ซึ่งจะปรากฏที่นี่เมื่อ source repository ส่งมอบ docs/public/ tree ของตน
หน้านี้เป็นดัชนี จึงไม่กล่าวอ้างเชิงพฤติกรรมเกี่ยวกับการผสานการทำงานใดๆ repository ของการผสานการทำงานแต่ละรายการเป็นเจ้าของสูตรของตนเอง ตัวรวบรวมจะดึงสูตรเหล่านั้นเข้ามาในเว็บไซต์นี้ จนกว่าสูตรจะพร้อมใช้งาน ลิงก์ของสูตรนั้นจะชี้ไปยังตัวยึดตำแหน่ง สำหรับคำแนะนำที่อิงตามกรณีการใช้งาน โปรดอ่าน เลือกการผสานการทำงาน สำหรับสัญญาที่สูตรซึ่งเรียกใช้ได้ทุกสูตรต้องปฏิบัติตาม โปรดอ่าน ข้อกำหนดของสูตร ประกอบ
รูปแบบการผสานการทำงานทั้งห้า
หัวข้อที่มีชื่อว่า “รูปแบบการผสานการทำงานทั้งห้า”แพ็กเกจทั้งเก้ารายการแบ่งออกเป็นห้ารูปแบบ โดยแต่ละรูปแบบบอกว่าการผสานการทำงานนั้นแก้ปัญหาประเภทใด
- การผสานการทำงานกับเฟรมเวิร์ก เชื่อมต่อ NextPDF เข้ากับ service container และวงจรชีวิตคำขอของเฟรมเวิร์กแอปพลิเคชัน ได้แก่
nextpdf/laravel,nextpdf/symfony,nextpdf/codeigniterคุณติดตั้งหนึ่งรายการ รีโซลฟ์เซอร์วิส แล้วส่งคืนการตอบสนองแบบ PDF - สะพานเชื่อมการเรนเดอร์ ส่งขั้นตอน HTML-to-PDF หรือ Office-to-PDF ไปยังแบ็กเอนด์การเรนเดอร์ภายนอก แทนไปป์ไลน์แบบในกระบวนการ ได้แก่
nextpdf/artisan(headless Chrome ผ่าน Chrome DevTools Protocol),nextpdf/gotenberg(ไมโครเซอร์วิส Gotenberg),nextpdf/cloudflare(Cloudflare Browser Rendering ที่ edge) - ชิมเพื่อความเข้ากันได้ ช่วยให้ฐานโค้ดที่เขียนสำหรับไลบรารี PDF รุ่นเดิมเรียกใช้ NextPDF ได้ก่อนที่คุณจะเขียนใหม่ ได้แก่
nextpdf/compat-legacy - เครื่องมือ build สร้าง backport ของ NextPDF สำหรับ PHP 8.1 / 7.4 ให้รันไทม์ที่ไม่สามารถรัน 8.4 ได้ ได้แก่
nextpdf/backport-builder - บริการบนเครือข่าย เปิดให้ใช้งาน NextPDF ผ่าน Representational State Transfer (REST), gRPC และ Model Context Protocol สำหรับระบบ AI และผู้เรียกใช้จากระยะไกล ได้แก่
nextpdf/server(เผยแพร่ในชื่อ NextPDF Connect)
สะพานเชื่อมการเรนเดอร์ที่สื่อสารผ่าน Hypertext Transfer Protocol (HTTP) (nextpdf/gotenberg, nextpdf/cloudflare และเส้นทาง HTTP-client ใน nextpdf/laravel) ต้องใช้ HTTP client ตาม PHP Standard Recommendation 18 (PSR-18) ที่แอปพลิเคชันโฮสต์จัดหาให้ ภายใต้ PSR-18 §4 ไคลเอนต์จะโยนข้อยกเว้นแบบมีชนิด (typed client exception) เฉพาะเมื่อไม่สามารถส่งคำขอได้เลยเท่านั้น การตอบสนอง HTTP 4xx หรือ 5xx เป็นค่าที่ส่งคืนตามปกติ ไม่ใช่ข้อยกเว้น ภายใต้ PSR-18 §4 เดียวกัน สูตรที่เรียกใช้ตัวเรนเดอร์ระยะไกลจะจัดการข้อผิดพลาดในการส่งข้อมูลและสถานะที่ไม่สำเร็จเป็นคนละกรณีกัน
ข้อมูลอ้างอิงแพ็กเกจและข้อจำกัดของ core
หัวข้อที่มีชื่อว่า “ข้อมูลอ้างอิงแพ็กเกจและข้อจำกัดของ core”ค่าทุกค่าด้านล่างมาจาก composer.json ของแพ็กเกจที่ระบุ (แหล่งข้อมูลที่เชื่อถือได้) ข้อจำกัดของ core คือข้อกำหนด nextpdf/core ที่แพ็กเกจประกาศไว้ nextpdf/backport-builder ไม่ได้ประกาศข้อกำหนด nextpdf/core เพราะแพ็กเกจนี้แปลงซอร์สของเอนจินแทนการพึ่งพาเอนจินขณะรันไทม์
| การผสานการทำงาน | แพ็กเกจ | รูปแบบ | ข้อจำกัดของ core | สูตร |
|---|---|---|---|---|
| Laravel | nextpdf/laravel | เฟรมเวิร์ก | ^3.0 || ^5.2 | เริ่มต้นใช้งาน Laravel อย่างรวดเร็ว [[/integrations/laravel/quickstart/]] |
| Symfony | nextpdf/symfony | เฟรมเวิร์ก | ^3.0 || ^5.2 | เริ่มต้นใช้งาน Symfony อย่างรวดเร็ว [[/integrations/symfony/quickstart/]] |
| CodeIgniter 4 | nextpdf/codeigniter | เฟรมเวิร์ก | ^3.0 || ^5.2 | เริ่มต้นใช้งาน CodeIgniter อย่างรวดเร็ว [[/integrations/codeigniter/quickstart/]] |
| Artisan (Chrome) | nextpdf/artisan | สะพานเชื่อมการเรนเดอร์ | ^3.0 || ^5.2 | เริ่มต้นใช้งาน Artisan อย่างรวดเร็ว [[/integrations/artisan/quickstart/]] |
| Gotenberg | nextpdf/gotenberg | สะพานเชื่อมการเรนเดอร์ | ^3.0 | เริ่มต้นใช้งาน Gotenberg อย่างรวดเร็ว [[/integrations/gotenberg/quickstart/]] |
| Cloudflare | nextpdf/cloudflare | สะพานเชื่อมการเรนเดอร์ | ^3.0 | เริ่มต้นใช้งาน Cloudflare อย่างรวดเร็ว [[/integrations/cloudflare/quickstart/]] |
| Compat (รุ่นเดิม) | nextpdf/compat-legacy | ชิมเพื่อความเข้ากันได้ | ^3.0 | เริ่มต้นใช้งาน Compat-legacy อย่างรวดเร็ว [[/integrations/compat-legacy/quickstart/]] |
| Backport builder | nextpdf/backport-builder | เครื่องมือ build | ไม่มี | เริ่มต้นใช้งาน Backport อย่างรวดเร็ว [[/integrations/backport/quickstart/]] |
| Connect (server) | nextpdf/server | บริการบนเครือข่าย | ^3.0 | เริ่มต้นใช้งาน Connect อย่างรวดเร็ว [[/integrations/connect/quickstart/]] |
NextPDF เผยแพร่ nextpdf/server ภายใต้ชื่อผลิตภัณฑ์ NextPDF Connect สูตรของแพ็กเกจนี้อยู่ภายใต้ slug connect ส่วน nextpdf/compat-legacy มาจากตระกูล compat และสูตรของแพ็กเกจนี้อยู่ภายใต้ slug compat-legacy เช่นกัน
ทุกแพ็กเกจต้องใช้ PHP >=8.4 <9.0 ในรันไทม์ของตนเอง nextpdf/backport-builder มีไว้เพื่อสร้างอาร์ติแฟกต์ที่รันบน PHP 8.1 (และเป้าหมาย 7.4) เอนจินที่ผ่านการ backport แล้ว ไม่ใช่ตัว builder คือส่วนที่รันบนรันไทม์รุ่นเก่า
การผสานการทำงานแต่ละรายการมีไว้เพื่ออะไร
หัวข้อที่มีชื่อว่า “การผสานการทำงานแต่ละรายการมีไว้เพื่ออะไร”การผสานการทำงานกับเฟรมเวิร์ก
หัวข้อที่มีชื่อว่า “การผสานการทำงานกับเฟรมเวิร์ก”nextpdf/laravel— service provider, facade และตัวช่วยสำหรับการตอบสนองแบบ PDF ของ Laravel 12 ใช้เมื่อแอปพลิเคชันของคุณเป็นแอป Laravel และต้องการรีโซลฟ์ NextPDF จาก container แล้วส่งคืนเป็นการตอบสนอง HTTP โดยไม่ต้องเชื่อมต่อเอง สูตรประกอบ: [[/integrations/laravel/quickstart/]]nextpdf/symfony— bundle ของ Symfony 7 พร้อมเซอร์วิส dependency-injection และตัวช่วยสำหรับการตอบสนองแบบ PDF ใช้เมื่อแอปพลิเคชันของคุณเป็นแอป Symfony โดย bundle จะลงทะเบียนเอนจินเป็นเซอร์วิสและผสานการทำงานกับการตอบสนองของsymfony/http-foundationสูตรประกอบ: [[/integrations/symfony/quickstart/]]nextpdf/codeigniter— เซอร์วิส, library wrapper และตัวช่วยสำหรับการตอบสนองแบบ PDF ของ CodeIgniter 4 ใช้เมื่อแอปพลิเคชันของคุณเป็นแอป CodeIgniter 4 และต้องการให้ NextPDF พร้อมใช้งานผ่าน service locator ของเฟรมเวิร์ก สูตรประกอบ: [[/integrations/codeigniter/quickstart/]]
สะพานเชื่อมการเรนเดอร์
หัวข้อที่มีชื่อว่า “สะพานเชื่อมการเรนเดอร์”nextpdf/artisan— ตัวเรนเดอร์ headless Chrome ผ่าน Chrome DevTools Protocol ใช้เมื่อเอกสารต้องการเอนจิน Cascading Style Sheets (CSS) ของเบราว์เซอร์เพื่อความเที่ยงตรงของเค้าโครง ซึ่งไปป์ไลน์ HTML แบบในกระบวนการไม่ได้ออกแบบมาเพื่อรองรับ และคุณสามารถรันกระบวนการ Chrome ใกล้กับแอปพลิเคชันได้ สูตรประกอบ: [[/integrations/artisan/quickstart/]]nextpdf/gotenberg— การแปลง Office-to-PDF และ HTML-to-PDF ผ่านไมโครเซอร์วิส Gotenberg ใช้เมื่ออินพุตเป็นเอกสาร Office หรือเมื่อการเรนเดอร์ต้องรันนอกกระบวนการในเซอร์วิสแยกต่างหาก แพ็กเกจนี้สื่อสารผ่าน HTTP โดยใช้ PSR-18 client ที่โฮสต์จัดหาให้ สูตรประกอบ: [[/integrations/gotenberg/quickstart/]]nextpdf/cloudflare— การเรนเดอร์ serverless ผ่าน Cloudflare Browser Rendering API ใช้เมื่อการเรนเดอร์ควรรันที่ edge โดยไม่ต้องดูแลกระบวนการเบราว์เซอร์ระยะยาว แพ็กเกจนี้สื่อสารผ่าน HTTP โดยใช้ PSR-18 client ที่โฮสต์จัดหาให้ สูตรประกอบ: [[/integrations/cloudflare/quickstart/]]
ชิมเพื่อความเข้ากันได้
หัวข้อที่มีชื่อว่า “ชิมเพื่อความเข้ากันได้”nextpdf/compat-legacy— ชั้นความเข้ากันได้สำหรับฐานโค้ดที่เขียนโดยอิงไลบรารี PDF รุ่นเดิม ใช้เพื่อเรียก NextPDF จากโค้ดเดิมก่อนที่คุณจะเขียนจุดเรียกใช้ใหม่ แพ็กเกจนี้เป็นตัวช่วยในการย้ายระบบ ไม่ใช่ dependency ถาวร สูตรประกอบ: [[/integrations/compat-legacy/quickstart/]]
เครื่องมือ build
หัวข้อที่มีชื่อว่า “เครื่องมือ build”nextpdf/backport-builder— ไปป์ไลน์ลดเวอร์ชันที่อิง Rector ซึ่งสร้าง build ของ NextPDF สำหรับ PHP 8.1 (และเป้าหมาย 7.4) ใช้เมื่อรันไทม์ไม่สามารถย้ายไป PHP 8.4 ได้ แต่คุณยังต้องการใช้เอนจินในรันไทม์นั้น แพ็กเกจนี้เป็นโครงสร้างพื้นฐานสำหรับการ build ไม่ใช่ dependency ขณะรันไทม์ของแอปพลิเคชัน สูตรประกอบ: [[/integrations/backport/quickstart/]]
บริการบนเครือข่าย
หัวข้อที่มีชื่อว่า “บริการบนเครือข่าย”nextpdf/server(NextPDF Connect) — เปิดให้ใช้งาน NextPDF ผ่าน REST API, เซอร์วิส gRPC และ Model Context Protocol ใช้เมื่อผู้เรียกใช้อยู่ระยะไกล ใช้ภาษาอื่น หรือเป็นระบบ AI ที่ต้องการ tool endpoint แทนไลบรารี PHP สูตรประกอบ: [[/integrations/connect/quickstart/]]
ลิงก์ของสูตรรีโซลฟ์อย่างไร
หัวข้อที่มีชื่อว่า “ลิงก์ของสูตรรีโซลฟ์อย่างไร”ตัวยึดตำแหน่ง [[…]] แต่ละรายการด้านบนเป็นการอ้างอิงล่วงหน้าไปยังหน้าที่เขียนขึ้นใน repository ของการผสานการทำงานภายใต้ docs/public/ และถูกดึงเข้ามายังเว็บไซต์นี้โดยตัวรวบรวม slug เป้าหมายใช้รูปแบบเดียวกัน:
/integrations/<integration>/<recipe>/โทเค็น <integration> คือชื่อย่อที่นำมาจากตารางข้อมูลอ้างอิงแพ็กเกจและข้อจำกัดของ core ด้านบนโดยตรง แต่ละแถวในตารางนั้นให้ชื่อย่อหนึ่งชื่อ สูตรแรกที่การผสานการทำงานทุกรายการส่งมอบมีชื่อว่า quickstart สูตรถัดๆ ไปใช้เซกเมนต์ <recipe> เพิ่มเติมภายใต้ราก <integration> เดียวกัน จนกว่าหน้าเป้าหมายจะถูกรวบรวม ลิงก์ของหน้านั้นจะเป็นตัวยึดตำแหน่งและจะไม่รีโซลฟ์ ดัชนีนี้ไม่กล่าวอ้างเชิงพฤติกรรมเกี่ยวกับหน้าเป้าหมายใดๆ ดัชนีนี้บันทึกเฉพาะข้อเท็จจริงของแพ็กเกจที่ตรวจสอบจาก composer.json และ slug ที่สูตรของแต่ละ repository จะใช้
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- เลือกการผสานการทำงาน — เมทริกซ์การตัดสินใจที่จับคู่กรณีการใช้งานกับการผสานการทำงาน
- ข้อกำหนดของสูตร — สัญญาที่สูตรซึ่งเรียกใช้ได้ทุกสูตรในชุดสูตรนี้ต้องปฏิบัติตาม