Usando o IronPDF com .NET: Um Guia Rápido
IronPDF descarta automaticamente objetos PdfDocument para você sem precisar de uma declaração using. No entanto, se você deseja mais controle sobre esses objetos armazenados, pode usar a declaração using conforme mostrado aqui:
// Create a PDF document from HTML content and automatically manage resource disposal
using var pdfdoc = Renderer.RenderHtmlAsPdf(ImgHtml);
// Perform operations on the PDF document (e.g., editing)
pdfdoc.SaveAs("output.pdf");
// Create a PDF document from HTML content and automatically manage resource disposal
using var pdfdoc = Renderer.RenderHtmlAsPdf(ImgHtml);
// Perform operations on the PDF document (e.g., editing)
pdfdoc.SaveAs("output.pdf");
' Create a PDF document from HTML content and automatically manage resource disposal
Dim pdfdoc = Renderer.RenderHtmlAsPdf(ImgHtml)
' Perform operations on the PDF document (e.g., editing)
pdfdoc.SaveAs("output.pdf")
Com a declaração using, você pode escolher quando descartar os recursos imediatamente. Todos os exemplos de código funcionam com e sem a instrução using, e cabe exclusivamente a você decidir se gostaria de usá-lo desta forma para melhor gerenciamento de recursos.
Observe que usar o método dispose() para descartar objetos PdfDocument não encerra o mecanismo de renderização do Chrome. Após IronPdf inicializar o mecanismo de renderização do Chrome (geralmente bem antes do primeiro render de PDF), haverá alguma sobrecarga de memória para manter o Chrome em execução. O Chrome não permite que seu processo seja interrompido e iniciado mais de uma vez. Portanto, ele continuará sendo executado em segundo plano até que o processo seja encerrado.
Ao descartar os objetos PDF, você libera a memória alocada para esses documentos (que geralmente é uma pequena quantidade), mas o Chromium Embedded Framework (CEF) continuará sendo carregado em segundo plano, pronto para a próxima renderização.
O CEF é encerrado automaticamente e a memória é liberada, pois nosso singleton IronPDF interno é descartado quando o processo é finalizado.
O comportamento esperado é que você veja uma pequena sobrecarga, mas as renderizações subsequentes não devem aumentar significativamente o uso de memória ao longo de longos períodos de tempo.

