Como usar cookies com o IronPDF para geração segura de PDFs em C#

Como usar cookies com o IronPDF em C

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

O IronPDF utiliza a propriedade RequestContext e o método ApplyCookies para integrar cookies na renderização de PDF, mantendo informações de sessão e autenticação do usuário durante as conversões de HTML para PDF.

Os cookies são pequenos arquivos de dados que os sites armazenam nos dispositivos dos usuários. Eles gerenciam sessões, rastreiam o comportamento do usuário e armazenam preferências. Regulamentos de privacidade como o GDPR e o CCPA aumentaram o foco na gestão de cookies, levando os navegadores a oferecer aos usuários maior controle sobre o gerenciamento de cookies.

Ao usar o mecanismo de renderização do Chrome do IronPDF , os cookies mantêm o estado durante o processo de conversão de HTML para PDF . Isso é essencial ao renderizar páginas que exigem autenticação TLS em sites e logins de sistema ou preferências específicas do usuário.

Início Rápido: Converter PDF com Cookies no IronPDF

Integre cookies ao seu processo de renderização de PDF com o IronPDF. Este guia demonstra como usar a API do IronPDF para gerenciar cookies durante conversões de HTML para PDF. Aplique cookies padrão ou personalizados usando a propriedade RequestContext e o método ApplyCookies com o mínimo de código.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

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

    new IronPdf.ChromePdfRenderer { RenderingOptions = { RequestContext = IronPdf.Rendering.RequestContexts.Global, CustomCookies = new Dictionary<string, string> { { "sessionId", "your_cookie_value" } } } }
        .RenderUrlAsPdf("https://example.com/protected")
        .SaveAs("secureWithCookies.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


Como faço para aplicar cookies à renderização de PDFs?

O que é a propriedade RequestContext?

Defina a propriedade RequestContext como RequestContexts.Global antes de aplicar os cookies. Crie a classe ChromeHttpLoginCredentials e passe-a para o método ApplyCookies. O renderizador então converte o conteúdo HTML em PDF com cookies.

A propriedade RequestContext funciona com cabeçalhos de requisição HTTP e autenticação. Ele determina o compartilhamento de cookies entre sessões de renderização, o que é crucial para aplicativos que mantêm o estado da sessão em várias gerações de PDF.

Como faço para usar o método ApplyCookies?

Aplicar cookies usando o IronPDF:

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.cs
using IronPdf;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;

ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
    NetworkUsername = "testUser",
    NetworkPassword = "testPassword"
};

string uri = "http://localhost:51169/Invoice";

// Apply cookies
renderer.ApplyCookies(uri, credentials);
Imports IronPdf

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global

Dim credentials As New ChromeHttpLoginCredentials() With {
	.NetworkUsername = "testUser",
	.NetworkPassword = "testPassword"
}

Dim uri As String = "http://localhost:51169/Invoice"

' Apply cookies
renderer.ApplyCookies(uri, credentials)
$vbLabelText   $csharpLabel

Essa abordagem funciona ao converter páginas ASPX em PDF, o que requer autenticação, ou com aplicativos ASP.NET MVC .

Qual RequestContext devo escolher?

RequestContexts Enum define contextos de requisição do navegador, estabelecendo relações entre renderizações. Ele gerencia cookies e preferências do usuário.

  • Isolado : Cria novos contextos de requisição isolados. Impede que as renderizações atuais sejam afetadas por renderizações anteriores. Ideal para geração de PDFs com múltiplas threads .
  • Global : Utiliza um contexto de requisição global compartilhado entre todas as renderizações. Mantém o estado do navegador entre renderizações. Ideal para manter os dados da sessão em operações com PDFs.
  • Automático : O padrão é IronPdf.Rendering.RequestContexts.Isolated. Alterna para IronPdf.Rendering.RequestContexts.Global se IronPdf.ChromePdfRenderer.ApplyCookies(System.String, IronPdf.ChromeHttpLoginCredentials) foi invocado.

Ao implementar cookies em aplicações Blazor Server , escolha o RequestContext apropriado para manter o estado da sessão correto entre as renderizações do lado do servidor.


Como faço para aplicar cookies personalizados?

O que são cookies personalizados no IronPDF?

Os cookies personalizados exigem a configuração da propriedade CustomCookies . Esta propriedade aceita dicionários de pares chave-valor do tipo string. Os cookies personalizados lidam com sistemas de autenticação complexos ou transmitem dados em nível de aplicativo durante a renderização.

Os cookies personalizados diferem dos cookies HTTP padrão por permitirem a definição de qualquer par chave-valor. Essa flexibilidade é adequada para aplicações web modernas que utilizam tokens JWT, IDs de sessão ou mecanismos de autenticação personalizados.

Como faço para implementar cookies personalizados?

Aplicar cookies personalizados usando o IronPDF:

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-custom-cookies.cs
using IronPdf;
using System;
using System.Collections.Generic;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

Dictionary<string, string> customCookies = new Dictionary<string, string>();

// Apply custom cookies
renderer.RenderingOptions.CustomCookies = customCookies;

var uri = new Uri("https://localhost:44362/invoice");
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
Imports IronPdf
Imports System
Imports System.Collections.Generic

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private customCookies As New Dictionary(Of String, String)()

' Apply custom cookies
renderer.RenderingOptions.CustomCookies = customCookies

Dim uri As New Uri("https://localhost:44362/invoice")
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf(uri)
$vbLabelText   $csharpLabel

Essa abordagem é adequada para sites que utilizam muito JavaScript e dependem de cookies para gerenciamento de estado ou para implementar soluções de registro personalizadas .

Quando devo usar cookies personalizados em vez de cookies padrão?

Os cookies personalizados gerenciam dados de sessão específicos ou tokens de autenticação que não são gerenciados pelas credenciais HTTP padrão. Utilize-os com sistemas de autenticação personalizados ou para manter as preferências do usuário durante a geração de PDFs.

Os cookies padrão (via método ApplyCookies) são adequados para:

  • Autenticação HTTP básica
  • Ambientes de autenticação do Windows
  • Gerenciamento de sessão simples

Os cookies personalizados são excelentes para:

  • Autenticação baseada em token JWT
  • Gerenciamento complexo de sessões com múltiplos parâmetros
  • Fornecedores de autenticação de terceiros (OAuth, SAML)
  • Manutenção das preferências e configurações do usuário
  • Requisitos de análise e rastreamento

Quais são os problemas comuns na implementação de cookies?

Problemas comuns incluem cookies que não persistem entre renderizações usando o contexto Isolated, falhas de autenticação devido a valores de cookies incorretos e problemas de sincronização em que os cookies expiram antes da geração do PDF. Verifique a validade do cookie e considere o contexto Global para sessões persistentes.

Dicas para resolução de problemas:

  1. Validade dos cookies : Verifique se os cookies não expiraram. Implementar lógica de atualização para tokens de curta duração.
  2. Restrições de domínio : Certifique-se de que os domínios dos cookies correspondam ao URL renderizado.
  3. Cookies seguros : Configure corretamente os cookies seguros ao renderizar URLs HTTPS.
  4. Políticas SameSite : Considere as políticas de cookies SameSite do navegador que afetam as solicitações de origem cruzada.

Para cenários avançados de autenticação e cookies, consulte a documentação de opções de renderização, que abrange todas as configurações de personalização disponíveis para geração de PDFs.

Perguntas frequentes

Como faço para aplicar cookies ao renderizar HTML para PDF?

Para aplicar cookies com o IronPDF, defina a propriedade RequestContext como RequestContexts.Global no ChromePdfRenderer e, em seguida, use o método ApplyCookies com ChromeHttpLoginCredentials. Isso garante que os cookies sejam transmitidos corretamente durante o processo de conversão de HTML para PDF.

Para que serve a propriedade RequestContext?

A propriedade RequestContext no IronPDF determina como os cookies são compartilhados entre as sessões de renderização. Ela interage com os cabeçalhos de requisição HTTP e com a autenticação, sendo crucial para aplicações que precisam manter o estado da sessão entre múltiplas gerações de PDF.

Posso adicionar cookies personalizados durante a renderização de PDF?

Sim, o IronPDF permite cookies personalizados através da propriedade `CustomCookies`. Basta criar um dicionário com os pares de chave-valor dos seus cookies e atribuí-lo à propriedade `RenderingOptions.CustomCookies` do `ChromePdfRenderer`.

Como faço para converter uma página protegida por cookies em PDF?

Utilize o ChromePdfRenderer do IronPDF com o RequestContext definido como Global e adicione seus cookies através da propriedade CustomCookies. Em seguida, chame o método RenderUrlAsPdf() com sua URL protegida. O renderizador incluirá os cookies na requisição, permitindo o acesso ao conteúdo protegido.

Que tipos de autenticação os cookies podem lidar na renderização de PDF?

A integração de cookies do IronPDF oferece suporte a vários cenários de autenticação, incluindo autenticação de sites TLS, logins de sistema e autenticação baseada em sessão. Isso é particularmente útil ao converter páginas ASPX ou aplicativos ASP.NET MVC que exigem autenticação de usuário.

Por que os cookies são importantes na conversão de HTML para PDF?

Os cookies mantêm o estado durante o processo de conversão de HTML para PDF com o mecanismo de renderização Chrome do IronPDF. Eles são essenciais para renderizar páginas que exigem autenticação, preservar as preferências específicas do usuário e manter as informações da sessão durante toda a conversão.

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,332,619 | 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.