IRONSOFTWAREHOME
ÜRÜN KARŞILAŞTIRMALARI

PDFsharp'a PDF'den Görsel İçe Aktarma En İyi Alternatiflerini Keşfet

Curtis Chau
Curtis Chau
Updated: 5 Temmuz 2026

Çoğu HTML'den PDF'e iş en aynı sebepten dolayı bozulur: sayfa ancak bir kullanıcı oturum açtıktan sonra doğru görünür. IronPDF, Chrome motorunu çalıştırır, bu nedenle, doğru çerezleri verene kadar, kimliği doğrulanmamış bir tarayıcının göreceği bir giriş ekranını ya da boş bir kabuğu görür. Bunu, RequestContext özelliği, ApplyCookies metodu ve CustomCookies sözlüğü olmak üzere API'nin üç parçası çözer. Her birinin nasıl uyduğunu ve eşleşen bir kod parçasını görmek için buraya bakın.

Giriş yaptıktan sonra faturaları ve ekstreleri oluşturma

Bir müşterinin faturası oturum korumalı bir yolda bulunur ve uygulamanız zaten oturumlarını tutar. O oturum kimliğini doğrudan CustomCookies üzerinden iletin:

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");

Temel veya Windows kimlik doğrulaması için bunun yerine ApplyCookies kullanın. URL'ye belirtilen kimlik bilgileri ile giriş yapar ve elde edilen çerezleri global bağlama kaydeder, ardından sonraki işlem onları yeniden kullanır:

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");

Token tabanlı ve üçüncü taraf kimlik doğrulaması

Modern uygulamalar basit HTTP kimlik bilgilerine nadiren dayanır. Kimlik doğrulamalarını JWT'ler, OAuth veya SAML ile yaparlar, genellikle sonucu bir çerezde saklarlar. CustomCookies herhangi bir anahtar-değer çiftini aldığı için, bir taşıyıcı jeton veya kimlik sağlayıcı çerezi doğrudan yerleştirilir:

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

Kişiselleştirilmiş ve yerelleştirilmiş belgeler

Çerezler genellikle yer, para birimi veya özellik bayrağı durumunu taşır. Onları iletin, PDF bu belirli kullanıcının gördüğü doğru dil ve para birimiyle eşleşir:

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

Bir oturumu paylaşan toplu oluşturma

Aynı kimliği doğrulanmış kullanıcı için sırayla birçok PDF üretmek için, RequestContext'yi Global olarak ayarlayın. Tarayıcı durumu, çerezler dahil, işlemler arasında kalır, yani her belge için değil, yalnızca bir kez kimlik doğrulaması yaparsınız:

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");
}

Çerez sızıntısı olmadan eşzamanlı oluşturma

Ters senaryo da aynı ağırlığı taşır. Birçok farklı kullanıcı için aynı anda hizmet sunumu yapan bir servis, her rendere temiz bir durum veren ve bir kullanıcının oturumunun başka bir kullanıcının belgesine sızmasını önleyen Isolated bağlamına ihtiyaç duyar. Her iş parçacığına kendi oluşturucusunu verin:

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);
});

Yöntemi işe eşlemek

Temel HTTP kimlik doğrulaması, Windows kimlik doğrulaması ve basit oturumlar için standart çerezleri (ApplyCookies) kullanın. Jetonlar, çok parametreli oturumlar, üçüncü taraf sağlayıcılar ve saklanan tercihler ile CustomCookies kullanın. Durumu renderlar arasında paylaşmak için Global ve onları ayrı tutmak için Isolated seçin; Auto varsayılan olarak izole edilmiş olarak başlar ve ApplyCookies çağrıldığında global hale geçer.

Çoğu hata, süresi dolmuş tokenler, eşleşmeyen çerez alanları, HTTPS URL'lerinde güvenli çerez işlemleri ve kökenler arası isteklerde SameSite politikaları etrafında kümelenir. Çerez geçerliliğini doğrulayın ve oturumların kalıcı olması gerektiğinde Global'e dayanın.

Çerezlerin tüm işi olduğu zamanlar

Çerezler PDF oluşturma işleminde bir uç durum değildir. Onları doğru şekilde alırsanız, kullanılabilir bir belge gönderirsiniz; Yanlış yaparsanız, bir oturum açma formunun ekran görüntüsünü gönderirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez