Przejdź do głównej zawartości

Receptariusz PHP

Ten indeks zawiera receptury NextPDF natywne dla PHP: zorientowane na zadania, uruchamialne strony napisane bezpośrednio z użyciem podstawowego API PHP. Repozytorium core nextpdf przechowuje i weryfikuje każdą recepturę w katalogu docs/public/cookbook/php/. Każda receptura ma skrypt examples/*.php oraz test uruchomieniowy tests/Cookbook/Php/. Następnie agregator pobiera każdą stronę do tej witryny i zachowuje informacje o jej pochodzeniu źródłowym.

Jako indeks ta strona nie zawiera żadnych deklaracji dotyczących zachowania poszczególnych receptur. Każdy wiersz wskazuje cel receptury, podstawowy moduł, z którego korzysta, oraz jej zadeklarowany profil odtwarzalności. Profil i wszelkie deklaracje zgodności należą do samej strony receptury. Pochodzą z nagłówka front-matter tej strony oraz z jej testu w repozytorium, a nie z tego indeksu. Receptariusz integracji (framework / renderer / usługa) znajdziesz w Receptariuszu integracji. Kontrakt, którego przestrzega każda uruchamialna receptura, opisują Konwencje receptur.

Każdy zapis [[…]] poniżej to odwołanie wyprzedzające do strony tworzonej w repozytorium core w katalogu docs/public/cookbook/php/. Następnie agregator pobiera tę stronę do tej witryny. Każdy slug stosuje jedną konwencję: ma pojedynczy segment.

/cookbook/php/<recipe>/

<recipe> określa cel receptury w formacie kebab-case (na przykład render-html-to-pdf, a nie nazwę modułu html). Jest zapisany małymi literami i rozdzielony łącznikami, nie zawiera numerów wersji i kończy się jednym ukośnikiem. Dopóki strona docelowa nie zostanie zagregowana, jej odnośnik jest symbolem zastępczym i nie prowadzi do celu. Receptura, która nie ma jeszcze uruchamialnego przykładu (lista braków poniżej), nie może zostać opublikowana, dopóki nie powstaną jej przykład i test uruchomieniowy, choć odnośnik już wskazuje docelowy slug.

Każda receptura deklaruje najściślejszy profil, który może rzetelnie spełnić:

  • bitwise — identyczny bajt po bajcie między uruchomieniami (zwykła, deterministyczna treść z całkowicie ustaloną entropią).
  • structural — identyczny po znormalizowaniu zmiennych atomów (/ID z trailera, daty creation/modification, prefiksy podzbioru czcionki — w praktyce każdy wieloobiektowy PDF).
  • semantic — wyłącznie równoważność strukturalnego AST i metadanych (wynik podpisany lub ze znacznikiem czasu albo wynik, którego równoważność z natury nie jest stabilna na poziomie bajtów).

Strona receptury potwierdza profil za pomocą swojego testu uruchomieniowego. Ten indeks podaje jedynie wartość deklarowaną przez tę stronę.

Repozytorium core obecnie przechowuje i scala te pięć receptur: zestaw Wave 8.

RecepturaCo robiModułProfil
sign-pades (planowane w repozytorium źródłowym)Zastosuj bazowy podpis CMS/PAdES z kluczem programowymSecuritysemantic
encrypt-aes256 (planowane w repozytorium źródłowym)Zaszyfruj algorytmem AES-256 i ustaw flagi uprawnieńSecuritystructural
pdfa4-conformance-gate (planowane w repozytorium źródłowym)Wygeneruj wynik PDF/A-4 i uzależnij go od zewnętrznego walidatoraConformancesemantic
accessible-pdfua2-from-html (planowane w repozytorium źródłowym)Wyemituj otagowaną strukturę na potrzeby dostępnego tworzenia PDF/UA-2Accessibilitysemantic
validate-signature (planowane w repozytorium źródłowym)Sprawdź obecność podpisu w PDF oraz granicę zaufaniaInspectsemantic

Buduj, paginuj i stylizuj dokument.

RecepturaCo robiModułProfil
render-html-to-pdf (planowane w repozytorium źródłowym)Renderuj dokument HTML do PDFHtmlstructural
style-with-css (planowane w repozytorium źródłowym)Zastosuj CSS do renderowania HTMLHtmlstructural
html-table-layout (planowane w repozytorium źródłowym)Rozmieść tabelę HTMLHtmlstructural
paginate-long-html (planowane w repozytorium źródłowym)Paginuj długi dokument HTMLHtmlstructural
compose-text-and-fonts (planowane w repozytorium źródłowym)Składaj tekst z kontrolą typografiiTypographystructural
embed-and-subset-fonts (planowane w repozytorium źródłowym)Osadzaj i twórz podzbiory czcionekFontstructural
cjk-vertical-writing (planowane w repozytorium źródłowym)Składaj tekst CJK w pionowym trybie pismaTypographystructural
multi-page-document (planowane w repozytorium źródłowym)Zbuduj dokument wielostronicowyDocumentstructural
headers-and-footers (planowane w repozytorium źródłowym)Dodaj żywe paginy: nagłówki i stopkiLayoutstructural

Pracuj z grafiką wektorową, obrazami, warstwami i przestrzenią współrzędnych.

RecepturaCo robiModułProfil
draw-vector-graphics (planowane w repozytorium źródłowym)Rysuj grafikę wektorowąGraphicsstructural
gradients-and-transparency (planowane w repozytorium źródłowym)Zastosuj gradienty i przezroczystośćGraphicsstructural
embed-images (planowane w repozytorium źródłowym)Osadzaj obrazy rastroweContentstructural
optional-content-layers (planowane w repozytorium źródłowym)Użyj treści opcjonalnej (warstw)Graphicsstructural
transform-coordinate-space (planowane w repozytorium źródłowym)Przekształć przestrzeń współrzędnychGraphicsstructural

Dodaj zakładki, odnośniki, adnotacje i pola AcroForm.

RecepturaCo robiModułProfil
bookmarks-and-toc (planowane w repozytorium źródłowym)Zbuduj zakładki i spis treściNavigationstructural
links-and-annotations (planowane w repozytorium źródłowym)Dodaj odnośniki i adnotacjeNavigationstructural
generate-barcodes (planowane w repozytorium źródłowym)Generuj kody kreskoweBarcodebitwise
fill-pdf-form (planowane w repozytorium źródłowym)Wypełnij formularz AcroFormFormstructural
flatten-form-fields (planowane w repozytorium źródłowym)Spłaszcz pola formularzaFormstructural

Ustaw metadane i zachowanie przeglądarki.

RecepturaCo robiModułProfil
set-document-metadata (planowane w repozytorium źródłowym)Ustaw metadane dokumentuMetadatastructural
set-viewer-preferences (planowane w repozytorium źródłowym)Ustaw preferencje przeglądarkiDocumentstructural

Korzystaj z szyfrowania, podpisywania, dostępności i generowania wyników profilowanych. Na swoich stronach te receptury zachowują granice obsługa≠zgodność oraz obecność≠ważność.

RecepturaCo robiModułProfil
encrypt-with-permissions (planowane w repozytorium źródłowym)Zaszyfruj z flagami uprawnieńSecuritystructural
sign-pades-b-b (planowane w repozytorium źródłowym)Zastosuj podpis PAdES (B-B i B-T)Securitysemantic
inspect-existing-signature (planowane w repozytorium źródłowym)Sprawdź istniejący podpisInspectsemantic
tagged-pdf-ua2 (planowane w repozytorium źródłowym)Wyemituj otagowaną strukturę dla PDF/UA-2Accessibilitysemantic
pdf-a-4-output (planowane w repozytorium źródłowym)Wygeneruj wynik PDF/A-4Conformancesemantic
validate-conformance (planowane w repozytorium źródłowym)Zwaliduj względem profilu zgodnościCompliancesemantic

Odczytuj treść i strukturę z pliku PDF.

RecepturaCo robiModułProfil
extract-text-content (planowane w repozytorium źródłowym)Wyodrębnij treść tekstowąTextsemantic
parse-and-inspect-pdf (planowane w repozytorium źródłowym)Parsuj i analizuj plik PDFInspectsemantic
inspect-layout-boxes (planowane w repozytorium źródłowym)Badaj ramki układuInspectsemantic

Stosuj wzorce obejmujące kilka modułów.

RecepturaCo robiObejmujeProfil
worker-safe-batch-rendering (planowane w repozytorium źródłowym)Renderuj bezpiecznie w długotrwałym procesie roboczym (współdzielone rejestry, ograniczona pamięć)Core · Performance · Supportsemantic
exception-aware-error-handling (planowane w repozytorium źródłowym)Obsługuj błędy z wykorzystaniem hierarchii wyjątków NextPDFException · Contractsstructural
observe-with-opentelemetry (planowane w repozytorium źródłowym)Obserwuj renderowanie za pomocą OpenTelemetryObservability · Telemetry · Eventsemantic

Te receptury wymagają nowego pliku examples/*.php oraz testu uruchomieniowego tests/Cookbook/Php/ w repozytorium core, zanim będą mogły zostać opublikowane. Slug podany powyżej jest ostateczny. Strona pozostaje symbolem zastępczym, dopóki nie pojawi się przykład i nie zostanie uruchomiony jego test:

  • sign-pades-b-b (planowane w repozytorium źródłowym) (obejmuje PAdES B-B i B-T)
  • inspect-existing-signature (planowane w repozytorium źródłowym)
  • extract-text-content (planowane w repozytorium źródłowym)
  • parse-and-inspect-pdf (planowane w repozytorium źródłowym)
  • validate-conformance (planowane w repozytorium źródłowym)
  • inspect-layout-boxes (planowane w repozytorium źródłowym)
  • worker-safe-batch-rendering (planowane w repozytorium źródłowym) (przykład istnieje; dodano nowy test uruchomieniowy pamięci/GC)
  • observe-with-opentelemetry (planowane w repozytorium źródłowym) (dodano nowy natywny dla PHP przykład)

Wszystkie pozostałe receptury powyżej mają już powiązany plik examples/*.php i wymagają jedynie opakowania uruchomieniowego. Ten indeks odnotowuje slug oraz docelową stronę. Nie twierdzi, że którakolwiek oczekująca strona jest już ukończona.