Przejdź do głównej zawartości

Dokumentacja API pakietu Artisan

Pakiet Artisan (nextpdf/artisan) udostępnia dwie powiązane grupy API. Warstwa renderowania w przeglądarce Chrome — ChromeRendererConfig, ChromeHtmlRenderer, ChromeSecurityPolicy, ChromeRenderResult, ViewportCalculator oraz BrowserPool — przekształca fragment w języku Hypertext Markup Language (HTML) w plik Portable Document Format (PDF) wygenerowany przez przeglądarkę Chrome. Warstwa parsera i importera — PdfReader, PageImporter, ImportedFormXObject oraz pomocnicze klasy tokenizera i tablicy odsyłaczy — ponownie osadza wyrenderowany wynik w dokumencie NextPDF jako Form XObject z zaznaczalnym tekstem.

Zacznij od tego: jeśli potrzebny jest wyłącznie plik PDF z kodu HTML, zwykle nie trzeba korzystać z tego pakietu bezpośrednio. Dołącz obiekt ChromeRendererConfig do dokumentu NextPDF Document i wywołaj metodę writeHtmlChrome(); zobacz szybki start. Po klasy opisane poniżej sięgaj wtedy, gdy osadzasz mechanizm renderujący w procesie roboczym lub uruchamiasz diagnostykę parsera. Pierwszy przykład w sekcji Typowe zadania pokazuje ścieżkę z jednym wywołaniem.

Poniższe trzy przepływy obejmują niemal wszystkie zastosowania produkcyjne: od wywołania na najwyższym poziomie po jawny potok renderowania i importu. Każdy przykład został zweryfikowany względem katalogu nextpdf-Artisan/src (oraz pliku README.md pakietu / ci/tests/).

Wyrenderuj fragment HTML do pliku PDF z zaznaczalnym tekstem za pomocą kanonicznego wywołania.

<?php
declare(strict_types=1);
use NextPDF\Core\Document;
use NextPDF\Artisan\ChromeRendererConfig;
require __DIR__ . '/vendor/autoload.php';
$config = new ChromeRendererConfig(chromeBinaryPath: '/usr/bin/chromium');
$doc = Document::createStandalone();
$doc->setChromeRendererConfig($config);
$doc->addPage();
$doc->writeHtmlChrome('<div style="display:flex;gap:20px"><h2>Revenue</h2><p>$124,500</p></div>');
$doc->save('/tmp/report.pdf');

Co robi: przeglądarka Chrome układa fragment. Warstwa pomostowa osadza stronę 0 jako Form XObject, dzięki czemu tekst pozostaje zaznaczalny. writeHtmlChrome(string $html, ?float $width = null, ?float $height = null): static automatycznie dopasowuje wysokość, gdy $height ma wartość null.

Uruchom mechanizm renderujący i samodzielnie zaimportuj stronę, gdy potrzebny jest jawny potok stojący za writeHtmlChrome(), na przykład w procesach roboczych lub niestandardowych przepływach rozmieszczania.

<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeHtmlRenderer;
use NextPDF\Artisan\ChromeRendererConfig;
use NextPDF\Artisan\ImportedFormXObject;
use NextPDF\Artisan\PageImporter;
use NextPDF\Parser\PdfReader;
$renderer = new ChromeHtmlRenderer(new ChromeRendererConfig(renderTimeout: 30));
try {
$result = $renderer->render($html, widthPt: 595.28);
$reader = new PdfReader($result->getPdfData());
$reader->parse();
$form = (new PageImporter())->import($reader);
} finally {
$renderer->close();
}

Co robi: renderuje bajty PDF z przeglądarki Chrome, parsuje je i importuje stronę 0 do obiektu ImportedFormXObject, który można następnie rozmieścić. Zawsze wywołuj metodę close() dla mechanizmu renderującego, aby zwolnić proces przeglądarki Chrome.

Zbuduj konfigurację z tablicy w stylu frameworka na potrzeby plików config/*.php lub z parametrów pakietu, zamiast ze sztywno zakodowanych argumentów konstruktora.

<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeRendererConfig;
$config = ChromeRendererConfig::fromArray([
'chrome_binary' => '/usr/bin/chromium',
'render_timeout' => 45,
'max_html_size' => 2_000_000,
'no_sandbox' => false,
]);

Co robi: mapuje tablicę konfiguracji w notacji snake-case na konstruktor. Pominięte klucze przyjmują wartości domyślne, a chrome_binary jest stosowany tylko wtedy, gdy jest niepustym łańcuchem znaków.

Te typy obsługują ścieżkę renderowania. Utwórz obiekt ChromeRendererConfig, przekaż go do obiektu ChromeHtmlRenderer, a następnie wywołaj metodę render(), aby uzyskać obiekt ChromeRenderResult.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
new ChromeRendererConfig(?string $chromeBinaryPath = null, int $renderTimeout = 30, string $defaultCss = '', int $maxHtmlSize = 5000000, bool $noSandbox = false)Ścieżka pliku binarnego, limit czasu, kaskadowe arkusze stylów (CSS), limit rozmiaru kodu HTML, flaga piaskownicy.Automatyczne wykrywanie przeglądarki Chrome, gdy ścieżka pliku binarnego ma wartość null; piaskownica pozostaje włączona, dopóki nie zostanie wyłączona.ChromeRendererConfigbrak.Ustawiaj noSandbox tylko wtedy, gdy wymaga tego środowisko uruchomieniowe.
ChromeRendererConfig::fromArray(array $config)chrome_binary, render_timeout, default_css, max_html_size, no_sandbox.Brakujące wartości przyjmują wartości domyślne konstruktora.ChromeRendererConfigNiezgodności typów powodują powrót do wartości domyślnych dla kluczy opcjonalnych.Odpowiada tablicom konfiguracyjnym w stylu frameworka.
new ChromeHtmlRenderer(ChromeRendererConfig $config, ?LoggerInterface $logger = null, ?HtmlSecurityPolicyInterface $htmlSecurityPolicy = null)Konfiguracja, opcjonalny rejestrator, opcjonalna polityka HTML dla warstwy parsowania.Używa DefaultHtmlSecurityPolicy, gdy nie podano żadnej polityki.ChromeHtmlRendererBłędy konfiguracji przeglądarki Chrome ujawniają się przy pierwszym renderowaniu.Mechanizm renderujący zarządza pulą przeglądarek do momentu wywołania close().
ChromeHtmlRenderer::render(string $html, float $widthPt, float $heightPt = 0)html: fragment wejściowy; widthPt: szerokość papieru; heightPt: docelowa wysokość albo automatyczna.Automatycznie oblicza wysokość treści, gdy heightPt <= 0.ChromeRenderResultChromeRenderException; niepowodzenie walidacji rozmiaru kodu HTML.Blokuje sieciowe żądania podzasobów za pośrednictwem protokołu Chrome DevTools Protocol (CDP).
ChromeHtmlRenderer::getHtmlSecurityPolicy()brak.Zwraca skonfigurowaną politykę warstwy parsowania.HtmlSecurityPolicyInterfacebrak.Uzupełnia mechanizmy kontroli przeglądarki Chrome na poziomie transportu.
ChromeHtmlRenderer::close()brak.Zamyka i czyści pulę przeglądarek.voidBłędy zamykania przeglądarki mogą ujawnić się w bibliotece bazowej.Wywołuj podczas zamykania procesu roboczego.

Korzystaj z tych interfejsów API, gdy walidujesz i opakowujesz zewnętrzny kod HTML przed renderowaniem zamiast wywoływać bezpośrednio ChromeHtmlRenderer::render(), który już uruchamia te kroki.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
ChromeSecurityPolicy::validate(string $html, int $maxSize)Dane wejściowe HTML i maksymalny rozmiar w bajtach.Akceptuje dane wejściowe tylko wtedy, gdy rozmiar mieści się w limicie i nie wykryto niedozwolonych konstrukcji.voidChromeRenderException lub wyjątek walidacji.Uruchamiaj przed renderowaniem w przeglądarce, gdy akceptujesz zewnętrzny kod HTML.
ChromeSecurityPolicy::wrapHtml(string $html, int $viewportWidth, string $defaultCss = '')Fragment HTML, szerokość rzutni, opcjonalny domyślny arkusz CSS.Tworzy pełny dokument do renderowania wokół fragmentu.stringBłędy walidacji lub budowania łańcucha znaków.Oddziela arkusz CSS specyficzny dla mechanizmu renderującego od kodu HTML aplikacji.

Korzystaj z tych pomocników do odczytywania wyniku renderowania (ChromeRenderResult) oraz przeliczania między punktami PDF a pikselami CSS przeglądarki Chrome podczas wymiarowania rzutni lub obliczania wysokości.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
new ChromeRenderResult(string $pdfData, float $widthPt, float $heightPt, float $contentHeightCssPx)Surowe bajty PDF, szerokość, wysokość, zmierzona wysokość treści.Brak walidacji poza typowanymi właściwościami konstruktora.ChromeRenderResultbrak.Zwykle zwracany przez ChromeHtmlRenderer::render().
ChromeRenderResult::getPdfData()brak.Zwraca surowe bajty PDF wygenerowane przez przeglądarkę Chrome.stringbrak.Używaj z PdfReader i PageImporter podczas osadzania.
ChromeRenderResult::getWidthPt()brak.Zwraca żądaną szerokość w punktach.floatbrak.Używana do określania rozmiaru importowanego obiektu formularza.
ChromeRenderResult::getHeightPt()brak.Zwraca obliczoną lub żądaną wysokość w punktach.floatbrak.Wysokość automatyczna obejmuje bufor układu wydruku.
ViewportCalculator::pointsToCssPx(float $pt)pt: punkty PDF.Przelicza, przyjmując 96 pikseli CSS na 72 punkty PDF.intbrak.Zaokrągla wynik dla szerokości rzutni przeglądarki Chrome.
ViewportCalculator::cssPxToPoints(float $px)px: piksele CSS.Przelicza, przyjmując 72 punkty PDF na 96 pikseli CSS.floatbrak.Używana do obliczania wysokości automatycznej.

To ścieżka importu. Sparsuj bajty PDF z przeglądarki Chrome za pomocą PdfReader, a następnie przekaż czytnik do PageImporter::import(), aby uzyskać stronę gotową do osadzenia; pozostałe metody PdfReader pomagają w diagnostyce.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
new PdfReader(string $data)data: kompletne bajty PDF.Parser nie jest uruchamiany aż do wywołania parse().PdfReaderbrak.Zaprojektowany dla plików PDF generowanych przez przeglądarkę Chrome.
PdfReader::parse()brak.Parsuje łańcuch tablicy odsyłaczy (xref) oraz zwiastun.voidPdfParseException dla nieprawidłowej struktury PDF.Musi zostać wywołana przed dostępem do object/page.
PdfReader::getObject(int $objNum)Numer obiektu.Rozwiązuje sparsowany obiekt według numeru.PdfObjectPdfParseException, gdy brakuje obiektu albo jest uszkodzony.Używaj po parse().
PdfReader::getTrailer()brak.Zwraca sparsowany słownik zwiastuna.arrayPdfParseException, gdy dane zwiastuna są niedostępne.Używany przez diagnostykę i analizę wersji.
PdfReader::getObjectNumbers()brak.Zwraca sparsowane numery obiektów.arraybrak po sparsowaniu.Przydatny w diagnostyce importera.
PdfReader::getPage(int $pageIndex)pageIndex: indeks strony liczony od zera.Brak niejawnego parsowania.PdfObjectPdfParseException, gdy brakuje strony albo indeks jest poza zakresem.Importer domyślnie używa strony 0.
PdfReader::getPageContentStream(PdfObject $page)page: sparsowany obiekt strony.Rozwiązuje strumień treści.stringPdfParseException dla nieprawidłowych strumieni.Pusty strumień powoduje niepowodzenie importera.
PdfReader::getPageResources(PdfObject $page)page: sparsowany obiekt strony.Rozwiązuje zasoby strony.arrayPdfParseException dla nieprawidłowych zasobów.Słownik zasobów jest osadzany wraz z obiektem formularza.
PdfReader::getPageMediaBox(PdfObject $page)page: sparsowany obiekt strony.W przypadku braku przyjmuje wymiary zbliżone do A4.arrayBłędy parsera.Zwraca współrzędne w przestrzeni PDF.
PdfReader::resolveRef(mixed $value)Sparsowana wartość.Rekurencyjnie rozwiązuje odwołania do obiektów tam, gdzie ma to zastosowanie.mixedPdfParseException dla nieprawidłowych odwołań.Pomocnik o charakterze wewnętrznym udostępniony przepływom importera.
PdfReader::collectPageResources(PdfObject $page)page: sparsowany obiekt strony.Przechodzi przez odwołania do zasobów strony.arrayBłędy parsera.Używana do osadzania obiektów zależnych wraz z importowanymi stronami.
PdfReader::getRevisionCount()brak.Zlicza sparsowane wersje przyrostowe.intbrak po sparsowaniu.Przydatne w przypadku podpisanych lub przyrostowo aktualizowanych plików PDF.
PdfReader::getRevisionXRef(int $index)Indeks wersji liczony od zera.Zwraca tablicę xref jednej wersji.RevisionXRefTablePdfParseException dla nieprawidłowego indeksu.Używaj do niskopoziomowej diagnostyki wersji.
PdfReader::getRevisions()brak.Zwraca wszystkie sparsowane tablice xref wersji.arraybrak po sparsowaniu.Widok stanu parsera tylko do odczytu.
PageImporter::import(PdfReader $reader, int $pageIndex = 0)Sparsowany czytnik i indeks strony liczony od zera.Importuje pierwszą stronę, gdy pominięto indeks.ImportedFormXObjectPdfParseException, gdy strony nie można wyodrębnić.Zbiera strumień treści, ramkę nośnika, zasoby oraz obiekty, do których istnieją odwołania.

Te obiekty wartości oraz pomocnicy są zwracane przez parser lub używane wewnętrznie. Korzystaj z nich, gdy sprawdzasz importowane obiekty, zasoby, strumienie lub tablice wersji.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
new ImportedFormXObject(string $contentStream, array $mediaBox, array $embeddedObjects, array $resourcesDict)Zdekodowany strumień treści, ramka nośnika, osadzone obiekty, słownik zasobów.Przechowuje samodzielną zawartość importowanego formularza.ImportedFormXObjectbrak.Zwykle zwracany przez PageImporter::import().
ImportedFormXObject::getWidth()brak.Zwraca szerokość importowanego formularza w punktach.floatbrak.Używaj podczas umieszczania wyniku z przeglądarki Chrome na stronie.
ImportedFormXObject::getHeight()brak.Zwraca wysokość importowanego formularza w punktach.floatbrak.Wyniki renderowania z wysokością automatyczną są propagowane przez tę wartość.
ImportedFormXObject::getEmbeddedObjects()brak.Zwraca obiekty wymagane przez importowany formularz.arraybrak.Kod zapisujący używa tych obiektów do zachowania zasobów.
ImportedFormXObject::getResourcesDict()brak.Zwraca importowany słownik zasobów.arraybrak.Używany podczas budowania obiektu Form XObject.
ImportedFormXObject::getMediaBox()brak.Zwraca importowaną ramkę nośnika.arraybrak.Używaj do diagnostyki rozmieszczania.
ImportedFormXObject::getContentStream()brak.Zwraca strumień treści importowanej strony.stringbrak.Przeznaczony do integracji writer/import.
new PdfObject(int $objectNumber, int $generation, array $dictionary, ?string $rawStreamData = null, ?string $decodedStreamData = null, ?string $rawDictionaryBytes = null)Numer obiektu, generacja, sparsowany słownik, opcjonalne bajty strumienia, opcjonalny zdekodowany strumień, opcjonalne surowe bajty słownika.Przechowuje stan sparsowanego obiektu.PdfObjectbrak.Tworzony przez wewnętrzne mechanizmy parsera.
PdfObject::getRawDictionaryBytes()brak.Zwraca oryginalne bajty słownika, gdy są dostępne.`stringnull`brak.
PdfObject::getRawStreamData()brak.Zwraca niezdekodowane bajty strumienia, gdy są dostępne.`stringnull`brak.
PdfObject::getDictionary()brak.Zwraca sparsowane wpisy słownika.arraybrak.Widok parsera tylko do odczytu.
PdfObject::get(string $key)Klucz słownika.Zwraca null, gdy klucz jest nieobecny.mixedbrak.Zwalnia wywołujących z parsowania surowych słowników.
PdfObject::getRef(string $key)Klucz słownika.Zwraca krotkę odwołania do obiektu, gdy wartość jest odwołaniem.`arraynull`brak.
PdfObject::getArray(string $key)Klucz słownika.Zwraca wartość tablicową lub pustą tablicę, gdy jest niedostępna.arraybrak.Wygodne opakowanie dla wpisów słownika o wartościach będących tablicami.
PdfObject::hasStream()brak.Sprawdza, czy bajty strumienia są obecne.boolbrak.Odróżnia obiekty zawierające wyłącznie słownik.
PdfObject::getType()brak.Odczytuje /Type.`stringnull`brak.
PdfObject::getSubtype()brak.Odczytuje /Subtype.`stringnull`brak.
RevisionExtractor::extractRevision(string $pdfData, PdfReader $reader, int $revision)Bajty PDF, sparsowany czytnik oraz indeks wersji liczony od zera.Wyodrębnia jedną wersję przyrostową.stringPdfParseException dla nieprawidłowych granic.Używany przez testy parsera i diagnostykę.
RevisionExtractor::getRevisionBoundaries(string $pdfData, PdfReader $reader)Bajty PDF i sparsowany czytnik.Wykrywa zakresy bajtów dla wersji przyrostowych.arrayPdfParseException dla zniekształconej struktury xref.Pomaga analizować podpisane lub przyrostowo aktualizowane pliki PDF.
`StreamDecoder::decode(string $data, stringarray $filter)`Bajty strumienia oraz jeden lub więcej filtrów PDF.Stosuje filtry w kolejności.stringPdfParseException dla nieobsługiwanych lub nieprawidłowych filtrów.
new ResourceCollector(PdfReader $reader)Sparsowany czytnik.Zaczyna od pustego zbioru zebranych obiektów.ResourceCollectorbrak.Używany przez PdfReader::collectPageResources().
ResourceCollector::traverse(mixed $value, int $depth = 0)Sparsowana wartość i głębokość rekursji.Przechodzi przez odwołania do zasobów aż do wewnętrznych limitów głębokości.voidBłędy parsera dla nieprawidłowych odwołań.Wewnętrzny pomocnik domykający zasoby importowanej strony.
ResourceCollector::getCollected()brak.Zwraca zebrane obiekty zasobów.arraybrak.Wywołuj po traverse().
new RevisionXRefTable(int $index, int $xrefOffset, array $xrefEntries, array $trailer, ?int $prevOffset)Indeks wersji, przesunięcie xref, wpisy xref, zwiastun, opcjonalne poprzednie przesunięcie.Niezmienna migawka jednej wersji przyrostowej.RevisionXRefTablebrak.Tworzony przez wewnętrzne mechanizmy parsera.
RevisionXRefTable::getObjectNumbers()brak.Zwraca numery obiektów aktywnych w tablicy wersji.arraybrak.Niskopoziomowe API diagnostyki wersji.
RevisionXRefTable::getActiveObjectCount()brak.Zlicza aktywne obiekty.intbrak.Przydatne w asercjach parsera.
RevisionXRefTable::hasRootUpdate()brak.Informuje, czy wersja aktualizuje korzeń dokumentu.boolbrak.Przydatne w analizie aktualizacji przyrostowych.
RevisionXRefTable::getSize()brak.Zwraca wartość rozmiaru tablicy xref.intbrak.Odzwierciedla sparsowane metadane xref pliku PDF.

Korzystaj z tych interfejsów API wyłącznie do głębokiej diagnostyki parsera lub redukcji danych testowych. Udostępniają one lekser i mechanizmy tablicy odsyłaczy używane przez PdfReader i nie są potrzebne przy zwykłym imporcie.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
new PdfTokenizer(string $data, int $offset = 0)Bajty PDF i opcjonalne przesunięcie początkowe.Zaczyna od przesunięcia zerowego.PdfTokenizerbrak.Niskopoziomowy parser leksykalny.
PdfTokenizer::getOffset()brak.Zwraca bieżące przesunięcie w bajtach.intbrak.Pomocnik diagnostyczny dla błędów parsera.
PdfTokenizer::setOffset(int $offset)Przesunięcie w bajtach.Przesuwa kursor tokenizera.voidPdfParseException dla nieprawidłowego przesunięcia.Używaj ostrożnie; za stan parsera odpowiada wywołujący.
PdfTokenizer::isEof()brak.Sprawdza, czy kursor dotarł do końca.boolbrak.Niskopoziomowy pomocnik pętli parsera.
PdfTokenizer::skipWhitespace()brak.Pomija białe znaki i komentarze PDF.voidbrak.Używany przed odczytem tokenów.
PdfTokenizer::readToken()brak.Odczytuje następny token skalarny.`stringintfloat
PdfTokenizer::readName()brak.Odczytuje obiekt nazwy PDF.stringPdfParseException dla zniekształconej nazwy.Dekoduje sekwencje ucieczki w nazwie.
PdfTokenizer::readLiteralString()brak.Odczytuje łańcuch literałowy.stringPdfParseException dla zniekształconego łańcucha.Obsługuje zagnieżdżone nawiasy i sekwencje ucieczki.
PdfTokenizer::readHexString()brak.Odczytuje łańcuch szesnastkowy.stringPdfParseException dla zniekształconego kodu szesnastkowego.Uzupełnia kod szesnastkowy o nieparzystej długości zgodnie z regułami parsera.
PdfTokenizer::readNumber()brak.Odczytuje liczbę całkowitą lub zmiennoprzecinkową.`intfloat`PdfParseException dla nieprawidłowej liczby.
PdfTokenizer::readKeyword()brak.Odczytuje słowo kluczowe PDF.stringPdfParseException dla nieprawidłowego słowa kluczowego.Utrzymuje parsowanie słów kluczowych w jednym miejscu.
PdfTokenizer::readDictionary()brak.Odczytuje słownik PDF.arrayPdfParseException dla zniekształconych słowników.Używany dla obiektów, strumieni i zwiastunów.
PdfTokenizer::readArray()brak.Odczytuje tablicę PDF.arrayPdfParseException dla zniekształconych tablic.Rekurencyjny pomocnik parsera.
PdfTokenizer::readValue()brak.Odczytuje dowolną obsługiwaną wartość PDF.mixedPdfParseException dla zniekształconych wartości.Powszechny prymityw parsera.
PdfTokenizer::readStreamData(int $length)Długość strumienia.Odczytuje dokładnie żądaną liczbę bajtów strumienia.stringPdfParseException dla nieprawidłowych granic strumienia.Używany po rozwiązaniu długości strumienia ze słownika.
PdfTokenizer::peek(int $length = 1)Liczba bajtów.Odczytuje z wyprzedzeniem bez przesuwania kursora.stringbrak.Przydatny przy rozgałęzieniach parsera.
PdfTokenizer::searchBackward(string $pattern, int $startFrom = 0)Wzorzec i opcjonalne przesunięcie początkowe.Wyszukuje wstecz od końca lub od podanego przesunięcia.`intfalse`brak.
PdfTokenizer::readLine()brak.Odczytuje wiersz od bieżącego przesunięcia.stringbrak.Niskopoziomowy pomocnik skanera.
CrossRefParser::parseXRefTable(string $data, int $offset)Bajty PDF i przesunięcie tablicy xref.Parsuje wpisy klasycznej tablicy odsyłaczy.arrayPdfParseException dla zniekształconych danych xref.Niskopoziomowe API parsera.
CrossRefParser::parseXRefStream(string $data, int $offset)Bajty PDF i przesunięcie strumienia xref.Parsuje wpisy strumienia tablicy odsyłaczy.arrayPdfParseException dla zniekształconych danych strumienia.Obsługuje nowoczesne strumienie xref formatu PDF.

EInvoiceServiceFactory leniwie rozwiązuje opcjonalne kontrakty faktur elektronicznych Premium i zwraca null, gdy są one nieobecne. BrowserPool zarządza cyklem życia przeglądarki Chrome należącej do mechanizmu renderującego; zarządzaj pulą bezpośrednio tylko w długo działających procesach roboczych.

SymbolParametryZachowanie domyślneZwracaZgłasza lub kończy się niepowodzeniemUwagi
EInvoiceServiceFactory::makeEmbedder()brak.Zwraca null, chyba że zainstalowano obsługę faktur elektronicznych Premium Pro.`EmbedderInterfacenull`Błędy konstrukcji opcjonalnego pakietu.
EInvoiceServiceFactory::makeValidator()brak.Zwraca null, chyba że zainstalowano obsługę walidacji Premium Enterprise.`ValidatorInterfacenull`Błędy konstrukcji opcjonalnego pakietu.
EInvoiceServiceFactory::makeDefaultProfile()brak.Zwraca domyślny profil faktury elektronicznej, gdy jest dostępny.`ProfileInterfacenull`Błędy opcjonalnego pakietu.
EInvoiceServiceFactory::makeSchematronRunner()brak.Zwraca null, chyba że zainstalowano obsługę Schematron Premium Enterprise.`SchematronRunnerInterfacenull`Błędy konstrukcji opcjonalnego pakietu.
new BrowserPool(ChromeRendererConfig $config, ?LoggerInterface $logger = null)Konfiguracja mechanizmu renderującego i opcjonalny rejestrator.Przeglądarka uruchamia się leniwie przy pierwszym getBrowser().BrowserPoolbrak do momentu uruchomienia przeglądarki.Pomocnik cyklu życia należący do mechanizmu renderującego.
BrowserPool::getBrowser()brak.Uruchamia lub zwraca bieżącą instancję przeglądarki Chrome.BrowserBłędy uruchamiania przeglądarki.Pomocnik cyklu życia należący do mechanizmu renderującego.
BrowserPool::incrementRenderCount()brak.Zwiększa licznik renderowania i przeprowadza rotację, gdy wymaga tego polityka puli.voidBłędy cyklu życia przeglądarki.Używany przez długo działające procesy robocze.
BrowserPool::close()brak.Zamyka zarządzaną instancję przeglądarki.voidBłędy zamykania przeglądarki.Wywołuj podczas zamykania procesu roboczego.
  • Mechanizm renderujący nie zapewnia piaskownicy przeglądarki dla niezaufanego kodu HTML. Przed renderowaniem zweryfikuj rozmiar, politykę zasobów oraz uprawnienia wywołującego.
  • Interfejsy API parsera są celowo wąskie. Używaj ich do importu wyniku z przeglądarki Chrome, a nie do ogólnej naprawy plików PDF.
  • Jawnie zamykaj mechanizmy renderujące w długo działających procesach roboczych.