IronPDF ile C# kullanarak .NET Core'da HTML'yi PDF'ye dönüştürün

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 17 Eylül 2026

Yüksek kaliteli PDF'leri doğrudan HTML'den üretmek, modern .NET uygulamalarında rutin bir gerekliliktir; raporlar, faturalar ve biletler, web UI ile eşleşen piksel mükemmellikte çıktılar gerektirir. IronPDF, HTML, Razor görünümleri ve tam web sitelerini standartlara uyumlu PDF belgelerine dönüştürmek için tek bir C# API derleyerek bu iş akışını kolaylaştırır. Bu kılavuzun sonunda, bir geliştirici, bir ASP.NET Core projesinde URL'leri, ham HTML'yi veya MVC görünümlerini dönüştürebilir ve aynı kodu Windows, Linux, Docker veya sunucusuz ortamlara dağıtabilir.

İpuçları: Düzen sorunları için, IronPDF PDF oluşturulmadan önce CSS, JavaScript ve medya sorgusu tuhaflıklarını teşhis etmeye yardımcı olan bir Headless Chrome hata ayıklayıcısı sunar. Derinlemesine teknikler için özel piksel-mükemmel HTML'den PDF'e kılavuzunu inceleyin.
Hızlı Başlangıç: HTML'den PDF oluşturma .NET Core İle

HTML'yi PDF'ye .NET Core'da IronPDF kütüphanesini kullanarak zahmetsizce dönüştürün. Bu kılavuz, HTML içeriğini minimal kodla yüksek kaliteli bir PDF'ye dönüştürmeye başlamak için basit bir örnek sunar. PDF oluşturmayı kolayca uygulamalarına entegre etmek isteyen geliştiriciler için mükemmel.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello World</h1>");
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
    arrow pointer

Hızlı Başlangıç Kontrol Listesi

  1. Kurulum – Install-Package IronPdf
  2. Bir URL'i Görüntüle – ChromePdfRenderer.RenderUrlAsPdf()
  3. Ham HTML Görüntüleme – ChromePdfRenderer.RenderHtmlAsPdf()
  4. Bir Razor görünümünü dışa aktar – ChromePdfRenderer.RenderHtmlAsPdfAsync()
  5. Çıktıyı ince ayar yap – ChromePdfRenderer.RenderingOptions kullan

Bu Öğretici Ne İçerir?

  • URL, HTML stringi ve Razor görünümü dönüştürme
  • Kağıt, kenar boşluğu ve medya türü yapılandırması
  • Platformlar arası dağıtım (Windows, Linux, Docker)
  • Son işlemler: PDF'leri birleştirme, filigran ekleme, parola koruma ve dijital olarak imzalama
  • Uçtan uca örnek: bilet-rezervasyon MVC uygulaması

PDF kütüphanesini .NET Core'da nasıl kurarım?

Kütüphaneyi kurmak, herhangi bir .NET 8 projesinde tek satırlık bir komuttur ve .NET 9 önizlemesi ve yakında çıkacak .NET 10 sürümü ile ileri uyumludur. NuGet'in Paket Yöneticisi Konsolunu kullanın ve paket yöneticisi, Windows, Linux, Docker ve sunucusuz hedefler için her bağımlılığı otomatik olarak çözer.

:ProductInstall            # .NET 8 LTS and higher
SHELL
Lütfen dikkate alın: CLI'ye mi ihtiyacınız var? Aynı komut proje klasörünüzün içinde dotnet add package IronPdf ile çalışır.

Kurulumdan sonra, herhangi bir genel URL'yi dönüştürerek her şeyin bağlandığını doğrulayın:

public class ClientModel
{
    [Required]
    public string Name { get; set; }
    [Required]
    public string Phone { get; set; }
    [Required]
    public string Email { get; set; }
}

Nasıl çalışıyor

  • ChromePdfRenderer arka planda izole bir Chromium örneği oluşturur - ayrı bir Chrome yüklemesi gerektirmez.
  • RenderUrlAsPdf, tam olarak işlenmiş DOM'u, JavaScript ile çalışan içerik, CSS medya sorguları ve yazı tipleri dahil olmak üzere yakalar.
  • Ortaya çıkan PdfDocument, birleştirme, parola koruma veya dijital imzalama için yardımcı yöntemleri sunar - bu eğitimde ilerleyen bölümlerde ele alınmıştır.

Dağıtım ayrıntıları (Azure App Service, AWS Lambda, yerel Linux) hakkında daha fazla ayrıntı için özel kurulum kılavuzuna ve gelişmiş NuGet kurulumu sayfalarına bakın. Docker ve K8s küme içi CI/CD ipuçları, Docker dağıtım en iyi uygulamaları başlığı altında ele alınmıştır.


.NET Core hizmeti canlı bir web sitesi URL'sini PDF'ye nasıl dönüştürür?

RenderUrlAsPdf'ya yapılan tek bir çağrı yeterlidir: Herhangi bir genel olarak erişilebilir URL'yi iletin ve IronPDF tam olarak görüntülenmiş, standartlara uygun bir PDF döndürsün. Aşağıdaki kod .NET 8 LTS'yi hedeflemektedir ve .NET 9 önizlemesinde ve 2025'teki yaklaşan .NET 10 sürümünde değişmeden derlenir.

Adım adım örnek

public class ClientServices
{
    private static ClientModel _clientModel;
    public static void AddClient(ClientModel clientModel)
    {
        _clientModel = clientModel;
    }
    public static ClientModel GetClient()
    {
        return _clientModel;
    }
}

Neden çalışıyor?

  • ChromePdfRenderer, bir izole Chromium örneği oluşturur - sistem Chrome bağımlılığı olmadan, Docker imajlarını zayıf tutar.
  • RenderUrlAsPdf, anlık görüntü almadan önce DOM ve JavaScript'in tamamlanmasını bekler, böylece tek sayfalık uygulamalar doğru bir şekilde görüntülenir.
  • CssMediaType'u Yazdır olarak ayarlamak, motoru yazdırmaya özgü kuralları kullanmak üzere yönlendirir, tarayıcının Yazdır → PDF Olarak Kaydet çıkışına uygun hale getirir.
  • Ortaya çıkan PdfDocument şifrelenebilir, dijital olarak imzalanabilir, birleştirilebilir veya rasterize edilebilir - sonraki bölümlerde ele alınan yeteneklerdir.
İpuçları: Piksel mükemmel hata ayıklama: renderer.LoggingOptions.DebugMode = true etkinleştir ve canlı DevTools'u görüntüleme sırasında incelemek için Headless Chrome hata ayıklama kılavuzunu takip et.

İlgili kaynaklar


Ham HTML nasıl .NET Core'ta PDF'ye dönüştürülür?

HTML dizgisi - veya bir Razor görünümü'nün işlenmiş işaretlemesini - ChromePdfRenderer.RenderHtmlAsPdf'ya geçirerek anında standartlara uygun bir PDF üretin. Yöntem, IronPDF'nin gömülü Chromium motorunu başlatır, böylece harici tarayıcı kurulumu veya WebView bağımlılığı gerektirmez. Aşağıda gösterilen aynı kod, günümüzde .NET 8 LTS üzerinde derlenir ve .NET 9 ve Kasım 2025'te planlanan .NET 10 sürümleriyle ileriye dönük uyumlu kalır.

Örnek - bir HTML parçasından PDF oluşturun

@model IronPdfMVCHelloWorld.Models.ClientModel
@{
  ViewBag.Title = "Book Ticket";
}
<h2>Index</h2>
@using (Html.BeginForm())
{
  <div class="form-horizontal">
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
      @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      @Html.LabelFor(model => model.Phone, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      <div class="col-md-10 pull-right">
        <button type="submit" value="Save" class="btn btn-sm">
          <i class="fa fa-plus"></i>
          <span>
            Save
          </span>
        </button>
      </div>
    </div>
  </div>
}

Kodun gösterdiği şey

  • Gömülü Chromium - IronPDF, Chromium motorunu paketler, bu da modern tarayıcılarla HTML5, CSS3 ve JavaScript uyumluluğunu garanti eder.
  • Tek bağımlılık - Windows, Linux, Docker ve Azure/AWS için hafif bir NuGet kurulumu ekstra sistem kütüphaneleri olmadan kapsar.
  • Görüntüleme seçenekleri - PaperSize, CssMediaType ve RenderDelay tarayıcı yazdırma ayarlarını yansıtıyor, böylece PDF'ler ekran görüntüleriyle eşleşiyor.
  • Geleceğe yönelik hedefleme - API yüzeyi .NET 8, .NET 9 STS ve yaklaşan .NET 10 arasında aynıdır, bu nedenle uzun vadeli bakım minimaldir.
  • Son işleme kancaları - PdfDocument birleştirme, parola koruma ve dijital imzalar için yardımcıları ortaya çıkarıyor - her biri bu kılavuzda daha sonra ele alınacaktır.

Daha fazla okuma: adım adım HTML-şirket-dizisine-PDF eğitimi ve tam ChromePdfRenderer API belgesi bakın.


ASP .NET Core MVC görünümü nasıl PDF'ye aktarılır?

IronPDF, tamamen işlenmiş bir Razor görünümünü ( .cshtml ) bir tarayıcı gibi görüntüler ve sonucu bir PdfDocument olarak yayınlar. Aşağıdaki iş akışı, kontrolör mantığını temiz tutar, tarayıcı eklentileri gerektirmez ve .NET 8 LTS, .NET 9 önizlemesi ve Kasım 2025'teki planlanan .NET 10 sürümü üzerinde çalışır.

Baştan sona kontrolör örneği

// TicketsController.cs — .NET 8 LTS / MVC
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models;           // TicketViewModel

public class TicketsController : Controller
{
    private readonly ChromePdfRenderer _renderer;

    public TicketsController()
    {
        _renderer = new ChromePdfRenderer
        {
            RenderingOptions =
            {
                PaperSize        = PdfPaperSize.A5,            // Compact ticket size
                PaperOrientation = PdfPdfOrientation.Portrait,
                FitToPaperWidth  = true,
                CssMediaType     = PdfCssMediaType.Print,
                Margins = new PdfMargins(5, 10, 5, 10)         // mm
            }
        };
    }

    // GET /Tickets/Print/42
    public async Task<IActionResult> Print(int id)
    {
        TicketViewModel vm = await _service.GetTicketAsync(id);

        // 1. Render the Razor view to an HTML string
        string html  = await RazorTemplateEngine.RenderViewAsync(
                           HttpContext, "~/Views/Tickets/Print.cshtml", vm);

        // 2. Convert HTML → PDF
        using PdfDocument pdf = _renderer.RenderHtmlAsPdf(html);

        // 3. Stream back as a file
        return File(pdf.BinaryData, "application/pdf",
                    $"ticket-{id}.pdf");
    }
}

Bu kodun gösterdikleri

  • Geçici dosya yok - Razor görünümü bellekte işlenir, ardından doğrudan RenderHtmlAsPdf iletilir, disk G/Ç'si ve geçici klasör yarış koşulları önlenir.
  • Bilet boyutunda çıktı - PaperSize = A5 ve dar kenar boşlukları, evde yazdırılan biletleri kompakt tutar.
  • Tutarlı yazdırma stilleri - CssMediaType = Print tarayıcıların kullandığı aynı @media print CSS kurallarını uygular.
  • İkili akış - pdf.BinaryData belgenin dosya sistemine dokunmadan akışını sağlar; API uç noktaları ve Lambda fonksiyonları için idealdir.
  • Yeniden kullanılabilir görüntüleyici - ChromePdfRenderer her kontrolör başına bir kez oluşturulur ve sonra yeniden kullanılır, böylece işlem başlatma yükünü en aza indirir.
Paper & Orientation

PaperSize, PaperOrientation, FitToPaperMode

Margins & Headers / Footers

Margins, Header, Footer, Watermark

Sonraki adım: şifreleme, dijital imzalar ekleyin veya birden fazla bileti tek bir dosyada birleştirin. Birleştirme örneğine ve dijital imza nasıl yapılır rehberine bakın.


Kağıt boyutu, kenar boşlukları, başlıklar, filigranlar ve güvenliği işleme öncesi nasıl ince ayar yapabilirim?

IronPDF, çıktıdaki her yönü kontrol eden tek bir ChromePdfRenderOptions nesnesini ortaya çıkarır - kağıt boyutları, yönlendirme, üstbilgi & altbilgi, JavaScript zamanlaması, filigranlar, şifreleme ve dijital imzalar - ekstra tarayıcı eklentileri olmadan.

Kod örneği - birden fazla seçeneği aynı anda uygulayın

[HttpPost]
public ActionResult Index(ClientModel model)
{
    if (ModelState.IsValid)
    {
        ClientServices.AddClient(model);
        return RedirectToAction("TicketView");
    }
  return View(model);
}

Bu seçeneklerin önemi nedir?

  • PaperSize, Margins ve CssMediaType bir tarayıcının yazdırma diyalogunu yansıtır; böylelikle ekran düzenleri ve PDF, Windows, Linux ve Docker'da aynı kalır.
  • HTML başlıkları ve alt bilgileri Razor tokenleri, CSS ve JavaScript'i destekler - dinamik sayfa numaraları veya markalama için kullanışlıdır.
  • HtmlStamp tam HTML + CSS kontrolü ile markalı filigranları tek bir satırda oluşturmanıza olanak tanır.
  • Güvenlik seçenekleri, 128-bit şifreleme, sahip / kullanıcı parolaları ve üçüncü parti araçlar olmadan ayrıntılı izinler sağlar.
  • Dijital imzalar, kod içinde doğrudan kriptografik bir mühür ekleyerek yasal özgünlük sağlar ve manipülasyon kanıtı yaratır.
  • ExtractAllText ve ExtractAllImages gibi çıkarım yardımcıları, analiz gerektiğinde süreci tersine çevirir.

Hızlı referans - Popüler ayarlar

Page Layout & Media

PaperSize, PaperOrientation, Margins, CssMediaType, RenderDelay

Headers & Footers

HtmlHeader, HtmlFooter, dinamik Razor yer tutucular, sayfa numarası jetonları

Filigranlama

Filigran, HtmlDamga, opaklık, hizalama

Encryption & Signatures

SecurityOptions, SignAndStamp, sahip / kullanıcı parolaları, sertifika mühürleme

Sonraki görevler: birden fazla PDF'yi birleştirin, metin & resimleri çıkarın ve Docker'a veya sunucusuz bir platforma dağıtın. Çapraz platform uyumluluğunu sağlamak için dağıtım bölümüne devam edin.


PDF üretim kodunu Linux ve Windows üzerinde Docker'a nasıl dağıtabilirim?

IronPdf tek bir kendi kendine yeten NuGet paketi olarak gönderilir, bu nedenle bir ASP.NET Core (veya konsol) uygulamasını kapsamak, hem Windows hem de Linux üzerinde kolaydır. Anahtar, yayımlanan ikilileri zayıf bir çalışma zamanı imajına kopyalamak ve Linux üzerinde IronPDF ihtiyaç duyulan iki yerel kütüphaneyi eklemektir (libnss3 ve libatk1.0-0).

Çok aşamalı Dockerfile (Ubuntu 22.04)

Lütfen dikkate alın: Neden çok aşamalı? SDK görüntüsü (aşama 1) projeyi derler; son çalışma zamanı görüntüsü (aşama 2) ince kalır - < 120 MB - çünkü derleme araçları atılmıştır.
####### ---------- stage 1 ----------
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["MyPdfApp.csproj", "."]
RUN dotnet restore

COPY . .
RUN dotnet publish -c Release -o /app/publish

####### ---------- stage 2 ----------
FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
######## Install two native libs required by Chromium
RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0 && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MyPdfApp.dll"]
Dockerfile
Lütfen dikkate alın: Windows kapları? İkinci aşamayı mcr.microsoft.com/dotnet/aspnet:8.0-windowsservercore-ltsc2022 ile değiştirin - Ek paketler gerekmez çünkü Chromium DLL'leri paketlenmiştir.

Baştan sona doğrulama betiği

docker build -t pdf-demo .
docker run --rm -p 8080:80 pdf-demo
######### ↳ Navigate to http://localhost:8080/api/pdf?url=https://example.com
SHELL
  • API eylemi, tıpkı Bölüm2'de olduğu gibi içsel olarak ChromePdfRenderer.RenderUrlAsPdf çağrısı yapar.
  • IronPDF, konteyner içinde kendi sanal Chromium sürecini başlatır - çünkü başsız çalıştığı için X sunucusu gerekmez.
  • Büyük işlemler sırasında bile bellek kullanımı 200 MB'nin altında kalır.
İpuçları: Sorun giderme ipucu: Kapsayıcı günlükleri "libnss3.so bulunamadı" hatası gösteriyorsa, hem libnss3 hem de libatk1.0-0 mevcut olduğundan emin olun. Alp görüntüleri desteklenmez çünkü musl C kitaplığı gereken sembolleri içermez.

Dahili kaynaklar


Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle

Mevcut PDF'lerden içerik nasıl açılır, birleştirilir, filigran eklenir ve çıkarılır .NET Core'ta?

IronPDF, her PDF'i - istem IronPDF-i, Adobe® Acrobat veya üçüncü taraf araçlar tarafından oluşturulan - ilk sınıf PdfDocument nesnesi olarak işler, böylece açılabilir, düzenlenebilir, güvence altına alınabilir ve kalite kaybı olmadan tekrar kaydedilebilir. Aynı API yüzeyi bugün .NET 8 LTS üzerinde çalışır ve .NET 9 önizlemesi ve yaklaşan .NET 10 sürümünde de değişmeden derlenir.

Birlikte örnek - açık → birleştir → filigran → çıkar

[HttpPost]
public ActionResult TicketView(TicketModel model)
{
    IronPdf.Installation.TempFolderPath = $@"{Directory.GetParent}/irontemp/";
    IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
    var html = this.RenderViewAsync("_TicketPdf", model);
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf(html.Result, @"wwwroot/css");
    return File(pdf.Stream.ToArray(), "application/pdf");
}

Neden önemlidir

  • Açık & birleştir – PdfDocument.FromFile her türlü standart uyumlu PDF'i, şifrelenmiş dosyalar dahil yüklerken, PdfDocument.Merge tek bir çağrıda keyfi sayıda belge birleştirir.
  • Filigran – ApplyStamp (alias HtmlStamp) tam stilize edilmiş HTML/CSS kaplamaları - logo, QR kodu veya çapraz metin - seçilen sayfalar üzerine yerleştirir, rasterleştirme olmadan.
  • İçerik çıkarımı – ExtractAllText ve ExtractAllImages sonradan arşivleme veya AI boru hatları için ham UTF-8 metnini veya ikili resim akışlarını çeker.
  • Dijital imzalar hazır – aynı PdfDocument örneği, SignAndStamp ile mühürlenebilir, RFC 3161 uyumlu karmalar üreterek ISO 32000-2 dijital-imza gereksinimleriyle uyumlu hale gelir.
  • Açık standart uyumluluğu – IronPDF, orijinal PDF yapısını (yazı tipleri, katmanlar, XMP meta verileri) korur, böylece çıktı Adobe® Reader ve diğer ISO 32000-1 görüntüleyicileriyle uyumlu kalır.
  • Geleceğe yönelik – API, interop montajlarını ve Win32 GDI çağrılarını kullanmaktan kaçınır, bu yüzden kod Windows, Linux, Docker ve yaklaşan .NET 10 sunucusuz SKU'lar üzerinde değişmeden çalışır.

Sayfaları ayırma, döndürme veya silme mi gerekiyor? Granül işlemler için sayfa düzeyinde düzenleme eğitimine bakın.


PDF'ler .NET Core'ta nasıl şifrelenir ve dijital olarak imzalanır?

IronPDF, belgeyi iki adımda güvenceye alır: AES tabanlı şifreleme (kullanıcı/sahibi parolaları + ayrıntılı izinler) ve dosyayı kriptografik bir hash ile mühürleyen X.509 dijital imzaları. Her iki API de aynı PdfDocument nesnesinde yaşar, bu nedenle iş akışı bugün .NET 8 LTS üzerinde aynıdır ve .NET 9 önizlemesinde ve yaklaşan .NET 10 sürümünde değişmeden derlenir.

Örnek - 256-bit AES uygulayın, yazdırma haklarını kilitleyin ve görünür bir imza ekleyin

using System.IO;
using System.Threading.Tasks;

public static class ControllerExtensions
{
    public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
    {
        if (string.IsNullOrEmpty(viewName))
        {
            viewName = controller.ControllerContext.ActionDescriptor.ActionName;
        }
        controller.ViewData.Model = model;
        using (var writer = new StringWriter())
        {
            IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
            ViewEngineResult viewResult = viewEngine.FindView(controller.ControllerContext, viewName, !partial);
            if (viewResult.Success == false)
            {
                return $"A view with the name {viewName} could not be found";
            }
            ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, new HtmlHelperOptions());
            await viewResult.View.RenderAsync(viewContext);
            return writer.GetStringBuilder().ToString();
        }
    }
}

Kulisin arkasında

  • AES-256 şifreleme - IronPDF, yükü NIST onaylı AES anahtarları ile sararak yetkisiz açma, yazdırma veya kopyalama-yapıştırmayı engeller.
  • Yetkiler ayrıntısı - AllowUserPrinting ve AllowUserFormData gibi özellikler eylem başına hakları değiştirir; herhangi bir kısıtlamanın etkili olması için sahibi parolası gereklidir.
  • Dijital imzalar - SignAndStamp, bir RFC 3161 zaman damgası ve sertifika zinciri yerleştirir, böylece oynama belirtileri eğitim sertifikalı karmalar üretir ve Adobe® Acrobat ve diğer ISO 32000-2 görüntüleyiciler tarafından tanınır.
  • Tek noktadan API - hem şifreleme hem de imzalama aynı PdfDocument örneğini değiştirerek birden fazla dosya geçişini önleyin ve dahili yazı tipleri, katmanları ve meta verileri koruyun.
İpuçları: Sorun giderme ipucu: Adobe Reader "geçersiz imza" bildiriyorsa, PFX'in güvenilir bir kök sertifika içerdiğinden ve location dizelerinin ASCII-temiz olduğundan emin olun.

Çekirdek güvenlik ayarları

Encryption & Passwords

PdfSecuritySettings → OwnerPassword, UserPassword, ŞifrelemeAlgoritması, AllowUserPrinting

Dijital İmzalar

PdfDocument.SignAndStamp - PFX yolu, otorite, konum, neden, zaman damgası

Daha derine dalmak için iç kaynaklar


HTML'den PDF'ye performansın optimize edilmesi ve .NET Core'ta ölçeklenmesi nasıl yapılır?

IronPDF'in Chromium motoru zaten modern donanımda < 1 s içinde çoğu sayfayı işler, ancak verimlilik parti halinde işleme, çoklu iş parçacığı desteğini etkinleştirme ve Headless Chrome yükünü azaltma ile artırılabilir. Aşağıdaki ipuçları, tüm .NET sürümleri için eşit olarak geçerlidir.

1. Arka plan iş parçacığı havuzunda toplu işlemleri uygulayın

IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");

2. Headless Chrome başlangıç maliyetini azaltın

IronPDF, kendi Chromium yapısıyla birlikte gelir, ancak her işleme küçük bir başlangıç ücreti eklenir. Havuzlanma yardımcı olur ve Linux konteynerleri iki yerel kütüphane içermelidir:

RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0
Dockerfile

Herhangi bir kitaplığın eksik olması, Docker günlüklerinde bir libnss3.so not found hatası olarak ortaya çıkar.

Önerilen Chrome bayrakları (IronPDF tarafından otomatik olarak uygulanır), kapsayıcılarda bellek ve kök kullanıcı sorunlarını azaltmak için --disable-gpu ve --no-sandbox içerir.

3. Geç JavaScript'i RenderDelay veya WaitFor ile beklet

DOMContentLoaded ardından sayaçları hareketlendiren veya veri getiren sayfalar kısa bir gecikmeye ihtiyaç duyabilir:

renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";

Özel sözler ve DOM anketleme için özel WaitFor eğitimi'ne bakın.

4. Tek bir istek için hata ayıklama kaydını etkinleştirin

IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");

Canlı DevTools izlemeleri, eksik yazı tiplerini, 404 resimlerini ve zamanlama olaylarını kodu yeniden derlemeden ortaya koyar.

5. Yeniden işlemek yerine şablon PDF'leri tekrar kullanın

Fatura işlemleri için, [[name]] gibi yer tutucularla bir şablon PDF oluşturun ve karmaşık HTML oluşturmak yerine bir metin değiştirme gerçekleştirin. 10 kat daha hızlı ve hafızayı daha az tüketir.

Hızlı Ayarlama Kontrol Listesi

Multi-Thread & Async

Paralel.ForEach, async/await, tek bir ChromePdfRenderer kullanma

Docker için Optimizasyon Yapılmış Görüntüler

aspnet:8.0-jammy kullanın; libnss3 + libatk1.0-0 kurun; bayraklar --no-sandbox, --disable-gpu

JavaScript Zamanlaması

RenderDelay, WaitFor(), yavaş SPA dolumları için DevTools zaman çizelgesi kaydı

Daha Fazla Okuma


Ücretsiz deneme sürümünü nereden indirebilir, lisans seçebilir ve uzman desteği bulabilirim?

30 günlük deneme anahtarı, Ücretsiz Denemeye Başla formundan anında verilir ve her özelliğin kilidini açar - HTML'den PDF'ye, dijital imzalar ve şifrelemeler dahil - filigran olmadan.

Kütüphaneyi değerlendirdikten sonra, süreli geliştirici, dağıtım veya kurumsal bir lisans seçin; her plan, ücretsiz küçük güncellemeler, geliştirici/deneme/üretim kullanım hakları ve 30 günlük para iade garantisi içerir. Anahtarı uygulamak, kodun tek bir satırıdır (IronPdf.License.LicenseKey = "YOUR-KEY";) ve CI/CD boru hatlarında otomatikleştirilebilir.

Kapsamlı dökümantasyon - hızlı başlangıç kılavuzları, API referansı ve eğitim videoları - dökümantasyon portalında bulunur ve her .NET sürümü için güncellenir.

Mühendislik soruları, Chicago merkezli destek ekibi tarafından canlı sohbet, e-posta veya telefonla bir iş günü içinde yanıt alır.

Performans iyileştirme ve dağıtım SSS'leri, Performans Kontrol Merkezinde toplanmıştır.

Hızlı bağlantılar

KaynakURLNeden önemlidir
30 günlük deneme anahtarı alınhttps://ironpdf.com/demos/Her özelliğin kilidini filigran olmadan açar
Lisanslama & fiyatlandırmahttps://ironpdf.com/licensing/Süreli veya abonelik planları; Iron Suite, 10 kütüphaneyi paketler
API referansıhttps://ironpdf.com/object-reference/api/Tam sınıf belgeleri, örn. ChromePdfRenderer
Döküman portalıhttps://ironpdf.com/docs/Kılavuzlar, eğitimler, örnek projeler
Performans yardımhttps://ironpdf.com/troubleshooting/ironpdf-performance-assistance/Optimizasyon ve ölçeklendirme ipuçları
Destekle iletişimhttps://ironsoftware.com/contact-us/Canlı sohbet, e-posta, telefon desteği

Sonraki adımlar

  1. Örnek depoyu klonla - MVC görünüm işleme'den AES-256 şifrelemeye kadar her ana özelliği demonstre eder.
  2. Deneme anahtarını yerleştirin mevcut bir çözüme ve platformlar arası uyumluluğu doğrulamak için birim testlerini çalıştırın.
  3. Proje özel öneriler için mühendislik ekibiyle canlı demo ayırtın.

Bu kaynaklarla, herhangi bir .NET ekibi tek bir sprint içinde üretime piksel mükemmel PDF'ler gönderebilir - yerinde, Docker'da veya sunucusuz.

Sıkça Sorulan Sorular

.NET Core'ta HTML'yi PDF'ye nasıl dönüştürebilirim?

.NET Core'da HTML'yi PDF'ye dönüştürmek için IronPDF kütüphanesini kullanabilirsiniz. İlk olarak, IronPDF NuGet paketini kurun, ardından bir ChromePdfRenderer örneği oluşturun. HTML dizelerini PDF'lere dönüştürmek için RenderHtmlAsPdf yöntemini kullanın.

Bir web sitesi URL'sini PDF belgesine nasıl dönüştürürüm?

Bir web sitesi URL'sini PDF belgesine dönüştürmek için, IronPDF NuGet paketini kurun, bir ChromePdfRenderer örneği oluşturun ve URL'yi PDF olarak işlemek için RenderUrlAsPdf yöntemini kullanın. Sonuç, SaveAs yöntemi kullanılarak kaydedilebilir.

Razor görünümlerini PDF'lere dönüştürmenin en iyi yolu nedir?

Razor görünümlerini PDF'lere dönüştürmenin en iyi yolu IronPDF kullanmaktır. İlk olarak, Razor görünümünü bir HTML dizesine dönüştürün, ardından bu dizeyi bir PDF belgesi oluşturmak için RenderHtmlAsPdf yöntemine iletin.

PDF belgelerimin güvenliğini nasıl artırabilirim?

PDF güvenliğini artırmak için IronPDF kullanarak AES-256 şifreleme uygulayın, şifreler belirleyin ve kullanıcı izinlerini kontrol edin. Yazdırma ve düzenleme gibi eylemleri kısıtlamak için bu ayarları SecuritySettings özelliği aracılığıyla yapılandırın.

PDF render'ı özelleştirmek için hangi seçenekler mevcut?

IronPDF, ChromePdfRenderOptions sınıfı aracılığıyla kağıt boyutu, yönlendirme, kenar boşlukları ayarlama ve CSS medya türlerini uygulama dahil çeşitli render seçenekleri sunar. Ayrıca, özelleştirilmiş belge çıktısı için başlık, altbilgi ve filigran ekleyebilirsiniz.

Bir PDF oluşturma uygulamasını Docker konteynerine nasıl dağıtabilirim?

Bir PDF oluşturma uygulamasını Docker konteynerinde dağıtmak için, Dockerfile'daki Linux bağımlılıklarını yapılandırın ve kullanıcı izinlerini ayarlayın. Otomatik bağımlılık yönetimi için IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig kullanın.

C# kullanarak bir PDF'e filigran nasıl ekleyebilirim?

PDF'lere filigran eklemek için IronPDF kullanarak, HtmlStamp nesneleri ile Watermark özelliğini kullanabilirsiniz. İleri düzey seçenekler için, HtmlStamper sınıfı özelleştirilmiş konumlandırma ve saydamlık efektleri sağlar.

PDF belgelerine dijital imzalar ekleyebilir miyim?

Evet, IronPDF ile PdfSignature sınıfını kullanarak PDF'lere dijital imzalar ekleyebilirsiniz. Bir PdfDocument üzerinde Sign metodunu kullanarak ve belge bütünlüğü ile doğruluğunu sağlamak için bir sertifika dosyası sağlayarak bunu yapabilirsiniz.

.NET Core'da PDF oluşturma performansını nasıl optimize edebilirim?

PDF oluşturma performansını iyileştirmek için ChromePdfRenderer örneğini tekrar kullanarak, çoklu iş parçacığını etkinleştirerek ve gereksiz başsız-Chrome başlatma bayraklarını daraltarak optimize edin. Bu uygulamalar, uygulamanızın verimliliğini artırmaya yardımcı olur.

Bu öğreticideki .NET Core HTML'den-PDF'e örnek .NET 10 ile de çalışıyor mu?

Evet. IronPDF, .NET 10 ile tamamen uyumludur, bu yüzden bu eğitimdeki ChromePdfRenderer HTML-to-PDF örneğini .NET 10 projelerinde çekirdek kodu değiştirmeden kullanabilirsiniz. Ana fark, projeyi oluştururken .NET 10'u hedeflemeniz ve ardından HTML, Razor görünümleri veya URL'lerden piksel mükemmeliyetinde PDF'ler oluşturmak için NuGet'ten en son IronPdf paketini yüklemenizdir.

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 21,739,885Sürüm:2026.10yeni yayınlandı