Referência da API Artisan
Visão geral
Seção intitulada “Visão geral”O pacote Artisan (nextpdf/artisan) expõe dois grupos de APIs relacionados. O conjunto de renderização do Chrome — ChromeRendererConfig, ChromeHtmlRenderer, ChromeSecurityPolicy, ChromeRenderResult, ViewportCalculator e BrowserPool — transforma um fragmento de Hypertext Markup Language (HTML) em um arquivo Portable Document Format (PDF) produzido pelo Chrome. O conjunto de parser e importação — PdfReader, PageImporter, ImportedFormXObject e as classes auxiliares de tokenizer e cross-reference — incorpora essa saída renderizada de volta em um documento NextPDF como um Form XObject com texto selecionável.
Comece por aqui: se você só precisa gerar um PDF a partir de HTML, raramente usará este pacote diretamente. Anexe um ChromeRendererConfig a um Document NextPDF e chame writeHtmlChrome(); consulte o guia rápido. Use as classes abaixo quando estiver incorporando um renderizador em um worker ou executando diagnósticos do parser. O primeiro exemplo em Tarefas comuns mostra o caminho com uma única chamada.
Tarefas comuns
Seção intitulada “Tarefas comuns”Os três fluxos abaixo cobrem quase todo o uso em produção, da chamada de mais alto nível ao pipeline explícito de renderização e importação. Cada exemplo foi conferido com nextpdf-Artisan/src (e com o README.md / ci/tests/ do pacote).
Renderize um fragmento de HTML em um PDF com texto selecionável usando a chamada canônica.
<?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');O que faz: o Chrome calcula o layout do fragmento. A ponte incorpora a página 0 como um Form XObject, de modo que o texto permanece selecionável. writeHtmlChrome(string $html, ?float $width = null, ?float $height = null): static ajusta a altura automaticamente quando $height é null.
Execute o renderizador e importe a página por conta própria quando precisar do pipeline explícito por trás de writeHtmlChrome(), como em workers ou fluxos de posicionamento personalizados.
<?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();}O que faz: renderiza os bytes de PDF do Chrome, faz o parse desses bytes e importa a página 0 para um ImportedFormXObject que você pode posicionar. Sempre chame close() no renderizador para liberar o processo do Chrome.
Monte a configuração a partir de um array no estilo de framework para config/*.php ou de parâmetros de bundle, em vez de manter argumentos de construtor fixos no código.
<?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,]);O que faz: mapeia um array de configuração em snake-case para o construtor. Chaves não definidas usam os valores padrão, e chrome_binary só é aplicado quando é uma string não vazia.
Renderizador do Chrome
Seção intitulada “Renderizador do Chrome”Esses tipos executam o caminho de renderização. Monte um ChromeRendererConfig, passe-o para um ChromeHtmlRenderer e então chame render() para obter um ChromeRenderResult.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
new ChromeRendererConfig(?string $chromeBinaryPath = null, int $renderTimeout = 30, string $defaultCss = '', int $maxHtmlSize = 5000000, bool $noSandbox = false) | Caminho do binário, timeout, Cascading Style Sheets (CSS), limite de tamanho do HTML, flag de sandbox. | Detecta o Chrome automaticamente quando o caminho do binário é null; o sandbox permanece habilitado, a menos que seja desabilitado. | ChromeRendererConfig | nenhuma esperada. | Defina noSandbox apenas quando o runtime exigir. |
ChromeRendererConfig::fromArray(array $config) | chrome_binary, render_timeout, default_css, max_html_size, no_sandbox. | Valores ausentes usam os padrões do construtor. | ChromeRendererConfig | Incompatibilidades de tipo recorrem aos valores padrão para chaves opcionais. | Corresponde a arrays de configuração no estilo de framework. |
new ChromeHtmlRenderer(ChromeRendererConfig $config, ?LoggerInterface $logger = null, ?HtmlSecurityPolicyInterface $htmlSecurityPolicy = null) | Configuração, logger opcional, política de HTML opcional da camada de parse. | Usa DefaultHtmlSecurityPolicy quando nenhuma política é fornecida. | ChromeHtmlRenderer | Erros de configuração do Chrome ocorrem na primeira renderização. | O renderizador mantém um pool de navegadores até close(). |
ChromeHtmlRenderer::render(string $html, float $widthPt, float $heightPt = 0) | html: fragmento de entrada; widthPt: largura do papel; heightPt: altura desejada ou automática. | Calcula automaticamente a altura do conteúdo quando heightPt <= 0. | ChromeRenderResult | ChromeRenderException; falha na validação do tamanho do HTML. | Bloqueia requisições de rede de sub-recursos por meio do Chrome DevTools Protocol (CDP). |
ChromeHtmlRenderer::getHtmlSecurityPolicy() | nenhum. | Retorna a política configurada da camada de parse. | HtmlSecurityPolicyInterface | nenhuma esperada. | Complementa os controles do Chrome em nível de transporte. |
ChromeHtmlRenderer::close() | nenhum. | Fecha o pool de navegadores e o limpa. | void | Erros de encerramento do navegador podem surgir da biblioteca subjacente. | Chame durante o encerramento do worker. |
Política de segurança de HTML
Seção intitulada “Política de segurança de HTML”Use estas APIs quando você validar e encapsular HTML externo antes de renderizar, em vez de chamar ChromeHtmlRenderer::render() diretamente, que já as chama.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
ChromeSecurityPolicy::validate(string $html, int $maxSize) | Entrada de HTML e tamanho máximo em bytes. | Aceita a entrada apenas quando o tamanho e as construções não permitidas passam na validação. | void | ChromeRenderException ou exceção de validação. | Execute antes da renderização no navegador ao aceitar HTML externo. |
ChromeSecurityPolicy::wrapHtml(string $html, int $viewportWidth, string $defaultCss = '') | Fragmento de HTML, largura da viewport, CSS padrão opcional. | Produz um documento de renderização completo em torno do fragmento. | string | Erros de validação ou de construção de string. | Mantém o CSS específico do renderizador separado do HTML da aplicação. |
Auxiliares de resultado e conversão
Seção intitulada “Auxiliares de resultado e conversão”Use estes auxiliares para ler um resultado de renderização (ChromeRenderResult) e converter entre pontos de PDF e pixels de CSS do Chrome ao dimensionar uma viewport ou calcular a altura.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
new ChromeRenderResult(string $pdfData, float $widthPt, float $heightPt, float $contentHeightCssPx) | Bytes de PDF brutos, largura, altura, altura medida do conteúdo. | Sem validação além das propriedades tipadas do construtor. | ChromeRenderResult | nenhuma esperada. | Geralmente retornado por ChromeHtmlRenderer::render(). |
ChromeRenderResult::getPdfData() | nenhum. | Retorna os bytes de PDF brutos produzidos pelo Chrome. | string | nenhuma esperada. | Use com PdfReader e PageImporter ao incorporar. |
ChromeRenderResult::getWidthPt() | nenhum. | Retorna a largura solicitada em pontos. | float | nenhuma esperada. | Usado para dimensionar o objeto de formulário importado. |
ChromeRenderResult::getHeightPt() | nenhum. | Retorna a altura calculada ou solicitada em pontos. | float | nenhuma esperada. | A altura automática inclui uma margem de layout de impressão. |
ViewportCalculator::pointsToCssPx(float $pt) | pt: pontos de PDF. | Converte usando 96 px de CSS por 72 pontos de PDF. | int | nenhuma esperada. | Arredondado para a largura da viewport do Chrome. |
ViewportCalculator::cssPxToPoints(float $px) | px: pixels de CSS. | Converte usando 72 pontos de PDF por 96 px de CSS. | float | nenhuma esperada. | Usado para o cálculo da altura automática. |
APIs de importação e do parser
Seção intitulada “APIs de importação e do parser”Este é o caminho de importação. Faça o parse dos bytes de PDF do Chrome com PdfReader e, em seguida, passe o reader para PageImporter::import() para obter uma página incorporável; os demais métodos de PdfReader dão suporte a diagnósticos.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
new PdfReader(string $data) | data: bytes de PDF completos. | O parser só é executado em parse(). | PdfReader | nenhuma esperada. | Projetado para PDFs gerados pelo Chrome. |
PdfReader::parse() | nenhum. | Faz o parse da cadeia de cross-reference (xref) e do trailer. | void | PdfParseException para estrutura de PDF inválida. | Deve ser chamado antes do acesso a object/page. |
PdfReader::getObject(int $objNum) | Número do objeto. | Resolve o objeto analisado a partir do número. | PdfObject | PdfParseException quando o objeto está ausente ou malformado. | Use após parse(). |
PdfReader::getTrailer() | nenhum. | Retorna o dicionário de trailer analisado. | array | PdfParseException quando os dados do trailer estão indisponíveis. | Usado por diagnósticos e análise de revisões. |
PdfReader::getObjectNumbers() | nenhum. | Retorna os números de objetos analisados. | array | nenhuma esperada após o parse. | Útil para diagnósticos do importador. |
PdfReader::getPage(int $pageIndex) | pageIndex: índice de página baseado em zero. | Sem parse implícito. | PdfObject | PdfParseException quando ausente ou fora do intervalo. | O importador usa a página 0 por padrão. |
PdfReader::getPageContentStream(PdfObject $page) | page: objeto de página analisado. | Resolve o stream de conteúdo. | string | PdfParseException para streams inválidos. | Um stream vazio causa falha do importador. |
PdfReader::getPageResources(PdfObject $page) | page: objeto de página analisado. | Resolve os recursos da página. | array | PdfParseException para recursos inválidos. | O dicionário de recursos é incorporado junto com o objeto de formulário. |
PdfReader::getPageMediaBox(PdfObject $page) | page: objeto de página analisado. | Recorre a dimensões semelhantes a A4 quando ausente. | array | Falhas do parser. | Retorna coordenadas no espaço do PDF. |
PdfReader::resolveRef(mixed $value) | Valor analisado. | Resolve referências de objetos recursivamente quando aplicável. | mixed | PdfParseException para referências inválidas. | Auxiliar interno exposto para fluxos de trabalho do importador. |
PdfReader::collectPageResources(PdfObject $page) | page: objeto de página analisado. | Percorre as referências de recursos da página. | array | Falhas do parser. | Usado para incorporar objetos dependentes junto com as páginas importadas. |
PdfReader::getRevisionCount() | nenhum. | Conta as revisões incrementais analisadas. | int | nenhuma esperada após o parse. | Útil para PDFs assinados ou atualizados de forma incremental. |
PdfReader::getRevisionXRef(int $index) | Índice de revisão baseado em zero. | Retorna uma tabela xref da revisão. | RevisionXRefTable | PdfParseException para índice inválido. | Use para diagnósticos de revisão de baixo nível. |
PdfReader::getRevisions() | nenhum. | Retorna todas as tabelas xref de revisão analisadas. | array | nenhuma esperada após o parse. | Visão somente leitura do estado do parser. |
PageImporter::import(PdfReader $reader, int $pageIndex = 0) | Reader analisado e índice de página baseado em zero. | Importa a primeira página quando omitido. | ImportedFormXObject | PdfParseException quando a página não pode ser extraída. | Coleta o stream de conteúdo, a media box, os recursos e os objetos referenciados. |
Objetos de apoio do parser
Seção intitulada “Objetos de apoio do parser”Esses objetos de valor e auxiliares são retornados pelo parser ou usados internamente. Use-os quando estiver inspecionando objetos importados, recursos, streams ou tabelas de revisão.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
new ImportedFormXObject(string $contentStream, array $mediaBox, array $embeddedObjects, array $resourcesDict) | Stream de conteúdo decodificado, media box, objetos incorporados, dicionário de recursos. | Armazena um payload autocontido de formulário importado. | ImportedFormXObject | nenhuma esperada. | Geralmente retornado por PageImporter::import(). |
ImportedFormXObject::getWidth() | nenhum. | Retorna a largura do formulário importado em pontos. | float | nenhuma esperada. | Use ao posicionar a saída do Chrome em uma página. |
ImportedFormXObject::getHeight() | nenhum. | Retorna a altura do formulário importado em pontos. | float | nenhuma esperada. | Resultados de renderização com altura automática se propagam por esse valor. |
ImportedFormXObject::getEmbeddedObjects() | nenhum. | Retorna os objetos exigidos pelo formulário importado. | array | nenhuma esperada. | O código do writer usa esses objetos para preservar os recursos. |
ImportedFormXObject::getResourcesDict() | nenhum. | Retorna o dicionário de recursos importado. | array | nenhuma esperada. | Usado ao construir o Form XObject. |
ImportedFormXObject::getMediaBox() | nenhum. | Retorna a media box importada. | array | nenhuma esperada. | Use para diagnósticos de posicionamento. |
ImportedFormXObject::getContentStream() | nenhum. | Retorna o stream de conteúdo da página importada. | string | nenhuma esperada. | Destinado à integração de writer/import. |
new PdfObject(int $objectNumber, int $generation, array $dictionary, ?string $rawStreamData = null, ?string $decodedStreamData = null, ?string $rawDictionaryBytes = null) | Número do objeto, geração, dicionário analisado, bytes de stream opcionais, stream decodificado opcional, bytes de dicionário brutos opcionais. | Armazena o estado do objeto analisado. | PdfObject | nenhuma esperada. | Criado pelos internos do parser. |
PdfObject::getRawDictionaryBytes() | nenhum. | Retorna os bytes originais do dicionário quando disponíveis. | `string | null` | nenhuma esperada. |
PdfObject::getRawStreamData() | nenhum. | Retorna os bytes de stream não decodificados quando disponíveis. | `string | null` | nenhuma esperada. |
PdfObject::getDictionary() | nenhum. | Retorna as entradas do dicionário analisado. | array | nenhuma esperada. | Visão somente leitura do parser. |
PdfObject::get(string $key) | Chave do dicionário. | Retorna null quando a chave está ausente. | mixed | nenhuma esperada. | Evita que os chamadores façam o parse de dicionários brutos. |
PdfObject::getRef(string $key) | Chave do dicionário. | Retorna a tupla de referência de objeto quando o valor é uma referência. | `array | null` | nenhuma esperada. |
PdfObject::getArray(string $key) | Chave do dicionário. | Retorna um valor de array ou um array vazio quando indisponível. | array | nenhuma esperada. | Wrapper de conveniência para entradas de dicionário com valor de array. |
PdfObject::hasStream() | nenhum. | Verifica se os bytes de stream estão presentes. | bool | nenhuma esperada. | Distingue objetos somente de dicionário. |
PdfObject::getType() | nenhum. | Lê /Type. | `string | null` | nenhuma esperada. |
PdfObject::getSubtype() | nenhum. | Lê /Subtype. | `string | null` | nenhuma esperada. |
RevisionExtractor::extractRevision(string $pdfData, PdfReader $reader, int $revision) | Bytes de PDF, um reader analisado e o índice de revisão baseado em zero. | Extrai uma revisão incremental. | string | PdfParseException para limites inválidos. | Usado por testes e diagnósticos do parser. |
RevisionExtractor::getRevisionBoundaries(string $pdfData, PdfReader $reader) | Bytes de PDF e um reader analisado. | Descobre os intervalos de bytes para revisões incrementais. | array | PdfParseException para estrutura de xref malformada. | Ajuda a analisar PDFs assinados ou atualizados de forma incremental. |
| `StreamDecoder::decode(string $data, string | array $filter)` | Bytes de stream e um ou mais filtros de PDF. | Aplica os filtros em ordem. | string | PdfParseException para filtros não suportados ou inválidos. |
new ResourceCollector(PdfReader $reader) | Reader analisado. | Começa com um conjunto de objetos coletados vazio. | ResourceCollector | nenhuma esperada. | Usado por PdfReader::collectPageResources(). |
ResourceCollector::traverse(mixed $value, int $depth = 0) | Valor analisado e profundidade de recursão. | Percorre as referências de recursos até os limites internos de profundidade. | void | Falhas do parser para referências inválidas. | Auxiliar interno para fechar o conjunto de recursos de importação de página. |
ResourceCollector::getCollected() | nenhum. | Retorna os objetos de recurso coletados. | array | nenhuma esperada. | Chame após traverse(). |
new RevisionXRefTable(int $index, int $xrefOffset, array $xrefEntries, array $trailer, ?int $prevOffset) | Índice de revisão, deslocamento do xref, entradas do xref, trailer, deslocamento anterior opcional. | Snapshot imutável de uma revisão incremental. | RevisionXRefTable | nenhuma esperada. | Criado pelos componentes internos do parser. |
RevisionXRefTable::getObjectNumbers() | nenhum. | Retorna os números dos objetos ativos na tabela de revisão. | array | nenhuma esperada. | API de diagnóstico de revisão de baixo nível. |
RevisionXRefTable::getActiveObjectCount() | nenhum. | Conta os objetos ativos. | int | nenhuma esperada. | Útil para asserts do parser. |
RevisionXRefTable::hasRootUpdate() | nenhum. | Informa se a revisão atualiza a raiz do documento. | bool | nenhuma esperada. | Útil para a análise de atualizações incrementais. |
RevisionXRefTable::getSize() | nenhum. | Retorna o valor de tamanho da tabela xref. | int | nenhuma esperada. | Espelha os metadados de xref do PDF analisado. |
APIs de baixo nível do tokenizer e do xref
Seção intitulada “APIs de baixo nível do tokenizer e do xref”Use estas APIs apenas para diagnósticos profundos do parser ou redução de fixtures. Elas expõem o lexer e o mecanismo de cross-reference sob PdfReader e não são necessárias para a importação normal.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
new PdfTokenizer(string $data, int $offset = 0) | Bytes de PDF e deslocamento inicial opcional. | Começa no deslocamento zero. | PdfTokenizer | nenhuma esperada. | Parser lexical de baixo nível. |
PdfTokenizer::getOffset() | nenhum. | Retorna o deslocamento de byte atual. | int | nenhuma esperada. | Auxiliar de diagnóstico para erros do parser. |
PdfTokenizer::setOffset(int $offset) | Deslocamento em bytes. | Move o cursor do tokenizer. | void | PdfParseException para deslocamento inválido. | Use com cuidado; os chamadores controlam o estado do parser. |
PdfTokenizer::isEof() | nenhum. | Verifica se o cursor chegou ao fim. | bool | nenhuma esperada. | Auxiliar de loop do parser de baixo nível. |
PdfTokenizer::skipWhitespace() | nenhum. | Avança além do espaço em branco e dos comentários do PDF. | void | nenhuma esperada. | Usado antes das leituras de token. |
PdfTokenizer::readToken() | nenhum. | Lê o próximo token escalar. | `string | int | float |
PdfTokenizer::readName() | nenhum. | Lê um objeto name do PDF. | string | PdfParseException para name malformado. | Decodifica os escapes do name. |
PdfTokenizer::readLiteralString() | nenhum. | Lê uma string literal. | string | PdfParseException para string malformada. | Trata parênteses aninhados e escapes. |
PdfTokenizer::readHexString() | nenhum. | Lê uma string hexadecimal. | string | PdfParseException para hex malformado. | Preenche o hex de comprimento ímpar de acordo com as regras do parser. |
PdfTokenizer::readNumber() | nenhum. | Lê um integer ou float. | `int | float` | PdfParseException para número inválido. |
PdfTokenizer::readKeyword() | nenhum. | Lê uma keyword do PDF. | string | PdfParseException para keyword inválida. | Mantém o parse de keywords centralizado. |
PdfTokenizer::readDictionary() | nenhum. | Lê um dicionário do PDF. | array | PdfParseException para dicionários malformados. | Usado para objetos, streams e trailers. |
PdfTokenizer::readArray() | nenhum. | Lê um array do PDF. | array | PdfParseException para arrays malformados. | Auxiliar recursivo do parser. |
PdfTokenizer::readValue() | nenhum. | Lê qualquer valor de PDF suportado. | mixed | PdfParseException para valores malformados. | Primitiva compartilhada do parser. |
PdfTokenizer::readStreamData(int $length) | Comprimento do stream. | Lê exatamente os bytes de stream solicitados. | string | PdfParseException para limites de stream inválidos. | Usado após a resolução do comprimento do stream do dicionário. |
PdfTokenizer::peek(int $length = 1) | Quantidade de bytes. | Lê adiante sem avançar. | string | nenhuma esperada. | Útil para ramificação do parser. |
PdfTokenizer::searchBackward(string $pattern, int $startFrom = 0) | Padrão e deslocamento inicial opcional. | Pesquisa para trás a partir do fim ou do deslocamento fornecido. | `int | false` | nenhuma esperada. |
PdfTokenizer::readLine() | nenhum. | Lê uma linha a partir do deslocamento atual. | string | nenhuma esperada. | Auxiliar de scanner de baixo nível. |
CrossRefParser::parseXRefTable(string $data, int $offset) | Bytes de PDF e deslocamento da tabela xref. | Faz o parse das entradas clássicas da tabela de cross-reference. | array | PdfParseException para dados de xref malformados. | API do parser de baixo nível. |
CrossRefParser::parseXRefStream(string $data, int $offset) | Bytes de PDF e deslocamento do stream de xref. | Faz o parse das entradas do stream de cross-reference. | array | PdfParseException para dados de stream malformados. | Dá suporte a streams de xref de PDF modernos. |
Fábricas opcionais e pool de navegadores
Seção intitulada “Fábricas opcionais e pool de navegadores”EInvoiceServiceFactory resolve sob demanda contratos opcionais de e-invoice do Premium e retorna null quando eles estão ausentes. BrowserPool gerencia o ciclo de vida do Chrome mantido pelo renderizador; gerencie-o diretamente apenas em workers de longa duração.
| Símbolo | Parâmetros | Comportamento padrão | Retorna | Lança ou falha com | Observações |
|---|---|---|---|---|---|
EInvoiceServiceFactory::makeEmbedder() | nenhum. | Retorna null a menos que o suporte a e-invoice do Premium Pro esteja instalado. | `EmbedderInterface | null` | Erros de construção de pacote opcional. |
EInvoiceServiceFactory::makeValidator() | nenhum. | Retorna null a menos que o suporte a validação do Premium Enterprise esteja instalado. | `ValidatorInterface | null` | Erros de construção de pacote opcional. |
EInvoiceServiceFactory::makeDefaultProfile() | nenhum. | Retorna o perfil de e-invoice padrão quando disponível. | `ProfileInterface | null` | Erros de pacote opcional. |
EInvoiceServiceFactory::makeSchematronRunner() | nenhum. | Retorna null a menos que o suporte a Schematron do Premium Enterprise esteja instalado. | `SchematronRunnerInterface | null` | Erros de construção de pacote opcional. |
new BrowserPool(ChromeRendererConfig $config, ?LoggerInterface $logger = null) | Configuração do renderizador e logger opcional. | O navegador inicia sob demanda na primeira chamada de getBrowser(). | BrowserPool | nenhuma esperada até a inicialização do navegador. | Auxiliar de ciclo de vida mantido pelo renderizador. |
BrowserPool::getBrowser() | nenhum. | Inicia ou retorna a instância atual do navegador Chrome. | Browser | Erros de inicialização do navegador. | Auxiliar de ciclo de vida mantido pelo renderizador. |
BrowserPool::incrementRenderCount() | nenhum. | Incrementa o contador de renderizações e faz a rotação quando a política do pool exige. | void | Erros de ciclo de vida do navegador. | Usado por workers de longa duração. |
BrowserPool::close() | nenhum. | Fecha a instância de navegador gerenciada. | void | Erros de encerramento do navegador. | Chame durante o encerramento do worker. |
Notas de desenvolvimento
Seção intitulada “Notas de desenvolvimento”- O renderizador não é um sandbox de navegador para HTML não confiável. Valide o tamanho, a política de recursos e a autorização do chamador antes de renderizar.
- As APIs do parser são intencionalmente restritas. Use-as para importar a saída do Chrome, não para reparo geral de PDF.
- Feche os renderizadores explicitamente em workers de longa duração.