Przejdź do głównej zawartości
getnextpdf.com

Premium edycja

Dla liderów inżynierii

Oceniasz komercyjną zależność, z którą zespół będzie żył przez lata. Ta strona odpowiada na pytania, które liderzy inżynierii zadają nam przed zakupem: nakład na integrację, polityka aktualizacji, uzależnienie, dostawa, dowody jakości oraz powierzchnie skalowania. Każde twierdzenie jest albo weryfikowalne w źródle produktu, albo powiązane ze stroną dokumentacji, która za nie odpowiada. NextPDF nie posiada żadnej certyfikacji podmiotu trzeciego i nic tutaj nie jest twierdzeniem o zgodności ani certyfikacji.

Ten przewodnik obejmuje obie edycje komercyjne — NextPDF Pro (nextpdf/pro) oraz NextPDF Enterprise (nextpdf/enterprise); zobacz macierz funkcji dla dostępności w poszczególnych edycjach. Obie aktywują się kopertą licencyjną; wdrożenie bez pasującego uprawnienia nie ładuje klas premium danej edycji. Porównaj edycje i uzyskaj licencję.

Edycje są kumulatywne. NextPDF Pro zawiera wszystko z otwartego core, a NextPDF Enterprise zawiera wszystko z Pro. Kilka powierzchni poniżej dostarczanych jest w warstwie Pro (nextpdf/pro), więc Enterprise również je posiada.

Wersja 30-sekundowa. NextPDF to silnik PDF 2.0 dla nowoczesnego PHP; format, który zapisuje, to ten określony przez ISO 32000-2. Podstawowy silnik jest o otwartym źródle na licencji Apache License 2.0. NextPDF Pro i NextPDF Enterprise to zastrzeżone edycje komercyjne oparte na nim — wykresy, zaawansowane kody kreskowe, podpisywanie, narzędzia zgodności, operacje na dokumentach oraz powierzchnie skalowania opisane poniżej. Zobacz pełną macierz funkcji dla podziału na poszczególne edycje.

Dla zespołu zakup nabywa trzy rzeczy. Po pierwsze, możliwości, których budowa i utrzymanie we własnym zakresie byłyby kosztowne. Po drugie, poprzeczkę inżynierską, którą można sprawdzić: PHPStan level 10, ograniczenia architektoniczne oraz bardzo obszerny zestaw testów. Po trzecie, ograniczone ryzyko — a trzy stany wyjścia są odrębne. Wdrożenie na kanale ionCube offline po wygaśnięciu dzierżawy wstrzymuje funkcje premium i wraca do bezpłatnego Core o otwartym źródle, dopóki nie połączy się ponownie. Wygasła subskrypcja przechodzi przez okres karencji do wieczystego stanu awaryjnego: zainstalowana wersja działa dalej ze swoim uprawnieniem premium, bez dalszych aktualizacji. A niepowodzenie egzekwowania nigdy nie unieruchamia wdrożenia — najgorszym przypadkiem jest zachowanie Core. Mechanika komercyjna opisana jest w Zakup i licencjonowanie.

„Jaki nakład na integrację powinienem zabudżetować?” Jeden pakiet Composer i licencja. Edycje premium instalują się poleceniem composer require nextpdf/pro lub composer require nextpdf/enterprise zależnie od edycji (metapakiet nextpdf/premium instaluje oba) z prywatnego repozytorium, przy użyciu poświadczeń wydanych po zakupie. Wymaganiem runtime jest PHP >=8.4 <9.0. Wdrożenie nie wymaga żadnej zmiany kodu aplikacji: Premium podłącza się za tymi samymi publicznymi kontraktami, które aplikacja już wykorzystuje, jak udokumentowano w Licencjonowanie i aktywacja. Konfigurację opisano w Instalacja i uwierzytelnianie.

„Co się psuje, gdy aktualizujemy?” Zmiany łamiące istnieją i dokumentujemy je zamiast ukrywać. Repozytorium Premium śledzi każdą zmianę wpływającą na BC w notatkach aktualizacyjnych dla każdego wydania ze ścieżką migracji, a jego toolchain obejmuje roave/backward-compatibility-check. Niektóre złamania są zamierzone: ścieżki walidacji bezpieczeństwa są zaostrzane fail-closed zamiast pozostawiane permisywnymi, a notatki mówią o tym wprost. Zabudżetuj czas na przeczytanie notatek aktualizacyjnych przed każdym wydaniem; nie budżetuj cichego dryfu zachowania.

„Czy jesteśmy uzależnieni?” Wyjście jest strukturalne, a nie umownym dobrą wolą. Core jest na licencji Apache-2.0, więc twoja integracja celuje w kontrakty, które przetrwają bez subskrypcji. Gdy płatna subskrypcja się kończy, następuje okres karencji, a potem stan wieczystego wyjścia awaryjnego: zainstalowana wersja działa dalej i zatrzymują się tylko aktualizacje oraz wsparcie. Nigdy nie zostajesz zablokowany przed oprogramowaniem, które już wdrożyłeś. Szczegóły są w Licencjonowanie i aktywacja oraz modelu licencjonowania.

„Czy mój zespół może przeczytać kod, który uruchamiamy?” Tak, na właściwym kanale. Premium dostarczane jest na dwa sposoby: kodowane ionCube (domyślne, tańsze) oraz podpisane źródło jawne — czytelne PHP, kryptograficznie podpisane, wyżej wycenione. Oba niosą identyczne prawa licencyjne, a czytelne źródło nigdy nie jest zgodą na kopiowanie ani redystrybucję; EULA reguluje oba. Pełne porównanie jest w Dwa kanały dostawy.

„Jakie sygnały jakości mogę faktycznie zweryfikować?” Baza kodu Premium rozwijana jest na PHPStan level 10 z rozszerzeniem strict-rules w całym źródle Pro i Enterprise, wraz z ograniczeniami warstw architektonicznych Deptrac. Repozytorium zawiera ponad 1500 plików testowych w zestawach jednostkowych, integracyjnych, zgodności i compliance, a jego skrypty testowania mutacyjnego bramkują na minimalnym wyniku mutacji 95%. To fakty z repozytorium deweloperskiego, które można potwierdzić na kanale podpisanego źródła — a nie audyty podmiotów trzecich ani certyfikaty.

„Jakie są powierzchnie wydajności i skalowania?” Trzy, i wszystkie są warstwami opcjonalnymi, a nie przepisywaniem. Akcelerator to sidecar Rust wykorzystywany przez interfejsy kontraktów Core. Potok wyjściowy (NextPDF\Pro\OutputPipeline\PipelineExecutor) wykonuje wieloetapowe manifesty dokumentów z rozwiązywaniem zależności. Silnik strumieniowy renderuje współbieżne partie deterministycznie:

public function renderBatch(array $manifests, array $variablesByJobId = []): array

NextPDF\Pro\Stream\Engine\ConcurrentRenderEngine przywraca kolejność wejścia, więc bajty wyjściowe odpowiadają renderowaniu sekwencyjnemu niezależnie od współbieżności. Zawodzi z NextPDF\Pro\Stream\Exception\RenderEngineException przy brakującym, zduplikowanym lub nieznanym ukończeniu — nigdy przez ciche pominięcie. Nie publikujemy tutaj żadnych liczb benchmarkowych; przeprowadź benchmark własnego obciążenia podczas okresu próbnego.

„Czy akcelerator tworzy twardą zależność od kodu natywnego?” Nie. Sidecar to opcjonalna łączność, a dostawca raportuje dostępność zamiast rzucać wyjątek:

public function isAvailable(): bool
public function embedding(): EmbeddingServiceInterface
public function vectorIndex(string $collectionId = 'default'): VectorIndexInterface

Te metody nie deklarują żadnego @throws; osiągalność sidecara jest raportowana przez isAvailable(). Zwracane typy to interfejsy kontraktów Core (NextPDF\Contracts\EmbeddingServiceInterface, NextPDF\Contracts\VectorIndexInterface), co jest w praktyce szwem bez zmiany kodu.

„Co się dzieje offline lub w środowisku izolowanym?” To zależy od kanału i zwykle jest to czynnik decydujący. Kanał ionCube weryfikuje swoją licencję online — mniej więcej 7-dniowe sprawdzenie odnawiające około 14-dniową dzierżawę. Offline po wygaśnięciu dzierżawy funkcje premium wstrzymują się, a silnik wraca do bezpłatnego Core, wznawiając po powrocie łączności. Kanał podpisanego źródła weryfikuje swoją licencję lokalnie i działa w pełni offline, w tym w środowisku izolowanym. Zobacz Dwa kanały dostawy.

„Co wysyła sprawdzenie licencji?” Na kanale ionCube sprawdzenie wysyła tylko identyfikator licencji oraz solony hash odcisku palca — nigdy zawartości twojego dokumentu. W pełni offline wdrożenie podpisanego źródła nie wysyła nic w ogóle. Powierzchnia decyzji licencyjnej to pojedynczy publiczny ewaluator, o którym twój zespół platformowy może rozumować:

public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResult

Nie deklaruje żadnego @throws; każdy stan licencji, w tym całkowity brak licencji, mapuje się na EntitlementResult, a nie na wyjątek.

„Kto nas wspiera i jak zaczynamy?” Pomoc produktowa i techniczna pochodzi z działu wsparcia PATEON; rozliczenia, faktury i zwroty obsługuje nasz Merchant of Record — zobacz z kim się kontaktować. Możesz rozpocząć 14-dniowy bezpłatny okres próbny z twojego konta lub poprosić o grant ewaluacyjny, który uruchamia pełen zestaw funkcji za usuwalnym znakiem wodnym.

Uczciwe może i nie może, ze stroną, która odpowiada za każdy fakt.

Twoje wymaganieCzy NextPDF może je spełnić?Dowód i właściciel
Nowoczesne runtime PHPTak — wymaga PHP >=8.4 <9.0. Wcześniejsze wersje PHP nie są wspierane.Produktowy composer.json; Instalacja i uwierzytelnianie
Standardowe pakowanieTak — prywatne pakiety Composer: nextpdf/pro lub nextpdf/enterprise zależnie od edycji (nextpdf/premium instaluje obie warstwy), z poświadczeniami wydanymi po zakupie.Zakup i licencjonowanie
Wdrożenie bez przepisywaniaTak — bez zmiany kodu aplikacji; Premium rozwiązuje się za kontraktami Core, które już wywołujesz.Licencjonowanie i aktywacja
Poprzeczka analizy statycznejTak — rozwijane na PHPStan level 10 ze strict rules w całym źródle Pro i Enterprise.Produktowy phpstan.neon.dist
Dyscyplina testowaTak — 1500+ plików testowych; testowanie mutacyjne bramkowane na minimalnym MSI 95% w skryptach repozytorium.Skrypty produktowego composer.json i drzewo testów
Zarządzanie BCCzęściowo — złamania BC się zdarzają i są zamierzone przy poprawkach bezpieczeństwa fail-closed; każde jest udokumentowane ze ścieżką migracji.Produktowy UPGRADING.md
Praca w środowisku izolowanymTak na podpisanym źródle; kanał ionCube ograniczony jest swoją ~14-dniową dzierżawą.Dwa kanały dostawy
Czytelne źródłoTak — tylko kanał podpisanego źródła, w wyższej cenie; czytanie nie jest prawem do redystrybucji.Dwa kanały dostawy, EULA
Formalna certyfikacjaNie. NextPDF nie posiada żadnej certyfikacji i żadnej nie udziela; wsparcie dla standardu nie jest zgodnością ani certyfikacją.Ta strona; model licencjonowania
Nakaz akceleracji natywnejNiewymagane — sidecar Rust jest opcjonalny; bramkuj na ProAcceleratorProvider::isAvailable().Źródło produktu, pokazane powyżej
  • Wygaśnięcie dzierżawy ionCube. Wdrożenie na kanale kodowanym offline po wygaśnięciu dzierżawy wstrzymuje funkcje premium i wraca do Core, wznawiając po ponownym połączeniu. Jeśli twoja postawa sieciowa nie może zagwarantować okresowej łączności, wybierz zamiast tego kanał podpisanego źródła.
  • Zamierzone złamania BC. Walidacja istotna dla bezpieczeństwa jest zaostrzana fail-closed między wydaniami. Przypinaj wersje, czytaj notatki aktualizacyjne przed każdym podbiciem i uruchamiaj sprawdzenie BC w CI. Nie traktuj aktualizacji jako drop-in.
  • Brak certyfikacji. Podajemy możliwości, nigdy certyfikację. Jeśli twój program wymaga certyfikowanej zgodności, waliduj wyjście własnym narzędziem akceptacyjnym przed poleganiem na nim — żadna strona dokumentacji NextPDF tego nie zastąpi.
  • Wydajność zależy od obciążenia. Loader ionCube dodaje narzut dekodowania, zwykle niewielki; nie publikujemy uniwersalnego benchmarku. Przeprowadź benchmark własnych dokumentów podczas okresu próbnego przed zobowiązaniem się do kanału.
  • Wyjście ewaluacyjne jest oznaczone znakiem wodnym. Buildy ewaluacyjne uruchamiają każdą możliwość, ale widocznie brandują swoje wyjście; nie nadają się do dostawy produkcyjnej. Płatna licencja usuwa znak wodny bez zmiany kodu.
  1. Rozpocznij okres próbny. 14-dniowy bezpłatny okres próbny dostępny jest z twojego konta — jeden na e-mail, dziś bez opłat, i nie odnawia się automatycznie. Zaplanuj wymóg bezpłatnego Loadera ionCube na buildach kodowanych, także w CI.
  2. Uruchom ograniczony pilotaż. Zainstaluj przez Composer, zintegruj jeden rzeczywisty przepływ dokumentów za swoimi istniejącymi kontraktami, uruchom swój zestaw testów i przeprowadź benchmark swojego obciążenia. Ewaluacja uruchamia pełen zestaw funkcji za usuwalnym znakiem wodnym, więc nic nie jest ukryte przed oceną.
  3. Wybierz kanał dostawy. Zdecyduj między kodowaniem ionCube a podpisanym źródłem na podstawie swoich wymagań łączności i audytu — zobacz Dwa kanały dostawy.
  4. Poproś o swoją kopertę licencyjną. Zakup przebiega przez naszego Merchant of Record; twoja licencja udzielana jest przez PATEON na mocy EULA. Zacznij od portalu licencyjnego.