Corrigindo problemas de tempo limite de renderização de PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English
  • Não foi possível renderizar o PDF a partir do HTML
  • Não foi possível renderizar o PDF a partir do URL
  • Erro ao gerar PDF a partir de HTML
  • Erro ao gerar PDF a partir da URL
  • Exceção nativa não especificada

Essas mensagens de erro genéricas indicam que o mecanismo de renderização do Chrome encontrou uma falha.

A aplicação do trecho de código abaixo gerará um arquivo de log "Default.log" que pode ajudar a determinar a causa da falha.

// Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
// Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
' Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
IronPdf.Logging.Logger.LogFilePath = "Default.log"
$vbLabelText   $csharpLabel

Tempo limite de renderização

O recurso de tempo limite (timeout) implementado no IronPDF evita que os aplicativos travem e parem de responder devido à longa duração da renderização de PDFs. Isso pode ajudar os usuários a gerenciar recursos, garantindo que recursos como CPU, memória e largura de banda de rede não sejam consumidos por processos que demoram muito para serem concluídos. Um erro de tempo limite, conforme descrito abaixo, será gerado se o processo de renderização do PDF não for concluído a tempo.

  • Tempo limite de 60 segundos ao renderizar PDF a partir de HTML
  • Tempo limite excedido após 60 segundos ao renderizar PDF a partir de URL
  • Tempo limite excedido ao gerar PDF a partir de HTML
  • Tempo limite excedido ao gerar PDF a partir da URL
  • Tempo limite excedido ao renderizar PDF a partir de HTML
  • Tempo limite excedido ao renderizar PDF a partir de URL

Existem muitos motivos para longos tempos de renderização no IronPDF que podem levar a erros de tempo limite, como a renderização de PDFs grandes ou pesados, a recuperação de recursos/ativos remotos para a renderização de PDFs ou problemas durante a própria renderização. No entanto, alterar a duração do tempo limite geralmente resolve o problema.

Para substituir a configuração padrão, os usuários podem acessar a propriedade Timeout na classe ChromePdfRenderOptions e defini-la para um valor mais alto.

// Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120; // seconds
// Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120; // seconds
' Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120 ' seconds
$vbLabelText   $csharpLabel

ObserveA partir da versão 2021.12.4995, o tempo limite de renderização padrão do IronPDF é de 60 segundos.

Atraso de renderização

Em algumas ocasiões, o IronPDF pode renderizar:

  • Um PDF em branco
  • Um PDF com conteúdo incompleto
  • Um PDF com imagens ausentes

Esse problema pode ocorrer porque o documento PDF foi renderizado antes que a chamada para recuperar o conteúdo ou os recursos do arquivo fosse concluída a tempo.

Aplicar um atraso de renderização ao renderizador de PDF geralmente ajuda a resolver o problema. Isso instruirá o renderizador a atrasar a renderização do PDF por um período determinado, para que o conteúdo ou os recursos possam ser carregados a tempo antes da renderização do PDF. Para fazer isso, basta acessar o método RenderDelay() no objeto wrapper WaitFor, definir o tempo de duração desejado como parâmetro do método e aplicá-lo ao renderizador como uma das propriedades ChromePdfRenderOptions.

// Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000);  // milliseconds
// Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000);  // milliseconds
' Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000) ' milliseconds
$vbLabelText   $csharpLabel

ObserveA duração padrão do RenderDelay é 20 ms

Além do método RenderDelay(), há também outros métodos no objeto wrapper WaitFor que podem ser utilizados.

Para obter mais informações sobre registros e como relatar um erro aos nossos engenheiros para análise, consulte Como fazer uma solicitação de suporte técnico para o IronPDF .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.