Ga naar inhoud

Artisan API-referentie

Het Artisan-pakket (nextpdf/artisan) biedt twee verwante API-groepen. De Chrome-rendering-API’s — ChromeRendererConfig, ChromeHtmlRenderer, ChromeSecurityPolicy, ChromeRenderResult, ViewportCalculator en BrowserPool — zetten een Hypertext Markup Language (HTML)-fragment om in een door Chrome geproduceerd Portable Document Format (PDF)-bestand. De parser- en importer-API’s — PdfReader, PageImporter, ImportedFormXObject en ondersteunende tokenizer- en cross-referentieklassen — sluiten die gerenderde uitvoer weer in een NextPDF-document in als een Form XObject waarvan de tekst selecteerbaar blijft.

Begin hier: als je alleen een PDF uit HTML nodig hebt, gebruik je dit pakket zelden rechtstreeks. Koppel een ChromeRendererConfig aan een NextPDF Document en roep writeHtmlChrome() aan; zie de quickstart. Gebruik de onderstaande klassen wanneer je een renderer in een worker insluit of parserdiagnostiek uitvoert. Het eerste voorbeeld onder Veelvoorkomende taken toont het pad met één aanroep.

De drie onderstaande workflows dekken vrijwel al het productiegebruik, van de high-level aanroep tot de expliciete render-en-importpijplijn. Elk voorbeeld is geverifieerd tegen nextpdf-Artisan/src (en de README.md / ci/tests/ van het pakket).

Render een HTML-fragment naar een PDF met selecteerbare tekst met de canonieke aanroep.

<?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');

Wat het doet: Chrome maakt de lay-out van het fragment. De bridge neemt pagina 0 op als een Form XObject, zodat de tekst selecteerbaar blijft. writeHtmlChrome(string $html, ?float $width = null, ?float $height = null): static past de hoogte automatisch aan wanneer $height gelijk is aan null.

Voer de renderer uit en importeer de pagina zelf wanneer je de expliciete pijplijn achter writeHtmlChrome() nodig hebt, zoals in workers of aangepaste plaatsingsflows.

<?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();
}

Wat het doet: het rendert PDF-bytes via Chrome, parseert ze en importeert pagina 0 naar een ImportedFormXObject die je kunt plaatsen. Roep altijd close() aan op de renderer om het Chrome-proces vrij te geven.

Stel de configuratie samen vanuit een array in framework-stijl voor config/*.php of bundleparameters in plaats van hardgecodeerde constructorargumenten.

<?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,
]);

Wat het doet: het wijst een configuratie-array in snake_case toe aan de constructor. Niet-ingestelde sleutels gebruiken standaardwaarden, en chrome_binary wordt alleen toegepast wanneer de waarde een niet-lege string is.

Deze typen verzorgen het weergavepad. Bouw een ChromeRendererConfig, geef die door aan een ChromeHtmlRenderer en roep vervolgens render() aan om een ChromeRenderResult te krijgen.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
new ChromeRendererConfig(?string $chromeBinaryPath = null, int $renderTimeout = 30, string $defaultCss = '', int $maxHtmlSize = 5000000, bool $noSandbox = false)Binair pad, time-out, Cascading Style Sheets (CSS), HTML-groottelimiet, sandboxvlag.Detecteert Chrome automatisch wanneer het binaire pad null is; de sandbox blijft ingeschakeld tenzij die wordt uitgeschakeld.ChromeRendererConfigGeen verwacht.Stel noSandbox alleen in wanneer de runtime dit vereist.
ChromeRendererConfig::fromArray(array $config)chrome_binary, render_timeout, default_css, max_html_size, no_sandbox.Ontbrekende waarden gebruiken de standaardwaarden van de constructor.ChromeRendererConfigBij typeconflicten wordt voor optionele sleutels op standaardwaarden teruggevallen.Komt overeen met configuratie-arrays in framework-stijl.
new ChromeHtmlRenderer(ChromeRendererConfig $config, ?LoggerInterface $logger = null, ?HtmlSecurityPolicyInterface $htmlSecurityPolicy = null)Configuratie, optionele logger, optioneel HTML-beleid op de parselaag.Gebruikt DefaultHtmlSecurityPolicy wanneer er geen beleid wordt opgegeven.ChromeHtmlRendererChrome-installatiefouten treden op bij de eerste weergave.De renderer beheert een browserpool tot close().
ChromeHtmlRenderer::render(string $html, float $widthPt, float $heightPt = 0)html: invoerfragment; widthPt: papierbreedte; heightPt: doelhoogte of automatisch.Berekent de inhoudshoogte automatisch wanneer heightPt <= 0.ChromeRenderResultChromeRenderException; mislukte validatie van de HTML-grootte.Blokkeert netwerkverzoeken voor subbronnen via het Chrome DevTools Protocol (CDP).
ChromeHtmlRenderer::getHtmlSecurityPolicy()geen.Retourneert het geconfigureerde beleid van de parselaag.HtmlSecurityPolicyInterfaceGeen verwacht.Vult de Chrome-besturingselementen op transportniveau aan.
ChromeHtmlRenderer::close()geen.Sluit de browserpool en wist deze.voidFouten bij het afsluiten van de browser kunnen vanuit de onderliggende bibliotheek naar voren komen.Aanroepen tijdens het afsluiten van de worker.

Gebruik deze API’s wanneer je externe HTML vóór de weergave zelf wilt valideren en omhullen, in plaats van alleen ChromeHtmlRenderer::render() aan te roepen; die methode roept ze al aan.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
ChromeSecurityPolicy::validate(string $html, int $maxSize)HTML-invoer en maximale grootte in bytes.Accepteert invoer alleen wanneer de grootte binnen de limiet valt en er geen niet-toegestane constructies zijn.voidChromeRenderException of een validatie-uitzondering.Voer dit uit vóór de browserweergave wanneer je externe HTML accepteert.
ChromeSecurityPolicy::wrapHtml(string $html, int $viewportWidth, string $defaultCss = '')HTML-fragment, viewportbreedte, optionele standaard-CSS.Produceert een volledig weergavedocument rond het fragment.stringValidatie- of stringconstructiefouten.Houdt renderer-specifieke CSS gescheiden van de applicatie-HTML.

Gebruik deze helpers om een renderresultaat (ChromeRenderResult) te lezen en bij het bepalen van een viewportformaat of het berekenen van de hoogte te converteren tussen PDF-punten en Chrome CSS-pixels.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
new ChromeRenderResult(string $pdfData, float $widthPt, float $heightPt, float $contentHeightCssPx)Ruwe PDF-bytes, breedte, hoogte, gemeten inhoudshoogte.Valideert niets buiten de getypeerde constructoreigenschappen.ChromeRenderResultGeen verwacht.Doorgaans geretourneerd door ChromeHtmlRenderer::render().
ChromeRenderResult::getPdfData()geen.Retourneert ruwe, door Chrome geproduceerde PDF-bytes.stringGeen verwacht.Gebruik dit met PdfReader en PageImporter bij het insluiten.
ChromeRenderResult::getWidthPt()geen.Retourneert de gevraagde breedte in punten.floatGeen verwacht.Gebruikt om het geïmporteerde form-object te dimensioneren.
ChromeRenderResult::getHeightPt()geen.Retourneert de berekende of gevraagde hoogte in punten.floatGeen verwacht.De automatische hoogte omvat een buffer voor de printlay-out.
ViewportCalculator::pointsToCssPx(float $pt)pt: PDF-punten.Converteert op basis van 96 CSS px per 72 PDF-punten.intGeen verwacht.Afgerond voor de Chrome-viewportbreedte.
ViewportCalculator::cssPxToPoints(float $px)px: CSS-pixels.Converteert op basis van 72 PDF-punten per 96 CSS px.floatGeen verwacht.Gebruikt voor de berekening van de automatische hoogte.

Dit is het importpad. Parseer Chrome PDF-bytes met PdfReader en geef de reader vervolgens door aan PageImporter::import() om een insluitbare pagina te krijgen; de overige methoden van PdfReader ondersteunen diagnostiek.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
new PdfReader(string $data)data: volledige PDF-bytes.De parser wordt pas uitgevoerd bij parse().PdfReaderGeen verwacht.Ontworpen voor door Chrome gegenereerde PDF’s.
PdfReader::parse()geen.Parseert de cross-referentieketen (xref) en de trailer.voidPdfParseException voor een ongeldige PDF-structuur.Moet worden aangeroepen vóór toegang tot objecten of pagina’s.
PdfReader::getObject(int $objNum)Objectnummer.Lost het geparseerde object op aan de hand van het nummer.PdfObjectPdfParseException wanneer het object ontbreekt of misvormd is.Gebruik dit na parse().
PdfReader::getTrailer()geen.Retourneert de geparseerde trailer-dictionary.arrayPdfParseException wanneer trailergegevens niet beschikbaar zijn.Gebruikt door diagnostiek en revisieanalyse.
PdfReader::getObjectNumbers()geen.Retourneert de geparseerde objectnummers.arrayGeen verwacht na parsing.Nuttig voor importerdiagnostiek.
PdfReader::getPage(int $pageIndex)pageIndex: nulgebaseerde pagina-index.Geen impliciete parsing.PdfObjectPdfParseException wanneer de pagina ontbreekt of buiten bereik ligt.De importer gebruikt standaard pagina 0.
PdfReader::getPageContentStream(PdfObject $page)page: geparseerd pagina-object.Lost de inhoudsstream op.stringPdfParseException voor ongeldige streams.Een lege stream veroorzaakt een fout in de importer.
PdfReader::getPageResources(PdfObject $page)page: geparseerd pagina-object.Lost de paginabronnen op.arrayPdfParseException voor ongeldige bronnen.De brondictionary wordt samen met het form-object ingesloten.
PdfReader::getPageMediaBox(PdfObject $page)page: geparseerd pagina-object.Valt terug op A4-achtige afmetingen wanneer afwezig.arrayParserfouten.Retourneert coördinaten in de PDF-ruimte.
PdfReader::resolveRef(mixed $value)Geparseerde waarde.Lost objectreferenties recursief op waar van toepassing.mixedPdfParseException voor ongeldige referenties.Interne helper voor importerworkflows.
PdfReader::collectPageResources(PdfObject $page)page: geparseerd pagina-object.Doorloopt de referenties van paginabronnen.arrayParserfouten.Gebruikt om afhankelijke objecten samen met geïmporteerde pagina’s in te sluiten.
PdfReader::getRevisionCount()geen.Telt de geparseerde incrementele revisies.intGeen verwacht na parsing.Nuttig voor ondertekende of incrementeel bijgewerkte PDF’s.
PdfReader::getRevisionXRef(int $index)Nulgebaseerde revisie-index.Retourneert één revisie-xref-tabel.RevisionXRefTablePdfParseException voor een ongeldige index.Gebruik dit voor laagniveau-revisiediagnostiek.
PdfReader::getRevisions()geen.Retourneert alle geparseerde revisie-xref-tabellen.arrayGeen verwacht na parsing.Weergave van de parserstatus voor alleen-lezen gebruik.
PageImporter::import(PdfReader $reader, int $pageIndex = 0)Geparseerde reader en nulgebaseerde pagina-index.Importeert de eerste pagina wanneer weggelaten.ImportedFormXObjectPdfParseException wanneer de pagina niet kan worden geëxtraheerd.Verzamelt de inhoudsstream, media box, bronnen en gerefereerde objecten.

Deze value-objecten en helpers worden door de parser geretourneerd of intern gebruikt. Gebruik ze wanneer je geïmporteerde objecten, bronnen, streams of revisietabellen inspecteert.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
new ImportedFormXObject(string $contentStream, array $mediaBox, array $embeddedObjects, array $resourcesDict)Gedecodeerde inhoudsstream, media box, ingesloten objecten, brondictionary.Slaat een op zichzelf staande geïmporteerde form-payload op.ImportedFormXObjectGeen verwacht.Doorgaans geretourneerd door PageImporter::import().
ImportedFormXObject::getWidth()geen.Retourneert de breedte van de geïmporteerde form in punten.floatGeen verwacht.Gebruik dit bij het plaatsen van Chrome-uitvoer op een pagina.
ImportedFormXObject::getHeight()geen.Retourneert de hoogte van de geïmporteerde form in punten.floatGeen verwacht.Renderresultaten met automatische hoogte worden via deze waarde doorgegeven.
ImportedFormXObject::getEmbeddedObjects()geen.Retourneert de objecten die de geïmporteerde form nodig heeft.arrayGeen verwacht.Writer-code gebruikt deze objecten om bronnen te behouden.
ImportedFormXObject::getResourcesDict()geen.Retourneert de geïmporteerde brondictionary.arrayGeen verwacht.Gebruikt bij het opbouwen van de form XObject.
ImportedFormXObject::getMediaBox()geen.Retourneert de geïmporteerde media box.arrayGeen verwacht.Gebruik dit voor plaatsingsdiagnostiek.
ImportedFormXObject::getContentStream()geen.Retourneert de inhoudsstream van de geïmporteerde pagina.stringGeen verwacht.Bedoeld voor writer/import-integratie.
new PdfObject(int $objectNumber, int $generation, array $dictionary, ?string $rawStreamData = null, ?string $decodedStreamData = null, ?string $rawDictionaryBytes = null)Objectnummer, generatie, geparseerde dictionary, optionele streambytes, optionele gedecodeerde stream, optionele ruwe dictionarybytes.Slaat de geparseerde objectstatus op.PdfObjectGeen verwacht.Aangemaakt door interne onderdelen van de parser.
PdfObject::getRawDictionaryBytes()geen.Retourneert de oorspronkelijke dictionarybytes wanneer beschikbaar.`stringnull`Geen verwacht.
PdfObject::getRawStreamData()geen.Retourneert niet-gedecodeerde streambytes wanneer beschikbaar.`stringnull`Geen verwacht.
PdfObject::getDictionary()geen.Retourneert de geparseerde dictionary-items.arrayGeen verwacht.Weergave van de parser voor alleen-lezen gebruik.
PdfObject::get(string $key)Dictionarysleutel.Retourneert null wanneer de sleutel afwezig is.mixedGeen verwacht.Voorkomt dat aanroepers ruwe dictionaries moeten parseren.
PdfObject::getRef(string $key)Dictionarysleutel.Retourneert een objectreferentie-tuple wanneer de waarde een referentie is.`arraynull`Geen verwacht.
PdfObject::getArray(string $key)Dictionarysleutel.Retourneert een array-waarde of een lege array wanneer niet beschikbaar.arrayGeen verwacht.Handige wrapper voor dictionary-items met array-waarden.
PdfObject::hasStream()geen.Controleert of er streambytes aanwezig zijn.boolGeen verwacht.Onderscheidt objecten die uitsluitend uit een dictionary bestaan.
PdfObject::getType()geen.Leest /Type.`stringnull`Geen verwacht.
PdfObject::getSubtype()geen.Leest /Subtype.`stringnull`Geen verwacht.
RevisionExtractor::extractRevision(string $pdfData, PdfReader $reader, int $revision)PDF-bytes, een geparseerde reader en de nulgebaseerde revisie-index.Extraheert één incrementele revisie.stringPdfParseException voor ongeldige grenzen.Gebruikt door parsertests en -diagnostiek.
RevisionExtractor::getRevisionBoundaries(string $pdfData, PdfReader $reader)PDF-bytes en een geparseerde reader.Ontdekt de bytebereiken voor incrementele revisies.arrayPdfParseException voor een misvormde xref-structuur.Helpt bij het analyseren van ondertekende of incrementeel bijgewerkte PDF’s.
`StreamDecoder::decode(string $data, stringarray $filter)`Streambytes en een of meer PDF-filters.Past filters op volgorde toe.stringPdfParseException voor niet-ondersteunde of ongeldige filters.
new ResourceCollector(PdfReader $reader)Geparseerde reader.Begint met een lege set verzamelde objecten.ResourceCollectorGeen verwacht.Gebruikt door PdfReader::collectPageResources().
ResourceCollector::traverse(mixed $value, int $depth = 0)Geparseerde waarde en recursiediepte.Doorloopt bronreferenties tot aan de interne dieptelimieten.voidParserfouten voor ongeldige referenties.Interne helper voor de bronsluiting bij pagina-import.
ResourceCollector::getCollected()geen.Retourneert de verzamelde bronobjecten.arrayGeen verwacht.Aanroepen na traverse().
new RevisionXRefTable(int $index, int $xrefOffset, array $xrefEntries, array $trailer, ?int $prevOffset)Revisie-index, xref-offset, xref-items, trailer, optionele vorige offset.Onveranderlijke momentopname van één incrementele revisie.RevisionXRefTableGeen verwacht.Aangemaakt door interne onderdelen van de parser.
RevisionXRefTable::getObjectNumbers()geen.Retourneert de objectnummers die actief zijn in de revisietabel.arrayGeen verwacht.Laagniveau-API voor revisiediagnostiek.
RevisionXRefTable::getActiveObjectCount()geen.Telt de actieve objecten.intGeen verwacht.Nuttig voor parserasserties.
RevisionXRefTable::hasRootUpdate()geen.Geeft aan of de revisie de documentroot bijwerkt.boolGeen verwacht.Nuttig voor de analyse van incrementele updates.
RevisionXRefTable::getSize()geen.Retourneert de groottewaarde van de xref-tabel.intGeen verwacht.Weerspiegelt de geparseerde PDF-xref-metadata.

Gebruik deze API’s alleen voor diepgaande parserdiagnostiek of het reduceren van fixtures. Ze stellen de lexer- en cross-referentiemachinerie onder PdfReader beschikbaar en zijn niet nodig voor normale import.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
new PdfTokenizer(string $data, int $offset = 0)PDF-bytes en optionele initiële offset.Begint bij offset nul.PdfTokenizerGeen verwacht.Laagniveau-lexicale parser.
PdfTokenizer::getOffset()geen.Retourneert de huidige byte-offset.intGeen verwacht.Diagnostische helper voor parserfouten.
PdfTokenizer::setOffset(int $offset)Byte-offset.Verplaatst de cursor van de tokenizer.voidPdfParseException voor een ongeldige offset.Voorzichtig gebruiken; aanroepers beheren de parserstatus.
PdfTokenizer::isEof()geen.Controleert of de cursor het einde heeft bereikt.boolGeen verwacht.Laagniveau-helper voor de parserlus.
PdfTokenizer::skipWhitespace()geen.Gaat voorbij PDF-witruimte en -opmerkingen.voidGeen verwacht.Gebruikt vóór het lezen van tokens.
PdfTokenizer::readToken()geen.Leest het volgende scalaire token.`stringintfloat
PdfTokenizer::readName()geen.Leest een PDF-name-object.stringPdfParseException voor een misvormde name.Decodeert name-escapes.
PdfTokenizer::readLiteralString()geen.Leest een literal string.stringPdfParseException voor een misvormde string.Verwerkt geneste haakjes en escapes.
PdfTokenizer::readHexString()geen.Leest een hexadecimale string.stringPdfParseException voor misvormde hex.Vult hex met oneven lengte aan volgens de parserregels.
PdfTokenizer::readNumber()geen.Leest een integer of float.`intfloat`PdfParseException voor een ongeldig getal.
PdfTokenizer::readKeyword()geen.Leest een PDF-keyword.stringPdfParseException voor een ongeldig keyword.Houdt het parsen van keywords gecentraliseerd.
PdfTokenizer::readDictionary()geen.Leest een PDF-dictionary.arrayPdfParseException voor misvormde dictionaries.Gebruikt voor objecten, streams en trailers.
PdfTokenizer::readArray()geen.Leest een PDF-array.arrayPdfParseException voor misvormde arrays.Recursieve parserhelper.
PdfTokenizer::readValue()geen.Leest elke ondersteunde PDF-waarde.mixedPdfParseException voor misvormde waarden.Veelgebruikt parserprimitief.
PdfTokenizer::readStreamData(int $length)Streamlengte.Leest exact de gevraagde streambytes.stringPdfParseException voor ongeldige streamgrenzen.Gebruikt na het bepalen van de streamlengte uit de dictionary.
PdfTokenizer::peek(int $length = 1)Aantal bytes.Leest vooruit zonder de cursor te verplaatsen.stringGeen verwacht.Nuttig voor vertakkingen in de parser.
PdfTokenizer::searchBackward(string $pattern, int $startFrom = 0)Patroon en optionele start-offset.Zoekt achterwaarts vanaf het einde of vanaf de opgegeven offset.`intfalse`Geen verwacht.
PdfTokenizer::readLine()geen.Leest een regel vanaf de huidige offset.stringGeen verwacht.Laagniveau-scannerhelper.
CrossRefParser::parseXRefTable(string $data, int $offset)PDF-bytes en de offset van de xref-tabel.Parseert klassieke cross-referentietabel-items.arrayPdfParseException voor misvormde xref-gegevens.Laagniveau-parser-API.
CrossRefParser::parseXRefStream(string $data, int $offset)PDF-bytes en de offset van de xref-stream.Parseert cross-referentiestream-items.arrayPdfParseException voor misvormde streamgegevens.Ondersteunt moderne PDF-xref-streams.

EInvoiceServiceFactory lost optionele Premium e-invoice-contracten pas op wanneer nodig en retourneert null wanneer ze afwezig zijn. BrowserPool beheert de Chrome-levenscyclus van de renderer; beheer deze alleen rechtstreeks in langlopende workers.

SymboolParametersStandaardgedragRetourneertGenereert of mislukt metOpmerkingen
EInvoiceServiceFactory::makeEmbedder()geen.Retourneert null tenzij Premium Pro e-invoice-ondersteuning is geïnstalleerd.`EmbedderInterfacenull`Constructiefouten vanuit het optionele pakket.
EInvoiceServiceFactory::makeValidator()geen.Retourneert null tenzij Premium Enterprise-validatieondersteuning is geïnstalleerd.`ValidatorInterfacenull`Constructiefouten vanuit het optionele pakket.
EInvoiceServiceFactory::makeDefaultProfile()geen.Retourneert het standaard e-invoice-profiel wanneer beschikbaar.`ProfileInterfacenull`Optionele pakketfouten.
EInvoiceServiceFactory::makeSchematronRunner()geen.Retourneert null tenzij Premium Enterprise Schematron-ondersteuning is geïnstalleerd.`SchematronRunnerInterfacenull`Constructiefouten vanuit het optionele pakket.
new BrowserPool(ChromeRendererConfig $config, ?LoggerInterface $logger = null)Rendererconfiguratie en optionele logger.De browser wordt lazy gestart bij de eerste getBrowser().BrowserPoolGeen verwacht tot het opstarten van de browser.Levenscyclushelper van de renderer.
BrowserPool::getBrowser()geen.Start de Chrome-browserinstantie of retourneert de huidige.BrowserFouten bij het opstarten van de browser.Levenscyclushelper van de renderer.
BrowserPool::incrementRenderCount()geen.Verhoogt de renderteller en roteert wanneer het poolbeleid dit vereist.voidFouten in de browserlevenscyclus.Gebruikt door langlopende workers.
BrowserPool::close()geen.Sluit de beheerde browserinstantie.voidFouten bij het afsluiten van de browser.Aanroepen tijdens het afsluiten van de worker.
  • De renderer is geen browser-sandbox voor niet-vertrouwde HTML. Valideer de grootte, het bronbeleid en de autorisatie van de aanroeper vóór de weergave.
  • De parser-API’s zijn bewust beperkt gehouden. Gebruik ze voor het importeren van Chrome-uitvoer, niet voor algemeen PDF-herstel.
  • Sluit renderers expliciet af in langlevende workers.