Przejdź do głównej zawartości

Przewodniki po migracji

NextPDF to silnik Portable Document Format (PDF) 2.0 dla PHP. Jeśli generujesz już pliki PDF przy użyciu innej biblioteki, przewodnik po migracji odwzorowuje interfejs programowania aplikacji (API) tej biblioteki na NextPDF i dokumentuje różnice w zachowaniu, które napotkasz. Ten indeks obejmujący wiele repozytoriów wskazuje, który przewodnik przeprowadza migrację z której biblioteki, które repozytorium odpowiada za dany przewodnik oraz z jakiego wspólnego modelu korzystają wszystkie przewodniki.

Ponieważ ta strona jest indeksem, nie zawiera żadnych twierdzeń o zachowaniu któregokolwiek przewodnika. Każdy przewodnik należy do własnego repozytorium. Agregator pobiera przewodnik do tej witryny; dopóki przewodnik się nie pojawi, jego odnośnik wskazuje element zastępczy. Każde twierdzenie o zachowaniu znajduje się w samym przewodniku i jest poparte testem w repozytorium albo przypiętą klauzulą ISO 32000-2 / Cascading Style Sheets Working Group (CSS WG), a nie tutaj.

Każdy przewodnik po migracji NextPDF stosuje ten sam uczciwy model. Czytaj każdy przewodnik, pamiętając o tych założeniach:

  • Zgodność, a nie identyczność bajt po bajcie. NextPDF oraz biblioteka, z której rezygnujesz, to niezależne implementacje. Zmigrowany dokument zachowuje intencję funkcjonalną, a nie identyczność na poziomie pikseli lub bajtów. Żaden przewodnik nie twierdzi, że jest bezpośrednim zamiennikiem ani że zapewnia 100% zgodności.
  • Pokrycie to zmierzona liczba, a nie zapewnienie. Tam, gdzie przewodnik podaje pokrycie, na przykład wartość dla adaptera TCPDF, jest to metryka kompletności funkcjonalnej zaczerpnięta z macierzy w repozytorium, w rozumieniu klauzuli 43 ISO/IEC 25023. Jest to zmierzona liczba pokrytych metod, a nie ogólna gwarancja.
  • Każdy przewodnik otwarcie podaje swoje różnice w zachowaniu. Każdy przewodnik zawiera jawną tabelę różnic oraz sekcję „nieobsługiwane / brak bezpośredniego odpowiednika”. Różnica jest udokumentowaną właściwością silnika, a nie wadą.
  • Zmiana mechanizmu renderowania wymaga ponownego przeglądu. Migracja zmienia kod i wymaga nowej bazowej wersji danych wyjściowych. Każdy przewodnik opisuje, jak przetestować migrację; akceptacja wizualna odbywa się dla poszczególnych dokumentów i pozostaje w gestii integratora.

Przewodniki dzielą się na dwie formy. Każda z nich określa, ile kodu trzeba zmienić.

  • Migracje z przepisaniem API nie mają warstwy zgodności: każde miejsce wywołania jest przepisywane przy użyciu odwzorowania czasowników i mapy opcji z przewodnika. Migracje bibliotek konwertujących Hypertext Markup Language (HTML) na PDF (dompdf, mpdf) używają tej formy; prowadzą bezpośrednio do potoku Html NextPDF.
  • Migracje typu „podmień, a następnie zmigruj” dostarczają adapter niemal zgodny ze źródłową biblioteką, więc początkowy krok sprowadza się do minimalnej wymiany zależności. Od tego momentu stopniowo migrujesz miejsca wywołań na nowoczesne API, a następnie wycofujesz adapter. Migracja z TCPDF używa tej formy za pośrednictwem adaptera nextpdf/compat-legacy.

Zestawienie przewodników i repozytoriów właścicielskich

Dział zatytułowany „Zestawienie przewodników i repozytoriów właścicielskich”

Każdy poniższy przewodnik znajduje się w katalogu docs/public/ repozytorium właścicielskiego, a agregator pobiera go do tej witryny. Repozytorium właścicielskie jest autorytatywne dla twierdzeń o zachowaniu danego przewodnika; ten indeks wskazuje wyłącznie kierowanie.

ZPrzewodnikPostaćRepozytorium właścicielskieStrona
DompdfDompdf → potok Html NextPDFPrzepisanie APInextpdf (rdzeń)Przewodnik Dompdf dompdf (planowany w repozytorium nadrzędnym)
mPDFmPDF → rdzeń NextPDFPrzepisanie APInextpdf (rdzeń)Przewodnik mPDF mpdf (planowany w repozytorium nadrzędnym)
TCPDF 6.xTCPDF → NextPDF za pośrednictwem adaptera compat-legacyPodmień, a następnie zmigrujrepozytorium nextpdf-compat-tcpdf, pakiet nextpdf/compat-legacyPrzewodnik TCPDF tcpdf-compat (planowany w repozytorium nadrzędnym)

Przewodniki dompdf i mpdf znajdują się w repozytorium rdzenia, ponieważ prowadzą do API rdzenia silnika, a wspierają je przykłady z katalogu examples/ rdzenia. Przewodnik tcpdf-compat znajduje się w repozytorium compat-tcpdf, ponieważ pakiet nextpdf/compat-legacy odpowiada za powierzchnię zachowań TCPDF oraz testy adaptera wspierające ten przewodnik. Ten indeks należy bezpośrednio do repozytorium dokumentacji, ponieważ obejmuje wiele repozytoriów i nie zawiera żadnego twierdzenia o zachowaniu jakiegokolwiek pojedynczego przewodnika.

  • Dompdf → NextPDF (dompdf (planowany w repozytorium nadrzędnym)) — dla baz kodu, które używają dompdf/dompdf po stronie serwera. Odwzorowuje loadHtml/render/output oraz klucze Options na potok Html NextPDF i kieruje oczekiwania dotyczące funkcji CSS do macierzy wsparcia CSS obejmującej wyłącznie funkcje zweryfikowane. Nie ma warstwy zgodności dla klasy Dompdf; przepisujesz każde miejsce wywołania.
  • mPDF → NextPDF (mpdf (planowany w repozytorium nadrzędnym)) — dla baz kodu, które używają mpdf/mpdf. Odwzorowuje WriteHTML/Output/AddPage oraz tablicę konfiguracyjną konstruktora na API rdzenia, z jedną różnicą w obsłudze czcionek: NextPDF rozwiązuje czcionki za pomocą jednego katalogu czcionek wraz z dopasowaniem CSS i zawsze tworzy podzbiory. Nie ma warstwy zgodności dla klasy Mpdf.
  • TCPDF → NextPDF (compat-legacy) (tcpdf-compat (planowany w repozytorium nadrzędnym)) — dla baz kodu TCPDF 6.x, które chcą jak najmniejszej początkowej zmiany. Zainstaluj adapter, zbadaj rzeczywistą powierzchnię użycia w trybie ścisłym względem macierzy pokrycia z repozytorium, zmigruj miejsca wywołań poza adapter, a następnie dodaj na wierzchu otagowaną strukturę PDF/Universal Accessibility (PDF/UA-2) — funkcję, której TCPDF nigdy nie miał. Adapter jest rusztowaniem, a nie celem, i nie gwarantuje bezpośredniej wymiany.

Każdy element zastępczy [[…]] powyżej wskazuje na stronę, która znajduje się w repozytorium właścicielskim w katalogu docs/public/migration/, a agregator pobiera tę stronę do tej witryny. Docelowe identyfikatory adresów zachowują jedną konwencję:

/migration/<source>/

Token <source> to krótka nazwa biblioteki, z której migrujesz: jedna z dompdf, mpdf lub tcpdf-compat, zgodnie z powyższą tabelą zestawienia przewodników. Dopóki strona docelowa nie zostanie zagregowana, jej odnośnik pozostaje elementem zastępczym i nie rozwiązuje się. Ten indeks nie zawiera żadnego twierdzenia o zachowaniu jakiegokolwiek docelowego przewodnika; odnotowuje wyłącznie kierowanie oraz wspólny model migracji.

  • Macierz wsparcia CSS — autorytatywne źródło oczekiwań dotyczących funkcji CSS w przewodnikach dompdf i mpdf, obejmujące wyłącznie funkcje zweryfikowane.
  • Receptariusz integracji — międzyrepozytoryjny indeks pakietów integracji ekosystemu. Obejmuje inne zagadnienie: podłączanie silnika, a nie migrację na niego.