Chrome Rendering Engine EAP - Uma inovação revolucionária para a geração de PDFs

Mecanismo de renderização de PDF do Chrome em C

This article was translated from English: Does it need improvement?
Translated
View the article in English

O mecanismo de renderização do IronPDF para Chrome permite que desenvolvedores C# convertam HTML em PDFs de alta qualidade usando a poderosa tecnologia de renderização do Chromium. Crie faturas, relatórios ou documentação com código que aproveita o mecanismo de renderização do Google Chrome, garantindo que os PDFs mantenham a aparência exata do HTML com suporte completo aos padrões da web modernos.

O Chromium é um projeto de navegador web de código aberto desenvolvido pelo Google. Serve como base para o Chrome, Microsoft Edge, Opera e outros navegadores. Ao utilizar o mecanismo de renderização Blink do Chromium, o IronPDF garante precisão perfeita em cada pixel ao converter HTML para PDF em seus aplicativos .NET .

Início rápido: Renderize HTML para PDF com o IronPDF em segundos

Comece a usar o mecanismo de renderização do Chrome do IronPDF para converter HTML em PDFs rapidamente. Com apenas algumas linhas de código, aproveite a tecnologia do Chromium para produzir documentos PDF com qualidade de imagem perfeita. Este guia demonstra a simplicidade de renderizar conteúdo HTML usando o IronPDF, com foco na facilidade de uso e na rápida implementação. O IronPDF integra-se perfeitamente com projetos .NET existentes, oferecendo soluções confiáveis ​​e de alto desempenho para o desenvolvimento moderno de aplicações e web.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    using IronPdf;
    
    // Create a new ChromePdfRenderer instance
    var renderer = new ChromePdfRenderer();
    
    // Render HTML string to PDF
    var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
    
    // Save the PDF to disk
    pdf.SaveAs("HelloWorld.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Quais são os principais benefícios do mecanismo de renderização Chrome do IronPDF?

Por que a renderização de alta qualidade é importante?

A mais recente renderização HTML "Blink!" oferece renderização idêntica à do Chrome ou renderização aprimorada (que proporciona resultados mais precisos e fáceis de codificar do que o Chrome). Ao gerar PDFs para uso profissional, a qualidade da renderização impacta diretamente a legibilidade do documento, a representação da marca e a experiência do usuário. O mecanismo de renderização do IronPDF para Chrome garante que layouts complexos, recursos modernos de CSS e conteúdo dinâmico em JavaScript sejam renderizados com precisão, correspondendo à exibição do navegador.

Quão mais rápido é o desempenho?

Oferece multithreading sem esforço e Async, usando tantos núcleos de CPU quanto necessário. Para aplicações SaaS e de alta carga, espere um desempenho de 5 a 20 vezes mais rápido em comparação com o uso direto do navegador e dos drivers da web. As melhorias de desempenho são particularmente notáveis ​​na geração de relatórios em PDF em cenários de processamento em lote ou em aplicações web de alto tráfego, onde o tempo de resposta é crucial.

Quais tecnologias são totalmente suportadas?

Suporte completo para JavaScript , layout responsivo e CSS3 .
Azure como um cidadão de primeira classe. Simplesmente funciona.
Manutenção contínua e suporte completo aprimorado para .NET 8, 7, 6, 5, Core e Framework 4.6.2+.

O motor suporta funcionalidades avançadas como:

  • Layouts modernos em CSS Grid e Flexbox
  • Fontes da web e fontes de ícones
  • Elementos gráficos SVG e Canvas
  • Frameworks JavaScript complexos (React, Angular, Vue.js)
  • Consultas de mídia e design responsivo
  • Animações e transições CSS

Para desenvolvedores que trabalham com Bootstrap, Flex e CSS , o IronPDF oferece suporte completo, garantindo que o conteúdo estilizado seja renderizado perfeitamente em formato PDF.

Quão confiável é o processo de teste?

A versão passou com sucesso em 1156 testes de unidade e integração (e nenhum teste com falha). Esta versão EAP é tão estável quanto a nossa versão principal, com melhorias diárias ativas. Nosso rigoroso processo de testes abrange diversos cenários, incluindo estruturas HTML complexas, diferentes codificações de caracteres, vários tamanhos de papel e casos extremos encontrados em ambientes de produção.

É compatível com os padrões de acessibilidade?

Gera PDFs acessíveis usando o padrão PDF(UA) com tags. Isso garante que os documentos estejam em conformidade com os requisitos de acessibilidade e possam ser lidos corretamente por leitores de tela. Saiba mais sobre como criar documentos compatíveis com PDF/UA para melhor acessibilidade.

Como posso enviar feedback?

Agradecemos seu feedback. Entre em contato com support@ironsoftware.com com suas ideias ou se precisar de ajuda. Seu feedback nos ajuda a priorizar os recursos e melhorias mais importantes para nossa comunidade de desenvolvedores.


Implemente em seu projeto

Como faço para instalar o IronPDF?

Primeiro, instale o IronPDF em seu projeto do Gerenciador de Pacotes do NuGet usando IronPdf. O processo de instalação é simples e pode ser concluído utilizando diversos métodos, dependendo do seu ambiente de desenvolvimento.

# Using Package Manager Console
Install-Package IronPdf

# Using .NET CLI
dotnet add package IronPdf

# Using PackageReference in your .csproj file
<PackageReference Include="IronPdf" Version="*" />
# Using Package Manager Console
Install-Package IronPdf

# Using .NET CLI
dotnet add package IronPdf

# Using PackageReference in your .csproj file
<PackageReference Include="IronPdf" Version="*" />
SHELL

Após a instalação, adicione a instrução using apropriada no topo dos seus arquivos C#.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-3.cs
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Para cenários de instalação avançados, incluindo implantação no Azure ou execução em contêineres Docker , consulte nossos guias de instalação completos.


Como faço para usar a nova API?

Não alteramos a API IronPDF C# e VB .NET que você já utiliza. Vai permanecer! No entanto, o estilo antigo está sendo substituído por um melhor, que lhe dará mais controle. A nova API oferece uma abordagem mais intuitiva e flexível para a geração de PDFs, com opções de configuração aprimoradas.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-4.cs
using IronPdf;

// Create a renderer with custom options
var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Set paper size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set HTTP credentials if needed for protected resources
renderer.RenderingOptions.HttpLoginCredentials = new IronPdf.HttpLoginCredentials()
{
    Username = "yourUsername",
    Password = "yourPassword"
};

// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>");
pdf.SaveAs("ProfessionalDocument.pdf");
Imports IronPdf

' Create a renderer with custom options
Dim renderer As New ChromePdfRenderer()

' Configure rendering options
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Set paper size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Set HTTP credentials if needed for protected resources
renderer.RenderingOptions.HttpLoginCredentials = New IronPdf.HttpLoginCredentials() With {
    .Username = "yourUsername",
    .Password = "yourPassword"
}

' Render HTML to PDF
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>")
pdf.SaveAs("ProfessionalDocument.pdf")
$vbLabelText   $csharpLabel

Para obter mais informações sobre opções de renderização , consulte nossa documentação detalhada.

Icon Quote related to Como faço para usar a nova API?

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic related to Como faço para usar a nova API?

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso
Icon Quote related to Como faço para usar a nova API?

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle related to Como faço para usar a nova API?

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso
Icon Quote related to Como faço para usar a nova API?

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones related to Como faço para usar a nova API?

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

Como aplicar a renderização cromada com precisão de pixels?

Este exemplo fornecerá PDFs com resolução perfeita, compatíveis com a funcionalidade "imprimir para PDF" do navegador Chrome mais recente para desktop. O mecanismo de renderização do Chrome garante que seu conteúdo HTML, incluindo layouts CSS complexos e elementos renderizados por JavaScript, apareça exatamente como apareceria em uma janela do navegador Chrome.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-5.cs
using IronPdf;
using System.IO;

// Create a Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Configure for pixel-perfect rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Wait for JavaScript to execute

// Load HTML from file
string htmlContent = File.ReadAllText("template.html");

// Include base URL for relative assets
renderer.RenderingOptions.BaseUrl = new Uri("file:///C:/your-project/assets/").AbsoluteUri;

// Render the HTML to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Title = "Pixel-Perfect Document";
pdf.MetaData.CreationDate = DateTime.Now;

// Save the PDF
pdf.SaveAs("PixelPerfect.pdf");
Imports IronPdf
Imports System.IO

' Create a Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()

' Configure for pixel-perfect rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Print
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 500 ' Wait for JavaScript to execute

' Load HTML from file
Dim htmlContent As String = File.ReadAllText("template.html")

' Include base URL for relative assets
renderer.RenderingOptions.BaseUrl = New Uri("file:///C:/your-project/assets/").AbsoluteUri

' Render the HTML to PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Add metadata
pdf.MetaData.Author = "Your Company"
pdf.MetaData.Title = "Pixel-Perfect Document"
pdf.MetaData.CreationDate = DateTime.Now

' Save the PDF
pdf.SaveAs("PixelPerfect.pdf")
$vbLabelText   $csharpLabel

Para garantir uma renderização perfeita, considere usar nosso guia sobre depuração de HTML com o Chrome para obter resultados ideais.

Que melhorias devo considerar?

Recomendamos o uso de melhorias específicas para o Iron para otimizar seu fluxo de trabalho de geração de PDFs:

  • Use folhas de estilo de tela para imprimir PDFs . São menos complicados de desenvolver e mais fiéis aos recursos web existentes.
  • Suporte a layouts responsivos para diferentes tamanhos e orientações de página.
  • Crie formulários PDF a partir dos elementos do seu formulário HTML automaticamente.
  • Implementar cabeçalhos e rodapés personalizados para documentos profissionais.
  • Adicione marcas d'água para fins de identidade visual ou segurança.
:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-6.cs
using IronPdf;

// Example showing recommended improvements such as responsive layout
var renderer = new ChromePdfRenderer();

// Enable responsive CSS
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen;
renderer.RenderingOptions.ViewPortWidth = 1024;

// Enable form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Add custom header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 25,
    HtmlFragment = "<div style='text-align: center; font-size: 12px;'>Company Name - Confidential</div>",
    DrawDividerLine = true
};

// Add custom footer with page numbers
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 25,
    HtmlFragment = "<center><i>{page} of {total-pages}</i></center>",
    DrawDividerLine = true
};

// Render HTML with form elements
string formHtml = @"
<html>
<body>
    <h1>Application Form</h1>
    <form>
        <label>Name: <input type='text' name='name' /></label><br/>
        <label>Email: <input type='email' name='email' /></label><br/>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br/>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(formHtml);
pdf.SaveAs("FormDocument.pdf");
Imports IronPdf

' Example showing recommended improvements such as responsive layout
Dim renderer As New ChromePdfRenderer()

' Enable responsive CSS
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen
renderer.RenderingOptions.ViewPortWidth = 1024

' Enable form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Add custom header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .Height = 25,
    .HtmlFragment = "<div style='text-align: center; font-size: 12px;'>Company Name - Confidential</div>",
    .DrawDividerLine = True
}

' Add custom footer with page numbers
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .Height = 25,
    .HtmlFragment = "<center><i>{page} of {total-pages}</i></center>",
    .DrawDividerLine = True
}

' Render HTML with form elements
Dim formHtml As String = "
<html>
<body>
    <h1>Application Form</h1>
    <form>
        <label>Name: <input type='text' name='name' /></label><br/>
        <label>Email: <input type='email' name='email' /></label><br/>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br/>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(formHtml)
pdf.SaveAs("FormDocument.pdf")
$vbLabelText   $csharpLabel

Como implementar suporte a multithreading e assíncrono?

Suporte a multithreading e Async para nosso mecanismo de renderização Chrome oferece desempenho superior em comparação à versão anterior. O novo mecanismo foi projetado desde o início para lidar com operações simultâneas de forma eficiente, tornando-o ideal para aplicações de alto desempenho e serviços web.

  • Para multithreading de nível empresarial, use ChromePdfRenderer em seus threads existentes e funcionará. Para aplicações web, isso não requer nenhuma configuração.
  • Para processamento em lote de HTML para PDF, use o padrão Parallel.ForEach embutido no .NET.
  • Fornecemos variantes Async de todos os métodos de renderização, como ChromePdfRenderer.RenderHtmlAsPdfAsync.

Saiba mais sobre técnicas assíncronas e multithreading para obter o melhor desempenho.

using IronPdf;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;

// Example of using async rendering for a single document
public async Task<byte[]> GeneratePdfAsync(string html)
{
    var renderer = new ChromePdfRenderer();
    var pdfDocument = await renderer.RenderHtmlAsPdfAsync(html);
    return pdfDocument.BinaryData;
}

// Example of batch processing with parallel execution
public async Task GenerateMultiplePdfsAsync(List<string> htmlDocuments)
{
    var renderer = new ChromePdfRenderer();

    // Process multiple documents in parallel
    var tasks = htmlDocuments.Select(async (html, index) =>
    {
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);
        await pdf.SaveAsAsync($"Document_{index}.pdf");
    });

    await Task.WhenAll(tasks);
}

// Example using Parallel.ForEach for CPU-intensive batch processing
public void GeneratePdfsBatch(List<string> urls)
{
    Parallel.ForEach(urls, new ParallelOptions { MaxDegreeOfParallelism = 4 }, url =>
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf");
    });
}
using IronPdf;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;

// Example of using async rendering for a single document
public async Task<byte[]> GeneratePdfAsync(string html)
{
    var renderer = new ChromePdfRenderer();
    var pdfDocument = await renderer.RenderHtmlAsPdfAsync(html);
    return pdfDocument.BinaryData;
}

// Example of batch processing with parallel execution
public async Task GenerateMultiplePdfsAsync(List<string> htmlDocuments)
{
    var renderer = new ChromePdfRenderer();

    // Process multiple documents in parallel
    var tasks = htmlDocuments.Select(async (html, index) =>
    {
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);
        await pdf.SaveAsAsync($"Document_{index}.pdf");
    });

    await Task.WhenAll(tasks);
}

// Example using Parallel.ForEach for CPU-intensive batch processing
public void GeneratePdfsBatch(List<string> urls)
{
    Parallel.ForEach(urls, new ParallelOptions { MaxDegreeOfParallelism = 4 }, url =>
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf");
    });
}
Imports IronPdf
Imports System.Threading.Tasks
Imports System.Collections.Generic
Imports System.Linq
Imports System.IO
Imports System.Threading

' Example of using async rendering for a single document
Public Async Function GeneratePdfAsync(html As String) As Task(Of Byte())
    Dim renderer As New ChromePdfRenderer()
    Dim pdfDocument = Await renderer.RenderHtmlAsPdfAsync(html)
    Return pdfDocument.BinaryData
End Function

' Example of batch processing with parallel execution
Public Async Function GenerateMultiplePdfsAsync(htmlDocuments As List(Of String)) As Task
    Dim renderer As New ChromePdfRenderer()

    ' Process multiple documents in parallel
    Dim tasks = htmlDocuments.Select(Async Function(html, index)
                                         Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)
                                         Await pdf.SaveAsAsync($"Document_{index}.pdf")
                                     End Function)

    Await Task.WhenAll(tasks)
End Function

' Example using Parallel.ForEach for CPU-intensive batch processing
Public Sub GeneratePdfsBatch(urls As List(Of String))
    Parallel.ForEach(urls, New ParallelOptions With {.MaxDegreeOfParallelism = 4}, Sub(url)
                                                                                      Dim renderer As New ChromePdfRenderer()
                                                                                      Dim pdf = renderer.RenderUrlAsPdf(url)
                                                                                      pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf")
                                                                                  End Sub)
End Sub
$vbLabelText   $csharpLabel

Qual o próximo passo?

Quais recursos estarão disponíveis em breve?

A equipe do IronPDF trabalha continuamente em novos recursos e melhorias com base no feedback dos clientes e nas tendências do setor. Eis o nosso roteiro:

Implantações ultracompactas para Azure Functions e AWS Lambda*. Nosso objetivo é fornecer opções de implantação que resultem na menor ocupação de disco possível. Consulte nosso guia de implantação atual da AWS para soluções existentes.

  • Suporte para renderização em dispositivos móveis para desenvolvedores de aplicativos iOS e Android, expandindo nossas capacidades multiplataforma.
  • Opções de renderização para IE e Firefox para compatibilidade com sistemas antigos.
  • Arquiteturas de renderização distribuída com múltiplos servidores para grandes empresas que necessitam de geração escalável de PDFs.
  • Um modelo de objeto de documento PDF interno reimaginado para suportar a mais ampla gama de padrões PDF. Nosso objetivo é lidar com a leitura e a correção automática de documentos PDF corrompidos e mal codificados de forma elegante. Explore nossas opções atuais de compressão de PDF .
  • "{SuaIdeiaAqui}" Solicitações de novas funcionalidades e relatórios de erros dos nossos clientes são priorizados.

Mantenha-se atualizado sobre nossos últimos desenvolvimentos, consultando nossas atualizações de produtos e marcos importantes .

Entre em contato conosco para quaisquer dúvidas , sugestões ou perguntas. Sua opinião ajuda a moldar o futuro do IronPDF!

Perguntas frequentes

Qual mecanismo de renderização o C# usa para a conversão de HTML para PDF?

O IronPDF utiliza o mecanismo de renderização Blink do Chromium, a mesma tecnologia que alimenta o Google Chrome, o Microsoft Edge e outros navegadores modernos. Isso garante precisão perfeita em cada pixel ao converter HTML para PDF em seus aplicativos .NET.

Como faço para converter rapidamente HTML em PDF usando C#?

Com o IronPDF, você pode converter HTML em PDF com apenas algumas linhas de código. Basta criar uma instância de ChromePdfRenderer, usar o método RenderHtmlAsPdf com seu conteúdo HTML e salvar o PDF resultante usando o método SaveAs.

Quais são os benefícios de desempenho ao usar um renderizador de PDF baseado no Chrome?

O IronPDF oferece desempenho de 5 a 20 vezes mais rápido em comparação com o uso direto do navegador e drivers da web, especialmente para SaaS e aplicações de alta carga. Ele oferece multithreading e operações assíncronas sem esforço, utilizando quantos núcleos de CPU forem necessários para um desempenho ideal.

O mecanismo de renderização do Chrome é compatível com os padrões modernos da web?

Sim, o mecanismo de renderização do IronPDF para Chrome oferece suporte completo a recursos modernos de CSS, conteúdo dinâmico em JavaScript e layouts complexos. Ele oferece opções de renderização idêntica ao Chrome ou renderização aprimorada para geração de PDFs precisos e profissionais.

Como a qualidade de renderização afeta os documentos PDF?

A renderização de alta qualidade com o IronPDF impacta diretamente a legibilidade do documento, a representação da marca e a experiência do usuário. O mecanismo de renderização do Chrome garante que layouts complexos e recursos modernos da web sejam exibidos com precisão, correspondendo ao que os usuários veem em seus navegadores.

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 19,936,792 | Versão: 2026.7 recém-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.