Przejdź do głównej zawartości

Wybierz integrację

Ta strona pomaga dopasować przypadek użycia do integracji, która go obsługuje. Każda rekomendacja wynika wyłącznie z opisu w pliku composer.json pakietu oraz z jego deklarowanego przeznaczenia, odczytanych bezpośrednio z repozytorium źródłowego. Gdy dwie integracje się pokrywają, strona wskazuje czynnik, który je rozróżnia, aby wybór był jednoznaczny.

Znajdź wiersz odpowiadający sytuacji i zacznij od niego.

Masz …UżyjDlaczego (zweryfikowane przeznaczenie)
Aplikację Laravel 12nextpdf/laravelIntegracja z frameworkiem Laravel: service provider, fasada i pomocniki odpowiedzi w formacie Portable Document Format (PDF).
Aplikację Symfony 7nextpdf/symfonyBundle dla Symfony: usługi wstrzykiwania zależności (DI) oraz pomocniki odpowiedzi PDF.
Aplikację CodeIgniter 4nextpdf/codeigniterUsługi dla CodeIgniter 4, nakładka biblioteczna oraz pomocniki odpowiedzi PDF.
Aplikację PHP bez frameworkanextpdf/core bezpośrednioIntegracja z frameworkiem nie jest potrzebna; silnik działa jako zwykła biblioteka.
Kod HTML wymagający przeglądarkowego silnika Cascading Style Sheets (CSS) i możliwość uruchomienia przeglądarki Chromenextpdf/artisanRenderer Chrome DevTools Protocol (CDP) dla kodu HTML wymagającego układu CSS na poziomie przeglądarki.
Dokument Office do przekonwertowania, taki jak DOCX, XLSX lub ODTnextpdf/gotenbergKonwersja z formatu Office do PDF za pośrednictwem mikrousługi Gotenberg.
Potrzebę renderowania bez konieczności obsługi procesu przeglądarkinextpdf/cloudflareRenderowanie bezserwerowe za pośrednictwem Cloudflare Browser Rendering API na brzegu sieci.
Kod napisany z myślą o starszej bibliotece PDFnextpdf/compat-legacyWarstwa zgodności ze starszą biblioteką PDF; pozwala wywoływać NextPDF bez przepisywania miejsc wywołań.
Środowisko uruchomieniowe pozostające przy PHP 8.1 / 7.4nextpdf/backport-builderPotok Rector do obniżania wersji, który buduje wariant silnika dla 8.1 / 7.4.
Zdalnych wywołujących, inny język albo system sztucznej inteligencji (AI)nextpdf/serverNextPDF Connect: interfejs Representational State Transfer (REST), gRPC oraz Model Context Protocol do zdalnego wykonywania.

Renderowanie HTML do PDF: Artisan kontra Gotenberg kontra Cloudflare kontra rdzeń

Dział zatytułowany „Renderowanie HTML do PDF: Artisan kontra Gotenberg kontra Cloudflare kontra rdzeń”

Wszystkie trzy mostki renderera zamieniają znaczniki na PDF. Różnią się sposobem działania, a nie jakością. Potraktuj tę różnicę operacyjną jako czynnik rozstrzygający.

  • nextpdf/artisan steruje przeglądarką Chrome w trybie headless za pośrednictwem Chrome DevTools Protocol. Wymaga procesu Chrome, do którego aplikacja ma dostęp. Wybierz go, gdy możesz obsługiwać ten proces, a dokument wymaga przeglądarkowego silnika CSS.
  • nextpdf/gotenberg wywołuje mikrousługę Gotenberg działającą w osobnym procesie za pośrednictwem HTTP. Wybierz go, gdy renderowanie musi być odizolowane we własnej usłudze albo gdy danymi wejściowymi jest dokument Office. Gotenberg jest jedynym z tej trójki, którego deklarowane przeznaczenie obejmuje konwersję Office na PDF.
  • nextpdf/cloudflare wywołuje Cloudflare Browser Rendering API. Wybierz go, gdy potrzebujesz renderowania edge/serverless bez uruchamiania ani aktualizowania procesu przeglądarki.
  • Potok HTML rdzenia NextPDF działający w procesie nie wymaga żadnego z powyższych. Użyj mostka renderera tylko wtedy, gdy potok działający w procesie nie zapewnia wierności układu ani izolacji procesu, których wymaga dokument. Mostek celowo deleguje ten krok; nie jest to ścieżka domyślna.

Oba mostki HTTP (nextpdf/gotenberg, nextpdf/cloudflare) wymagają klienta HTTP zgodnego z PSR-18, dostarczanego przez aplikację hostującą. Ich receptury traktują błąd transportu oraz niepomyślny status HTTP jako odrębne wyniki.

nextpdf/gotenberg to integracja, której zweryfikowany opis w pliku composer.json wymienia konwersję Office na PDF. Pozostałe mostki renderera opisują renderowanie HTML, a nie dane wejściowe Office. Jeśli źródłem jest DOCX/XLSX/ODT, użyj tej integracji.

Zgodnie z deklarowanym przeznaczeniem nextpdf/compat-legacy jest warstwą zgodności dla baz kodu napisanych pod starszą bibliotekę PDF. Pozwala istniejącym miejscom wywołań korzystać z NextPDF, zanim zostaną przepisane. Traktuj ją jako pomoc w migracji przewidzianą do usunięcia, a nie jako trwałą zależność uruchomieniową. Nowy kod powinien wywoływać nextpdf/core (lub odpowiednią integrację z frameworkiem) bezpośrednio.

Każdy pakiet ekosystemu deklaruje PHP >=8.4 <9.0. nextpdf/backport-builder istnieje dokładnie ze względu na to ograniczenie: jego deklarowanym przeznaczeniem jest potok Rector do obniżania wersji, który buduje artefakt dla PHP 8.1+ (oraz wariant dla 7.4). Jest to narzędzie do budowania, a nie zależność uruchomieniowa aplikacji. Uruchom builder, aby wytworzyć wstecznie przeniesiony silnik, a następnie go wdrożyć.

nextpdf/server (NextPDF Connect) udostępnia silnik przez REST API, usługę gRPC oraz Model Context Protocol. Wybierz go, gdy wywołujący jest zdalny, napisany w innym języku albo jest systemem AI korzystającym z punktu końcowego narzędzia zamiast z biblioteki PHP. Aplikacja PHP działająca w tym samym procesie powinna używać nextpdf/core lub integracji z frameworkiem, zamiast dodawać przeskok sieciowy.

Integracja z frameworkiem i mostek renderera działają na różnych warstwach, więc możesz zainstalować jedno i drugie. Integracja z frameworkiem obsługuje wiązanie kontenera i odpowiedź HTTP; mostek renderera obsługuje zaplecze renderujące. Przy rozwiązywaniu połączonego zestawu zależności sprawdź, które wersje nextpdf/core akceptuje każdy pakiet. Autorytatywnym źródłem jest dokumentacja ograniczeń rdzenia w indeksie poradnika integracji. Receptury dla poszczególnych kombinacji znajdują się w odpowiednich repozytoriach i są dostępne z tego indeksu.

  • Poradnik integracji — dokumentacja pakietów i ograniczeń rdzenia oraz indeks odnośników do receptur.
  • Konwencje receptur — kontrakt, którego przestrzega każda uruchamialna receptura.