Altbilgi içeriğine atla
IRONPDF KULLANARAK

IronPDF ile ASP.NET Core PDF Görüntüleyici Nasıl Oluşturulur

Bir web tarayıcısında PDF belgelerini doğrudan görüntülemek, modern ASP.NET Core uygulamaları için yaygın bir gerekliliktir. Faturalar, raporlar veya sözleşmeler oluştururken, kullanıcılar üçüncü taraf eklentileri veya Adobe Acrobat Reader gibi dosyaları indirmeden düzgün bir PDF görüntüleme deneyimi bekler. IronPDF, sunucu tarafı PDF oluşturma ve Chrome tabanlı bir render motoru üzerinden akış sağlayarak bu işlemi basitleştirir -- harici görüntüleyici bağımlılıkları gerekmez.

Bu eğitim, PDF dosyalarının ASP.NET Core'da IronPDF kullanarak nasıl görüntüleneceğini, kaydedileceğini ve yazdırılacağını gösterir. Kütüphanenin kapsayıcı ve bulut dağıtımları nasıl ele aldığını, bu nedenle üretim DevOps boru hatları için güvenilir bir seçim olduğunu da öğreneceksiniz.

HTML'den PDF'ye dönüştürme, düzenleme araçları, dağıtım esnekliği ve ücretsiz deneme teklifini öne çıkaran IronPDF C# PDF Kutuphanesi tanıtım banner'ı

Tarayıcılar PDF Dosyalarını Satır İçi Nasıl Görüntüler?

Modern tarayıcılar, application/pdf MIME türüyle yanıt alındığında etkinleşen yerleşik PDF görüntüleyicilere sahiptir. ASP.NET Core denetleyiciniz doğru Content-Type başlığı ile bir PDF döndürdüğünde, tarayıcı otomatik olarak satır içi olarak render eder -- eklenti yüklemesi gerekmez. MDN Web Dökümanlarına göre, doğru MIME türü yapılandırması, tarayıcıların dosya yanıtlarını nasıl ele aldığını kontrol etmek için esastır.

IronPDF, tam bir Chromium motoru içeren ChromePdfRenderer sınıfını kullanarak sunucu tarafında PDF'ler üretir. Bu, belgelerin eksiksiz CSS, JavaScript, web yazı tipleri ve dijital imza desteği ile oluşturulduğu anlamına gelir -- Google Chrome'u güçlendiren aynı render boru hattı. Sonuç, herhangi bir istemci tarafı görüntüleyici kütüphanesi olmadan tarayıcıların satır içi görüntülediği pixel-perfect çıktıdır.

Kapsayıcıya alınmış ortamlar için, bu mimari özellikle değerlidir. Render motoru tamamen süreç içinde çalışır, harici başsız tarayıcı işlemlerini canlandırma veya uzak hizmetlere güvenme zorunluluğu olmadan. Kaynak temizleme işlevi otomatik olarak gerçekleşir, uzun süre çalışan ASP.NET Core hizmetlerinde bellek sızıntılarını önler. IronPDF'nin tam özellik setini gözden geçirebilir ve mevcut tüm render kapasitesini anlayabilirsiniz.

PDF yazılım yeteneklerini sergileyen dört sütunlu özellik ızgarası: PDF'leri Oluştur, PDF'leri Dönüştür, PDF'leri Düzenle ve PDF'leri İmzala ve Güvenle, her kategori altında detaylı özellik listeleri

Neden Sunucu Tarafı Render İstikrarlı Sonuçlar Üretir?

Sunucu tarafı render, PDF oluşturma sürecinden tarayıcı değişkenliğini ortadan kaldırır. PDF'ler istemci tarafında oluşturulduğunda, çıktı kalitesi son kullanıcının tarayıcı sürümüne, işletim sistemine ve yüklü yazı tiplerine bağlıdır. IronPDF ile, hangi sunucuda olursa olsun -- Windows, Linux veya bir Docker kapsayıcısı -- aynı Chromium motoru her sunucuda çalışır, bu da uyum belgeleri, faturalar ve imzalanmış sözleşmeler için aynı çıktıyı garanti eder.

Chrome Motoru, Basit HTML-to-PDF Dönüştürücülerinden Ne Sağlar?

Basit HTML-to-PDF dönüştürücüler JavaScript çalıştırmayı sık sık atlar, CSS medya sorgularını görmezden gelir veya kötü bir tipografi üretir. IronPDF'un Chrome motoru, JavaScript'in tamamlanmasını bekler, @media print stillerine saygı duyar, SVG grafiklerini işler ve uluslararası içerik için UTF-8 karakter kodlamasını destekler. Bu uyum, kullanıcıların aynı zamanda yazdıracakları veya arşivleyecekleri belgeler gösterilirken önemlidir.

IronPDF ASP.NET Core Projeye Nasıl Yüklenir?

Yeni bir ASP.NET Core projesi oluşturmak tek bir komut alır. Bir terminal açın ve çalıştırın:

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

Sonra, IronPDF NuGet paketini yükleyin. Package Manager Konsolu veya .NET CLI'yi kullanabilirsiniz:

Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
SHELL

Bu, gereken her şeyi yükler -- Chrome motoru, PDF işleme kütüphaneleri ve tüm platforma özel bağımlılıklar. IronPDF, ek çerçeve yapılandırması olmadan .NET 6, 7, 8, 9 ve 10'u destekler. IronPDF belgeleri AWS Lambda gibi boyut sınırı olan konuşlandırmalar için ince paketleri de içeren gelişmiş kurulum seçeneklerini kapsar.

Birçok bağımlılık indirme dahil IronPDF NuGet paketinin kurulum progressini gösteren Visual Studio Paket Yöneticisi Konsolu, Iron Software bileşenleri, gRPC ve System.Threading.Channels dahil

Hangi Paket Varyantını Tercih Etmelisiniz?

Standart dağıtımlar için IronPdf kullanın. AWS Lambda veya uç fonksiyonlar gibi sıkı boyut sınırlamaları olan ortamlar için IronPdf.Slim paketi ilk indirme ayakizini azaltır. Her iki varyant da aynı API'yi sunar, bu yüzden geçiş yaparken kodda değişiklik yapmanız gerekmez.

Konteyner Ortamlarındaki Yaygın Kurulum Sorunları Nelerdir?

Linux konteynerleri bazen grafik işlemleri için ek sistem kütüphaneleri gerektirir. Minimal bir Dockerfile kurulumu şunları içerir:

apt-get update && apt-get install -y libgdiplus libc6-dev libx11-dev
apt-get update && apt-get install -y libgdiplus libc6-dev libx11-dev
SHELL

Windows konteynerleri genellikle ek bağımlılıklar olmadan çalışır. Sorunları gidermek için, IronPDF'nin yerleşik günlüklemeyi aktif hale getirin, böylece HTTP 500 yanıtları olarak ortaya çıkmadan önce render hatalarını yakalayabilirsiniz.

Tarayıcıda Bir PDF'yi Nasıl Çevrimiçi Görüntülersiniz?

PDF'yi tarayıcı içinde görüntülemek için gereken üç şey var: PDF'yi oluşturun, application/pdf MIME türünü ayarlayın ve File() sonucunda dosya adı parametresini hariç tutun. İşte tam bir kontrolör eylemi:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();

// PdfController.cs
public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.RenderDelay = 100;

        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        // Omitting the filename tells the browser to display inline
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();

// PdfController.cs
public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.RenderDelay = 100;

        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        // Omitting the filename tells the browser to display inline
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Dim builder = WebApplication.CreateBuilder(args)
builder.Services.AddControllersWithViews()
Dim app = builder.Build()
app.MapControllerRoute(name:="default", pattern:="{controller=Home}/{action=Index}/{id?}")
app.Run()

' PdfController.vb
Public Class PdfController
    Inherits Controller

    Public Function ViewPdf() As IActionResult
        Dim renderer = New ChromePdfRenderer()
        renderer.RenderingOptions.PrintHtmlBackgrounds = True
        renderer.RenderingOptions.CreatePdfFormsFromHtml = True
        renderer.RenderingOptions.EnableJavaScript = True
        renderer.RenderingOptions.RenderDelay = 100

        Dim html = "
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Omitting the filename tells the browser to display inline
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

Anahtar File() çağrısıdır: application/pdf adlı bir dosya olmadan döndürmek, tarayıcının yerleşik PDF görüntüleyicisini tetikleyen Content-Disposition: inline ayarlar. Bir dosya adı eklemek Content-Disposition: attachment değiştirir, bu da bir indirme tetikler. Daha fazla HTML dönüştürme modeli için, HTML dizesini PDF'ye kılavuzunu inceleyin.

Yüksek trafikli uygulamalar için, işlemsel olmayan yöntem kullanarak iş parçacıklarının engellenmesini önleyin:

public async Task<IActionResult> ViewPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.Timeout = 60;

    var html = await GetHtmlContentAsync();
    var pdf = await renderer.RenderHtmlAsPdfAsync(html);

    return File(pdf.BinaryData, "application/pdf");
}
public async Task<IActionResult> ViewPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.Timeout = 60;

    var html = await GetHtmlContentAsync();
    var pdf = await renderer.RenderHtmlAsPdfAsync(html);

    return File(pdf.BinaryData, "application/pdf");
}
Imports System.Threading.Tasks

Public Async Function ViewPdfAsync() As Task(Of IActionResult)
    Dim renderer = New ChromePdfRenderer()
    renderer.RenderingOptions.Timeout = 60

    Dim html = Await GetHtmlContentAsync()
    Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)

    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

Standart gezinme kontrollerine sahip web tabanlı bir PDF görüntüleyicide görüntülenen temel bir PDF faturasının örneği

Ne Zaman İşlemsel Olmayan PDF Üretimini Kullanmalısınız?

İşlemsel olmayan üretim, eşzamanlı istekler alan bir uca ekte önemli bir rol oynar. Senkron üretim, ASP.NET Core iş parçacığı havuzu iş parçacıklarını engeller, bu da uygulamanızın aynı anda işleyebileceği istek sayısını azaltır. API yüzeyi aynı olduğu için erken dönemde asenkron yöntemlere geçin, böylece geçiş basit olur.

Başka Hangi HTML Kaynaklarını Render Edebilirsiniz?

HTML dizeleri dışında, IronPDF URL'lerden, disk üzerindeki HTML dosyalarından ve Razor görünümlerinden render alır. renderer.RenderUrlAsPdf("https://example.com/report") çağrısı canlı bir URL yakalarken, renderer.RenderHtmlFileAsPdf("wwwroot/templates/invoice.html") yerel dosya sisteminden okur. Bu esneklik, mevcut Razor şablonlarını ayrı HTML dosyalarını sürdürmek zorunda kalmadan PDF şablonları olarak yeniden kullanmanızı sağlar. IronPdf için NuGet Galeri listesi mevcut paket sürümünü ve sürüm notlarını gösterir.

ASP.NET Core'da PDF Dosyası İndirmeleri Nasıl Etkinleştirilir?

Inline görüntüleme yerine dosya indirmeyi tetiklemek, tek bir parametre değişikliğidir. File() sonucuna bir dosya adı eklemek, Content-Disposition başlığını attachment olarak ayarlar:

public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.ImageQuality = 85;

    var html = @"<h1>Quarterly Report</h1>
                 <p>Revenue this quarter exceeded projections by 12%.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");

    // Compress images to reduce download size
    pdf.CompressImages(30);

    // The filename parameter triggers download instead of inline view
    return File(pdf.BinaryData, "application/pdf", "quarterly-report-2026.pdf");
}
public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.ImageQuality = 85;

    var html = @"<h1>Quarterly Report</h1>
                 <p>Revenue this quarter exceeded projections by 12%.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");

    // Compress images to reduce download size
    pdf.CompressImages(30);

    // The filename parameter triggers download instead of inline view
    return File(pdf.BinaryData, "application/pdf", "quarterly-report-2026.pdf");
}
Public Function DownloadPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    renderer.RenderingOptions.ImageQuality = 85

    Dim html As String = "<h1>Quarterly Report</h1>
                          <p>Revenue this quarter exceeded projections by 12%.</p>"
    Dim pdf = renderer.RenderHtmlAsPdf(html, "wwwroot/images")

    ' Compress images to reduce download size
    pdf.CompressImages(30)

    ' The filename parameter triggers download instead of inline view
    Return File(pdf.BinaryData, "application/pdf", "quarterly-report-2026.pdf")
End Function
$vbLabelText   $csharpLabel

Birçok kullanıcıya sunulan büyük belgeler için, akış en yüksek bellek tüketimini azaltır:

public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    var html = "<h1>Large Report</h1><p>Content spanning many pages.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);

    var stream = pdf.Stream;
    stream.Position = 0;

    // Stream directly without buffering the full byte array
    return File(stream, "application/pdf", "report.pdf");
}
public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    var html = "<h1>Large Report</h1><p>Content spanning many pages.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);

    var stream = pdf.Stream;
    stream.Position = 0;

    // Stream directly without buffering the full byte array
    return File(stream, "application/pdf", "report.pdf");
}
Imports IronPdf

Public Function StreamPdf() As IActionResult
    Dim renderer As New ChromePdfRenderer()
    Dim html As String = "<h1>Large Report</h1><p>Content spanning many pages.</p>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)

    Dim stream = pdf.Stream
    stream.Position = 0

    ' Stream directly without buffering the full byte array
    Return File(stream, "application/pdf", "report.pdf")
End Function
$vbLabelText   $csharpLabel

Akış, PDF verilerini kademeli olarak gönderir, bu da büyük dosyalar eşzamanlı kullanıcılara sunulurken en yüksek bellek kullanımını önemli ölçüde azaltır. Ek dışa aktarma kalıpları için PDF'leri birleştirme ve bölme ve PDF'lerden metin çıkartma kılavuzuna bakın.

IronPDF for .NET kullanarak üretilen bir PDF belgesinin standart bir PDF görüntüleyici arayüzünde gösterimi

Farklı Belge Türleri İçin Hangi Sıkıştırma Ayarları Daha İyi Çalışır?

Text-heavy PDFs compress well at 70-80% image quality with minimal visual impact. Pazarlama broşürleri gibi görüntü açısından zengin belgeler netliği korumak için %85-95 kaliteye ihtiyaç duyar. Grafiklerin okunabilirliğini korumak için grafik içeren finansal raporlar %85 veya daha üzerinde kalmalıdır. Üretime geçmeden önce, örnek belgeler üzerinde sıkıştırma seviyelerini test edin.

ASP.NET Core'da Baskıya Hazır PDF'ler Nasıl Üretilir?

Baskı için hazır PDF'ler, belirli sayfa yapılandırması gerektirir: baskı CSS medya türü, tanımlanmış kenar boşlukları ve belirgin kağıt boyutu. IronPDF, bunların tümünü RenderingOptions ile sağlar:

public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;

    // Add headers and footers for professional print output
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Confidential Document",
        DrawDividerLine = true
    };
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        FontSize = 10
    };

    var html = @"
        <style>
            @media print {
                .no-print { display: none; }
                .page-break { page-break-after: always; }
            }
        </style>
        <h1>Print-Ready Document</h1>
        <p>This document is formatted for A4 printing with standard margins.</p>
        <div class='page-break'></div>
        <h2>Page 2</h2>
        <p>Content continues on the second page.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;

    // Add headers and footers for professional print output
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Confidential Document",
        DrawDividerLine = true
    };
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        FontSize = 10
    };

    var html = @"
        <style>
            @media print {
                .no-print { display: none; }
                .page-break { page-break-after: always; }
            }
        </style>
        <h1>Print-Ready Document</h1>
        <p>This document is formatted for A4 printing with standard margins.</p>
        <div class='page-break'></div>
        <h2>Page 2</h2>
        <p>Content continues on the second page.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
Imports System.Web.Mvc

Public Function PrintablePdf() As ActionResult
    Dim renderer = New ChromePdfRenderer()
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
    renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
    renderer.RenderingOptions.MarginTop = 25
    renderer.RenderingOptions.MarginBottom = 25
    renderer.RenderingOptions.MarginLeft = 25
    renderer.RenderingOptions.MarginRight = 25

    ' Add headers and footers for professional print output
    renderer.RenderingOptions.TextHeader = New TextHeaderFooter With {
        .CenterText = "Confidential Document",
        .DrawDividerLine = True
    }
    renderer.RenderingOptions.TextFooter = New TextHeaderFooter With {
        .CenterText = "Page {page} of {total-pages}",
        .FontSize = 10
    }

    Dim html = "
        <style>
            @media print {
                .no-print { display: none; }
                .page-break { page-break-after: always; }
            }
        </style>
        <h1>Print-Ready Document</h1>
        <p>This document is formatted for A4 printing with standard margins.</p>
        <div class='page-break'></div>
        <h2>Page 2</h2>
        <p>Content continues on the second page.</p>"

    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

CssMediaType.Print ayarlandığında @media print CSS kurallarını renderdan önce etkinleştirir. Bu, gezinme çubukları, yan çubuklar ve diğer yalnızca ekran için elemanları gizler. Kullanıcılar daha sonra PDF'yi tarayıcının yerleşik görüntüleyicisinden standart klavye kısayollarını kullanarak yazdırabilir, yazıcı seçimi ve kopya sayısı üzerinde tam kontrol sağlar. Gelişmiş başlık ve alt bilgi düzenleri için başlıklar ve alt bilgiler kılavuzuna bakın.

Basılı belgelere filigranlar ekleyebilir, teslimattan önce dijital olarak imzalayabilirsiniz veya onları şifre ve izin ayarları ile koruyabilirsiniz. Bu özellikler, ayrı bir işleme adımı gerektirmeden doğrudan PdfDocument API aracılığıyla entegre edilir.

Baskı için hazır bir PDF belgesinin standart bir PDF görüntüleyicisinde, basılı çıktı için karakteristik formatlamayı gösteren görünümü

Çapraz Yazıcı Uyumluluğunu Sağlayan Sayfa Yapılandırması Nedir?

Standart A4 veya Letter boyutları 20-25mm kenar boşlukları ile tüm yazıcı modellerinde güvenilir şekilde çalışır. Konuşlandırma belirli bir yazıcı filosunu hedeflemedikçe özel kağıt boyutlarından kaçının. Özel sayfa kırılma yöntemleri yerine CSS page-break-before ve page-break-after özelliklerini kullanın. W3C CSS Sayfa Alanı Medya spesifikasyonu bu özellikleri detaylı olarak tanımlar. Bu standart CSS özellikleri, Chrome render motoru ve fiziksel yazıcılar arasında tutarlı şekilde çalışır.

ASP.NET Core PDF Görüntüleyicisini Docker'a Nasıl Konuşlandırırsınız?

IronPDF, kod değişikliğine gerek kalmadan Linux ve Windows konteynerlerinde çalışır. Aşağıda Dockerfile'da kullanılan temel resimler, düzenli güvenlik yamaları ile korunan Microsoft'un resmi .NET konteyner resimlerinden gelir. Aşağıdaki Docker yapılandırması, gerekli sistem kütüphanelerini yükler ve minimal resim boyutu için çok aşamalı bir yapı üretir:

FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
WORKDIR /app

RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-dev \
    && rm -rf /var/lib/apt/lists/*

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
COPY ["PdfViewerApp.csproj", "./"]
RUN dotnet restore "PdfViewerApp.csproj"
COPY . .
RUN dotnet build "PdfViewerApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "PdfViewerApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "PdfViewerApp.dll"]

Kubernetes konuşlandırmaları için, PDF üretimini uçtan uca doğrulayan bir sağlık kontrolü uç noktası ekleyin:

builder.Services.AddHealthChecks()
    .AddCheck("pdf_generation", () =>
    {
        try
        {
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<p>Health check</p>");
            return pdf.PageCount > 0
                ? HealthCheckResult.Healthy()
                : HealthCheckResult.Unhealthy("PDF generation returned empty document");
        }
        catch (Exception ex)
        {
            return HealthCheckResult.Unhealthy(ex.Message);
        }
    });
builder.Services.AddHealthChecks()
    .AddCheck("pdf_generation", () =>
    {
        try
        {
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<p>Health check</p>");
            return pdf.PageCount > 0
                ? HealthCheckResult.Healthy()
                : HealthCheckResult.Unhealthy("PDF generation returned empty document");
        }
        catch (Exception ex)
        {
            return HealthCheckResult.Unhealthy(ex.Message);
        }
    });
Imports System
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Extensions.Diagnostics.HealthChecks

builder.Services.AddHealthChecks().AddCheck("pdf_generation", Function()
    Try
        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<p>Health check</p>")
        Return If(pdf.PageCount > 0, HealthCheckResult.Healthy(), HealthCheckResult.Unhealthy("PDF generation returned empty document"))
    Catch ex As Exception
        Return HealthCheckResult.Unhealthy(ex.Message)
    End Try
End Function)
$vbLabelText   $csharpLabel

Bu sağlık kontrolü, kullanıcılar hatalarla karşılaşmadan önce Kubernetes'in sağlıksız bölmeleri tespit etmesine ve değiştirmesine olanak tanır. Ayrıca, standart ASP.NET Core sağlık izleme ara katmanı ile entegre olur. IronPDF deneme lisansı, Docker testi için hiçbir kısıtlama olmadan tam işlevselliği içerir.

Bir Süreç İçi Render Motorunun Konuşlandırma Avantajları Nelerdir?

Aşağıdaki tablo, IronPDF'nin süreç içi yaklaşımını, sunucu tarafı PDF üretimi için yaygın olarak kullanılan tarayıcı sunucu kurulumlarıyla karşılaştırır:

ASP.NET Core için PDF üretim yaklaşımlarının karşılaştırılması
Faktör IronPDF (Süreç İçi) Başsız Tarayıcı Sunucu
Dağıtım karmaşıklığı Yalnızca NuGet paketi Ayrı bir işlem veya servis
Ağ gecikmesi Yok (süreç içi) Her istek için HTTP gidiş-dönüş
Konteyner ayak izi Tek konteyner En az iki konteyner
Sağlık izleme Standart ASP.NET Core ara katmanı Ayrı servis sağlık kontrolü
Rendirme tutarlılığı Chrome motoru, kilitli sürüm Tarayıcı sürümüne göre değişir

Görüntüleyiciye Gelişmiş PDF Özelliklerini Nasıl Eklersiniz?

IronPDF, temel görüntüleme ve indirmeden çok daha fazlasını sunar. Aynı HTML'den PDF'ye dönüştürme kütüphanesi ayrıca PDF formu yönetimi, özel filigranlar, dijital imzalar ve PDF'den görüntüye dönüştürme sağlar -- hepsi ek paketler olmadan.

Doküman yönetim iş akışları için, yüklenen dosyaları PDF'ye dönüştürebilir, endeksleme için metin çıkarabilir, belgeleri notlandırabilir ve kullanıcılarına teslim edebilirsiniz -- bunların hepsi tek bir ASP.NET Core denetleyicisinde. IronPDF özellikleri sayfası, her özellik alanı için kod örnekleri ile kapsamlı bir yetenek özeti sunar.

Görüntüleyici uygulamaları için dikkate değer önemli yetenekler:

  • Metin çıkarma -- arama veya uyum arşivleme için PDF içeriğini indeksleyin
  • Birleştirme ve bölme -- birden çok belgeyi birleştirin veya belirli sayfaları çıkarın
  • Filigranlama -- görüntülemeden önce belgeleri gizlilik bildirimleri veya markalama ile damgalayın
  • Dijital imzalar -- oluşturulan PDF'leri tarayıcıya akış etmeden önce imzalayın
  • Başlıklar ve altbilgiler -- sayfa numaraları, belge başlıkları ve bölme çizgileri ekleyin

PDF Güvenliği ve Erişim Kontrolü Nasıl Sağlanır?

Hassas belgeleri gösteren uygulamalar için IronPDF'nin şifre ve izin özelliklerini ASP.NET Core'un yetkilendirme ara yazılımıyla birleştirin. Denetleyici işlemini kimlik doğrulaması gerektirir olarak ayarlayın, ardından PDF dosyasını iletin -- belge hiçbir zaman dosya sistemine veya kimlik doğrulaması yapılmamış bir uç noktaya dokunmaz.

Denetim izi gereksinimleri için, akış öncesi PDF'leri dijital olarak imzalayın. İmza, imzalama zaman damgasını kaydeder ve belge bütünlüğünü doğrular, bu da tarayıcı görüntüleyicisinde gösterilen mali ve hukuki belgeler için önemlidir.

Hangi Lisanslama Seçenekleri Mevcut?

IronPDF lisanslaması, Docker ve Kubernetes ortamlarındaki geliştirme, aşama ve kanıt kavramı işleri için uygun, tam işlevselliği içeren bir ücretsiz deneme sürümü ile başlar. Üretim lisansları, tek geliştiriciden sınırsız sunucu dağıtımlarına kadar çeşitli dağıtım senaryolarını kapsar.

IronPDF belgeleri, .NET sürümleri arasında yükseltme için detaylı API referansları ve platforma özgü kurulum talimatları sağlar: Windows, Linux, macOS, AWS ve Azure için.

IronPDF offers flexible licensing options starting at $749 for single developers up to $3,999 for unlimited usage, with significant discounts currently available

IronPDF ile ASP.NET Core içine bir PDF görüntüleyici oluşturmak dakikalar alır. HTML'den PDF'ye dönüştürmenin karmaşıklığını Chrome tabanlı render motoru ele alır, ASP.NET Core File() sonucu satır içi ve indirme davranışını ele alır ve aynı paket baskı, filigran, dijital imzalar ve konteyner dağıtımlarını kapsar. Ücretsiz deneme ile başlayın ve gereksinimler büyüdükçe gelişmiş belge özellikleri ekleyin.

Sıkça Sorulan Sorular

IronPDF, ASP.NET Core uygulamalarında PDF'lerin görüntülenmesine nasıl yardımcı olabilir?

IronPDF, PDF dosyalarını doğrudan web tarayıcılarında görüntülemek için indirme veya ek eklentilere ihtiyaç duymadan güçlü bir Chrome tabanlı işleme motoru kullanarak süreci basitleştirir.

ASP.NET Core'da bir PDF görüntüleyicinin kullanılmasının faydaları nelerdir?

ASP.NET Core'da IronPDF gibi bir PDF görüntüleyici kullanmak, kullanıcı deneyimini geliştirir ve tarayıcı içinde PDF'leri kesintisiz bir şekilde görüntüleyerek, kaydederek ve yazdırarak Adobe Acrobat Reader gibi harici uygulamalara olan ihtiyaçı ortadan kaldırır.

IronPDF ile PDF'leri görüntülemek için Adobe Acrobat Reader yüklemek gerekli mi?

Hayır, IronPDF, PDF'leri doğrudan tarayıcıda görüntüleyerek Adobe Acrobat Reader veya başka bir eklentiye olan ihtiyaçı ortadan kaldırır.

IronPDF, bir ASP.NET Core uygulamasında hangi tür belgeleri görüntüleyebilir?

IronPDF, ASP.NET Core uygulamalarında fatura, rapor ve sözleşmeler gibi çeşitli belge türlerini sorunsuz bir şekilde görüntülemek için kullanılabilir.

IronPDF, ASP.NET Core'da PDF belgelerinin yazdırılmasını destekler mi?

Evet, IronPDF web uygulamasından doğrudan PDF belgelerinin yazdırılmasını destekler ve bu sayede eksiksiz bir PDF yönetim çözümü sağlar.

IronPDF, ASP.NET Core'da karmaşık PDF düzenlerini doğru bir şekilde işleyebilir mi?

IronPDF, Chrome tabanlı bir işleme motoru kullanarak PDF düzenlerini doğru bir şekilde işler, sadakat kaybı olmadan yüksek kaliteli görüntü sağlanmasını garanti eder.

IronPDF kullanarak PDF dosyalarını görüntülemek için indirmem gerekiyor mu?

Hayır, IronPDF, kullanıcıların PDF dosyalarını web tarayıcısında doğrudan görüntülemelerine olanak tanır; indirmeye gerek yoktur.

IronPDF, web uygulamalarında PDF görüntüleme deneyimini nasıl geliştirir?

IronPDF, ASP.NET Core ile sorunsuz entegrasyon sunarak kullanıcıların tarayıcıda PDF'leri görüntülemelerine, kaydetmelerine ve yazdırmalarına olanak tanıyarak PDF görüntüleme deneyimini geliştirir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara