Ir para o conteúdo do rodapé
USANDO O IRONPDF

Como usar C# para converter PDF em Bitmap

Como criar um gerador de PDF em .NET Core

O IronPDF fornece um mecanismo de renderização baseado no Chrome que converte HTML, CSS e JavaScript em documentos PDF em aplicativos .NET Core , com suporte para implantação multiplataforma em Windows, Linux e contêineres Docker com instalação simples NuGet .

O que torna um gerador de PDF .NET Core confiável?

A criação de documentos PDF em aplicações .NET Core requer uma biblioteca PDF que manipule conteúdo HTML, mantenha a formatação e ofereça suporte à implantação multiplataforma. Se você estiver desenvolvendo APIs web ASP.NET Core ou aplicativos de console, um gerador de PDF robusto para .NET Core simplifica todo o processo de criação de documentos a partir de diversas fontes. Isso economiza muito tempo.

Inicie seu teste gratuito e descubra por que os desenvolvedores escolhem o IronPDF para geração de PDFs de missão crítica em ambientes de produção.

IronPDF se destaca como uma biblioteca PDF abrangente para .NET Core . Ele utiliza um mecanismo de renderização do Chrome para criar documentos PDF com precisão perfeita em cada pixel. Essa abordagem significa que você não precisa aprender APIs complexas de PDF nem se preocupar com problemas de layout; Você pode aproveitar seus conhecimentos de HTML e CSS para gerar arquivos PDF. A documentação extensa da biblioteca e os exemplos de código tornam a implementação direta.

Como o IronPDF simplifica a geração de documentos PDF no .NET Core?

O IronPDF transforma a tarefa tradicionalmente complexa de geração de PDFs em um código simples que qualquer desenvolvedor .NET pode implementar. A biblioteca usa a classe ChromePdfRenderer para converter strings HTML, arquivos ou URLs diretamente em formato PDF. Essa abordagem de API fluente oferece amplas opções de personalização, mantendo o alto desempenho em diferentes plataformas.

Por que a geração de PDFs baseada em HTML é importante para desenvolvedores?

O verdadeiro poder reside na forma como o IronPDF lida com a conversão de conteúdo HTML em arquivos PDF profissionais. Em vez de posicionar ou desenhar elementos manualmente, os desenvolvedores escrevem HTML padrão com estilos CSS, e a biblioteca lida com a conversão de forma integrada. Os arquivos PDF resultantes não são meras imagens de texto; São documentos completos onde os usuários podem selecionar e pesquisar texto. Para implantações em contêiner, essa abordagem elimina problemas comuns com gerenciamento de fontes e codificação de caracteres UTF-8, considerações cruciais para ambientes Docker.

Quais são os recursos avançados de edição disponíveis?

Além da geração básica de PDFs, você pode usar as ferramentas avançadas de edição do IronPDF para editar documentos PDF. Com estes, você pode mesclar documentos, adicionar marcas d'água, anotações e muito mais. A biblioteca suporta assinaturas digitais para autenticação de documentos e compressão de PDF para otimizar tamanhos de arquivo para transferência de rede. Confira o tutorial relacionado para ver mais exemplos de código-fonte para essas ferramentas. Para equipes DevOps, esses recursos permitem fluxos de trabalho de processamento de documentos automatizados sem dependências externas.

Como instalo o IronPDF usando o gerenciador de pacotes NuGet ?

Para começar a usar o IronPDF no Visual Studio, basta instalar um único pacote NuGet . Abra o Console do Gerenciador de Pacotes NuGet , certifique-se de que o nome do seu projeto esteja selecionado na lista suspensa "Projeto padrão" e execute o seguinte comando:

Install-Package IronPdf

O que o pacote NuGet inclui?

Este pacote NuGet único fornece toda a funcionalidade necessária para criar, editar e gerar arquivos PDF em seus aplicativos .NET Core . A instalação configura automaticamente seu projeto para geração de PDF em Windows, Linux e ambientes Docker. Ele também oferece suporte a várias versões do .NET , incluindo .NET Framework 4.6.2+, .NET Core 3.1+ e .NET Standard 2.0+. Para implantações em contêiner, o pacote inclui dependências nativas otimizadas para tamanho mínimo de imagem. A variante IronPdf.Slim fornece flexibilidade adicional para implantação em ambientes com restrições de tamanho rigorosas.

Como faço para criar meu primeiro documento PDF a partir de HTML?

Vamos criar documentos PDF usando um exemplo prático de fatura. Este exemplo demonstra como gerar arquivos PDF a partir de conteúdo HTML com formatação e vinculação de dados adequadas:

using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
Imports IronPdf
Imports System.IO
Imports System.Text

' Initialize the Chrome renderer
Dim renderer As New ChromePdfRenderer()

' Configure rendering options
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Create HTML content for invoice
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>")

' Example of dynamically adding table rows with a for loop
For i As Integer = 0 To 2
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>")
Next

htmlBuilder.Append("
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>")

' Generate PDF from HTML string
Dim pdfObject As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())

' Save the PDF file
pdfObject.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

Este código cria um documento de fatura profissional combinando marcação HTML com dados dinâmicos. Observe como adicionamos um tamanho de fonte personalizado no CSS e geramos linhas de tabela dinamicamente usando um loop for. Também incluímos um novo elemento de parágrafo. O método RenderHtmlAsPdf retorna um objeto PdfDocument, que lhe dá controle total sobre o arquivo gerado. Para cenários mais avançados de HTML para PDF, explore o tutorial de HTML para PDF. As opções de renderização fornecem controle extensivo sobre margens, tamanho do papel e configurações de viewport.

Qual é a aparência do PDF gerado?

A captura de tela abaixo mostra nossa fatura de exemplo perfeitamente convertida para o formato de documento PDF.

PDF viewer displaying an invoice document with invoice number INV-2024-001, showing a table with three products priced at $25.00 each, generated from HTML using .NET Core.

Como posso gerar arquivos PDF a partir de URLs e páginas da web?

O IronPDF se destaca na conversão de páginas da web existentes em arquivos PDF. Essa funcionalidade se mostra extremamente útil na geração de documentos PDF a partir de painéis de relatórios ou formulários online:

// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
// For containerized environments, consider using environment variables
string outputPath = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH") ?? "/app/output";
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"));
// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
// For containerized environments, consider using environment variables
string outputPath = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH") ?? "/app/output";
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"));
' Create a new ChromePdfRenderer instance
Dim renderer As New ChromePdfRenderer()
' Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
' Convert a URL to PDF
Dim pdfDocument As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___")
' Save to file path
Dim filePath As String = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf")
pdfDocument.SaveAs(filePath)
' For containerized environments, consider using environment variables
Dim outputPath As String = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH")
If String.IsNullOrEmpty(outputPath) Then
    outputPath = "/app/output"
End If
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"))
$vbLabelText   $csharpLabel

Por que o suporte a JavaScript é importante para a conversão de URLs?

A biblioteca gerencia a execução de JavaScript , carrega recursos externos como imagens e folhas de estilo e mantém o layout responsivo durante a conversão. Isso o torna perfeito para criar relatórios a partir de aplicativos da web existentes. A configuração WaitFor garante que todo o conteúdo dinâmico seja carregado antes da renderização. Para sites que exigem autenticação, o IronPDF suporta cookies, cabeçalhos HTTP e logins TLS em sites. Saiba mais sobre como converter URLs em PDF no guia detalhado.

Captura de tela da página inicial da Wikipedia convertida para formato PDF, mostrando o layout principal da página com artigos em destaque, seções de notícias e elementos de navegação

Quais recursos avançados de PDF dão suporte a relatórios complexos?

Documentos PDF profissionais geralmente exigem elementos adicionais além do conteúdo básico. O IronPDF oferece métodos para aprimorar seus documentos PDF com cabeçalhos, rodapés e marcas d'água. A API de cabeçalhos e rodapés oferece controle total sobre a apresentação do documento:

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
// Add metadata for document management systems
formDocument.MetaData.Author = "Automated System";
formDocument.MetaData.CreationDate = DateTime.Now;
formDocument.SaveAs("form-document.pdf");
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
// Add metadata for document management systems
formDocument.MetaData.Author = "Automated System";
formDocument.MetaData.CreationDate = DateTime.Now;
formDocument.SaveAs("form-document.pdf");
' Create renderer with advanced options
Dim renderer As New ChromePdfRenderer()
' Add headers and footers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center'>Company Report</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div>Page {page} of {total-pages}</div>"
}
' Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim formHtml As String = "
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>"
Dim formDocument As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
' Add metadata for document management systems
formDocument.MetaData.Author = "Automated System"
formDocument.MetaData.CreationDate = DateTime.Now
formDocument.SaveAs("form-document.pdf")
$vbLabelText   $csharpLabel

Como os cabeçalhos e formulários aprimoram documentos profissionais?

Este exemplo demonstra como adicionar cabeçalhos consistentes em todas as páginas e criar campos de formulário interativos dentro do documento PDF. O sistema lida automaticamente com numeração de páginas e renderização de campos de formulário. Para formulários complexos, você também pode preencher formulários PDF existentes programaticamente. As propriedades de metadados possibilitam a integração com sistemas de gerenciamento de documentos.

Documento PDF mostrando um formulário simples com o cabeçalho 'Relatório da Empresa' e campos de entrada para Nome e Email com um botão Enviar

Como otimizar o desempenho com operações assíncronas no ASP.NET Core?

Para aplicações web que lidam com múltiplas solicitações de geração de PDF, as operações assíncronas melhoram a capacidade de resposta:

public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
// Health check endpoint for monitoring
[HttpGet("/health/pdf-generator")]
public async Task<IActionResult> HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Test</p>");
        return Ok(new { status = "healthy", renderer = "operational" });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
// Health check endpoint for monitoring
[HttpGet("/health/pdf-generator")]
public async Task<IActionResult> HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Test</p>");
        return Ok(new { status = "healthy", renderer = "operational" });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
Public Async Function GeneratePdfAsync(htmlContent As String) As Task(Of Byte())
    Dim renderer = New ChromePdfRenderer()
    ' Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
    ' Generate PDF asynchronously
    Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync(htmlContent)
    ' Return as byte array for API responses
    Return pdf.BinaryData
End Function

' Usage in ASP.NET Core controller
<HttpPost>
Public Async Function CreateInvoice(<FromBody> data As InvoiceData) As Task(Of IActionResult)
    Dim html As String = BuildInvoiceHtml(data)
    Dim pdfBytes As Byte() = Await GeneratePdfAsync(html)
    Return File(pdfBytes, "application/pdf", "invoice.pdf")
End Function

' Health check endpoint for monitoring
<HttpGet("/health/pdf-generator")>
Public Async Function HealthCheck() As Task(Of IActionResult)
    Try
        Dim renderer = New ChromePdfRenderer()
        Dim testPdf = Await renderer.RenderHtmlAsPdfAsync("<p>Test</p>")
        Return Ok(New With {Key .status = "healthy", Key .renderer = "operational"})
    Catch ex As Exception
        Return StatusCode(503, New With {Key .status = "unhealthy", Key .error = ex.Message})
    End Try
End Function
$vbLabelText   $csharpLabel

Por que os padrões assíncronos são essenciais para aplicações web?

Esse padrão permite que aplicativos ASP.NET Core gerem arquivos PDF de forma eficiente, sem bloquear threads, uma grande melhoria em relação às tecnologias web mais antigas, onde a geração de arquivos era frequentemente trabalhosa. A saída em formato de array de bytes funciona perfeitamente para endpoints de API que precisam retornar arquivos diretamente para os clientes. Para cenários de alto volume, explore geração paralela de PDF e técnicas de renderização em multithreading. O endpoint de verificação de integridade fornece monitoramento essencial para implantações em contêineres.

Como funciona o tratamento de respostas de arquivos nos controladores?

Observe como o método File() retorna o PDF com o tipo de conteúdo application/pdf correto, garantindo que os navegadores processem a resposta corretamente. Ao trabalhar com documentos PDF grandes ou várias solicitações simultâneas, essa abordagem assíncrona mantém o desempenho ideal do sistema. Para ambientes com restrições de memória, você pode fazer streaming de PDFs diretamente sem salvar no disco. Para obter mais informações sobre padrões assíncronos, consulte a documentação oficial do ASP.NET Core .

Quais são as principais considerações de implantação para produção?

Quais plataformas e ambientes o IronPDF suporta?

O IronPDF suporta implantação em diversos ambientes. Para contêineres Docker, certifique-se de incluir as dependências necessárias no seu Dockerfile conforme indicado no guia de implantação Docker. A biblioteca funciona perfeitamente no Windows Server, distribuições Linux e plataformas em nuvem como Azure e AWS. Cada ambiente pode exigir configurações específicas para fontes e renderização, mas a API principal permanece consistente. Para implantações em Kubernetes, considere usar a configuração de engine remoto para separar a renderização de PDF dos seus pods de aplicação. A documentação da Microsoft sobre a implementação do .NET Core fornece práticas recomendadas adicionais para ambientes de produção.

# Example multi-stage Dockerfile for IronPDF
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /source

# Copy and restore
COPY *.csproj .
RUN dotnet restore

# Copy and publish
COPY . .
RUN dotnet publish -c Release -o /app

# Runtime image
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .

# Install IronPDF dependencies for Linux
RUN apt-get update \
    && apt-get install -y libgdiplus libc6-dev \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

EXPOSE 80
ENTRYPOINT ["dotnet", "YourApp.dll"]

Pronto para começar a criar seu gerador de PDF hoje mesmo?

O IronPDF transforma a geração de PDFs no .NET Core de um desafio complexo em uma implementação simples. Com suporte para conteúdo HTML, um conjunto abrangente de recursos e comportamento consistente em todas as plataformas, é a escolha ideal para desenvolvedores que precisam gerar documentos PDF de forma confiável. Os recursos de otimização de desempenho da biblioteca garantem utilização eficiente de recursos em ambientes em contêiner, enquanto o suporte nativo para Linux ARM possibilita implantação em infraestrutura moderna de nuvem.

Pronto para implementar seu próprio gerador de documentos PDF? Comece com um teste gratuito para explorar todos os recursos sem limitações. A documentação fornece exemplos e guias abrangentes para ajudá-lo a criar arquivos PDF profissionais que atendam às suas necessidades específicas. Seja para criar sistemas de faturamento, gerar relatórios complexos ou converter conteúdo web existente, o IronPDF oferece as ferramentas para entregar resultados perfeitos em cada detalhe. Confira as demos para ver implementações no mundo real.

Para implantações em produção, explore opções de licenciamento que se adequem à escala do seu projeto. O investimento em uma biblioteca de PDFs de qualidade compensa com a redução do tempo de desenvolvimento e a obtenção de resultados consistentes e profissionais em todos os seus aplicativos .NET . Considere as extensões de licenciamento para suporte a longo prazo e atualizações para manter-se atualizado com os recursos mais recentes.

Perguntas frequentes

Quais são as principais características de um gerador de PDF .NET Core confiável?

Um gerador de PDF confiável para .NET Core deve oferecer recursos como conversão de HTML para PDF, suporte a diversos formatos de arquivo, renderização de alta qualidade e a capacidade de gerar faturas e relatórios com facilidade. O IronPDF oferece esses recursos, garantindo PDFs com qualidade impecável.

Como posso converter HTML para PDF no .NET Core?

Você pode converter HTML para PDF no .NET Core usando o IronPDF, aproveitando seus recursos de renderização de HTML para PDF. Isso permite converter páginas da web, strings HTML ou arquivos HTML locais em documentos PDF com precisão.

Posso criar faturas usando o IronPDF no .NET Core?

Sim, você pode criar faturas usando o IronPDF no .NET Core. O IronPDF oferece recursos para gerar documentos PDF a partir de modelos HTML, facilitando o design e a produção de faturas profissionais.

É possível gerar relatórios com o IronPDF no .NET Core?

Com certeza. O IronPDF no .NET Core permite a geração de relatórios detalhados convertendo conteúdo HTML para o formato PDF, garantindo que seus relatórios sejam visualmente atraentes e fáceis de compartilhar.

O IronPDF suporta renderização com perfeição de pixels?

Sim, o IronPDF oferece renderização perfeita em pixels, garantindo que os PDFs criados correspondam perfeitamente ao design e layout HTML original. Isso é crucial para manter a integridade da apresentação do seu documento.

Quais formatos de arquivo o IronPDF consegue processar no .NET Core?

O IronPDF consegue lidar com diversos formatos de arquivo no .NET Core, incluindo a conversão de HTML, imagens e arquivos ASPX para PDF. Ele oferece flexibilidade para atender às diferentes necessidades de cada projeto.

Como o IronPDF garante a alta qualidade dos seus arquivos PDF?

O IronPDF garante a geração de PDFs de alta qualidade, empregando técnicas avançadas de renderização e oferecendo suporte a uma ampla variedade de fontes e estilos, resultando em documentos PDF profissionais e precisos.

O IronPDF é adequado para criar materiais de marketing em .NET Core?

Sim, o IronPDF é adequado para a criação de materiais de marketing em .NET Core. Sua capacidade de converter conteúdo HTML complexo, incluindo elementos estilizados em CSS, para PDF o torna ideal para a produção de brochuras e folhetos.

Posso personalizar o layout dos documentos PDF gerados com o IronPDF?

O IronPDF permite uma ampla personalização dos layouts de documentos PDF usando HTML e CSS, dando a você controle sobre o design e a estrutura de seus arquivos PDF.

Quais são os benefícios de usar o IronPDF para geração de PDFs no .NET Core?

As vantagens de usar o IronPDF para geração de PDFs no .NET Core incluem facilidade de uso, documentação completa, suporte robusto para conversão de HTML para PDF e a capacidade de produzir documentos de qualidade profissional com eficiência.

O IronPDF é totalmente compatível com o .NET 10?

Sim. O IronPDF funciona perfeitamente no .NET 10, oferecendo os mesmos recursos avançados de geração, edição e renderização de PDFs das versões anteriores, como .NET 6, 7, 8 e 9. Ele é compatível com as novas melhorias de desempenho do .NET 10 e com os tipos de projeto, incluindo Web, Desktop, Console e MAUI.

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

Equipe de Suporte Iron

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim