IRONSOFTWAREHOME
COMPARAÇÃO DE PRODUTOS

Explore as melhores alternativas ao PDFsharp para converter PDFs em imagens.

Curtis Chau
Curtis Chau
Updated: 5 de julho de 2026

A maioria dos trabalhos HTML-to-PDF falha pelo mesmo motivo: a página só fica correta depois que um usuário se autentica. A IronPDF usa um mecanismo do Chrome, então vê o que um navegador não autenticado veria, uma tela de login ou um casco vazio, até que você forneça os cookies corretos. Três componentes da API resolvem isso, a propriedade RequestContext, o método ApplyCookies e o dicionário CustomCookies. Aqui é onde cada um se encaixa, com um trecho correspondente.

Renderização de faturas e extratos atrás do login

A fatura de um cliente está em uma rota protegida por sessão, e seu aplicativo já possui a sessão deles. Passe esse ID de sessão diretamente através CustomCookies:

using IronPdf;
using System.Collections.Generic;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;
renderer.RenderingOptions.CustomCookies = new Dictionary<string, string>
{
    { "ASP.NET_SessionId", sessionId }
};

renderer.RenderUrlAsPdf("https://app.example.com/account/invoices/1042")
        .SaveAs("invoice-1042.pdf");

Para autenticação básica ou do Windows, use ApplyCookies em vez disso. Assina no URL com as credenciais fornecidas e captura os cookies resultantes no contexto global, que a renderização seguinte reutiliza:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;

var credentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "svc_reports",
    NetworkPassword = "your_password"
};

string uri = "https://app.example.com/account/invoices/1042";
renderer.ApplyCookies(uri, credentials);

renderer.RenderUrlAsPdf(uri).SaveAs("invoice-1042.pdf");

Autenticação baseada em token e de terceiros

Aplicativos modernos raramente dependem de credenciais HTTP simples. Eles se autenticam com JWTs, OAuth ou SAML, frequentemente armazenando o resultado em um cookie. Como CustomCookies aceita qualquer par chave-valor, um token de portador ou cookie de provedor de identidade pode ser inserido diretamente:

renderer.RenderingOptions.CustomCookies = new Dictionary<string, string>
{
    { "auth_token", jwt },
    { "refresh_token", refreshToken }
};

Documentos personalizados e localizados

Cookies frequentemente carregam estado de localidade, moeda ou sinalizadores de recursos. Encaminhe-os, e o PDF corresponderá ao que aquele usuário específico vê, no idioma e moeda corretos:

renderer.RenderingOptions.CustomCookies = new Dictionary<string, string>
{
    { "locale", "en-AU" },
    { "currency", "AUD" },
    { "feature_newLayout", "on" }
};

Geração em lote que compartilha uma sessão

Para gerar muitos PDFs para o mesmo usuário autenticado em sequência, defina RequestContext para Global. O estado do navegador, incluindo cookies, persiste entre renderizações, então você autentica uma vez em vez de por documento:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;
renderer.RenderingOptions.CustomCookies = new Dictionary<string, string>
{
    { "ASP.NET_SessionId", sessionId }
};

foreach (var id in invoiceIds)
{
    renderer.RenderUrlAsPdf($"https://app.example.com/invoices/{id}")
            .SaveAs($"invoice-{id}.pdf");
}

O cenário oposto tem tanto peso quanto. Um serviço que renderiza para muitos usuários diferentes ao mesmo tempo precisa de contexto Isolated, que dá a cada renderização um estado limpo e impede que a sessão de um usuário vaze para o documento de outro. Dê a cada thread seu próprio renderizador:

using System.Threading.Tasks;

Parallel.ForEach(jobs, job =>
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Isolated;
    renderer.RenderingOptions.CustomCookies = new Dictionary<string, string>
    {
        { "ASP.NET_SessionId", job.SessionId }
    };

    renderer.RenderUrlAsPdf(job.Url).SaveAs(job.OutputPath);
});

Ajustando o método ao trabalho

Use cookies padrão (ApplyCookies) para autenticação HTTP básica, autenticação do Windows e sessões simples. Use CustomCookies com tokens, sessões de múltiplos parâmetros, provedores terceiros e preferências armazenadas. Escolha Global para compartilhar estado entre renderizações e Isolated para mantê-las separadas; Auto tem como padrão isolado e alterna para global uma vez que ApplyCookies é chamado.

A maioria das falhas se agrupam em torno de tokens expirados, domínios de cookies desajustados, manuseio de cookies seguros em URLs HTTPS e políticas SameSite em solicitações de origem cruzada. Confirme a validade dos cookies antes de renderizar e utilize Global quando as sessões precisarem persistir.

Quando cookies são todo o trabalho

Cookies não são um caso extremo na geração de PDF. Acertem e você entrega um documento utilizável; erram e você entrega uma captura de tela de um formulário de login.

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 bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.