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

การผสานรวม NextPDF Artisan

nextpdf/artisan เป็นไลบรารี ไม่ใช่ปลั๊กอินของเฟรมเวิร์ก หากต้องการผสานรวม ให้ติดตั้งแพ็กเกจ แนบ ChromeRendererConfig เข้ากับเอกสาร NextPDF แล้วเรียก writeHtmlChrome() ใช้หน้านี้เพื่อไปยังเอกสาร Artisan ส่วนอื่นๆ

Terminal window
composer require nextpdf/artisan

สำหรับเมทริกซ์ข้อกำหนดทั้งหมดและดีเพนเดนซีภายนอกของ Chrome โปรดดู /integrations/artisan/install/

Artisan ไม่ได้มาพร้อมกับ service provider, bundle หรือ manifest สำหรับให้เฟรมเวิร์กค้นหาอัตโนมัติ เป็นไลบรารี PHP Standard Recommendation 4 (PSR-4) แบบธรรมดา (NextPDF\Artisan\, NextPDF\Parser\) ที่เรียกใช้ได้โดยตรง จึงไม่มีสิ่งใดให้ค้นหา จุดเข้าใช้งานคือเมท็อด writeHtmlChrome() ซึ่ง nextpdf/core เปิดให้ใช้บน Document หลังจากคลาสของบริดจ์โหลดอัตโนมัติได้แล้ว สำหรับโมเดลการค้นหาและการบูตสแตรป โปรดดู /integrations/artisan/boot-and-discovery/

ไม่มีการเผยแพร่การผสานรวม container ในสภาพแวดล้อมที่ไม่มี dependency injection container EInvoiceServiceFactory จะมีเมท็อด factory แบบสแตติกให้ใช้ (makeEmbedder, makeValidator, makeDefaultProfile, makeSchematronRunner) เมท็อดเหล่านี้คืนค่า implementation ของ Premium e-invoice contract หรือ null เมื่อไม่ได้ติดตั้งระดับ Premium พฤติกรรมนี้สะท้อนการคืนค่า null ของแพ็กเกจ wrapper ของเฟรมเวิร์ก ดังนั้นโค้ดที่ไม่มี container จึงใช้ส่วนติดต่อเดียวกันได้ สำหรับรายละเอียดและเหตุผล โปรดดู /integrations/artisan/boot-and-discovery/

จุดเข้าใช้งานอยู่ที่บันทึกไว้ใน
Document::writeHtmlChrome() (เมท็อดของ core)nextpdf/coreเริ่มต้นใช้งานอย่างรวดเร็ว: /integrations/artisan/quickstart/
Document::setChromeRendererConfig() (เมท็อดของ core)nextpdf/coreเริ่มต้นใช้งานอย่างรวดเร็ว: /integrations/artisan/quickstart/
ChromeHtmlRenderer::render()nextpdf/artisanการใช้งานในโปรดักชัน: /integrations/artisan/production-usage/
ChromeRendererConfig / ::fromArray()nextpdf/artisanการกำหนดค่า: /integrations/artisan/configuration/
EInvoiceServiceFactory::make*()nextpdf/artisanการบูตและการค้นหา: /integrations/artisan/boot-and-discovery/

ลายเซ็นของ writeHtmlChrome() คือ (string $html, ?float $width = null, ?float $height = null): static โดยตรวจสอบยืนยันจาก nextpdf/coresrc/Core/Concerns/HasTextOutput.php

<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeHtmlRenderer;
use NextPDF\Artisan\ChromeRendererConfig;
require __DIR__ . '/vendor/autoload.php';
$renderer = new ChromeHtmlRenderer(new ChromeRendererConfig());
assert($renderer->getHtmlSecurityPolicy()->getName() === 'default');
echo "ARTISAN_WIRED\n";

ตัวอย่างนี้ยืนยันว่าการโหลดอัตโนมัติและการผูก contract ของ nextpdf/core ทำงานสำเร็จโดยไม่ต้องเปิดใช้ Chrome (พฤติกรรมที่ยืนยันโดย tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected) สำหรับการทดสอบเบื้องต้นแบบ end-to-end ที่เรนเดอร์และรัน Chrome จริง โปรดดู /integrations/artisan/chrome-renderer-setup/

  • เรนเดอร์เอกสารแรกของคุณ: /integrations/artisan/quickstart/
  • ตัวเลือกการกำหนดค่าทั้งหมด: /integrations/artisan/configuration/
  • จัดเตรียม Chrome / container: /integrations/artisan/chrome-renderer-setup/
  • โมเดลการขนส่งและการแยกส่วน: /integrations/artisan/security-and-operations/
  • การเชื่อมต่อสำหรับโปรดักชันและ batch worker: /integrations/artisan/production-usage/
  • วินิจฉัยความล้มเหลว: /integrations/artisan/troubleshooting/
  • วิธีที่แพ็กเกจบูต: /integrations/artisan/boot-and-discovery/

บริดจ์นี้เป็นซอฟต์แวร์โอเพนซอร์สที่ใช้งานได้อย่างสมบูรณ์ ระดับ Premium เพิ่มการฝัง e-invoice (Pro) และการตรวจสอบความถูกต้อง (Enterprise) ให้กับไฟล์ Portable Document Format (PDF) ที่เรนเดอร์ออกมา เมื่อไม่มีระดับเหล่านี้ EInvoiceServiceFactory จะลดระดับลงเป็น null ดังนั้นจึงเขียนโค้ดการผสานรวมเพียงครั้งเดียวและรันได้ทั้งแบบมีหรือไม่มี Premium

  • ภาพรวม: /integrations/artisan/overview/
  • การติดตั้ง: /integrations/artisan/install/
  • การบูตและการค้นหา: /integrations/artisan/boot-and-discovery/
  • เริ่มต้นใช้งานอย่างรวดเร็ว: /integrations/artisan/quickstart/