Altbilgi içeriğine atla
IRONPDF KULLANARAK

ASP.NET Core Görüntüleyicide PDF'leri Nasıl Görüntüleme, Kaydetme ve Yazdirma

ASP.NET Core Görüntüleyicisinde PDF'leri Görüntüleme, Kaydetme ve Yazdırma Nasıl Yapılır

IronPDF, PDF'leri sunucu tarafında oluşturarak ve tarayıcıların yerleşik PDF görüntüleyicilerini kullanarak ASP.NET Core uygulamalarında sorunsuz PDF görüntülemeyi sağlar, eklentilere gerek duymadan Docker konteynerlarında ve bulut ortamlarında çapraz platform dağıtımını destekler.

Web tarayıcılarında doğrudan PDF belgeleri görüntülemek, modern ASP.NET Core web uygulamaları için temel bir gereksinim haline geldi. İster fatura, ister rapor, ister sözleşme oluşturuyor olun, kullanıcılar Adobe Acrobat Reader'ı yüklemeden veya dosyaları indirmeden sorunsuz bir PDF görüntülemeyi beklerler. Bu eğitim, IronPDF'in güçlü Chrome tabanlı render motoru sayesinde ASP.NET Core görüntüleyicinizde PDF'leri görüntülemenin, kaydetmenin ve yazdırmanın nasıl basitleştirildiğini göstermektedir.

ASP.NET Core'da Tarayıcılar PDF Görüntülemeyi Nasıl Yönetir?

Modern tarayıcılar, doğru MIME türüne (application/pdf) sahip bir PDF dosyası aldıklarında etkinleşen yerleşik PDF görüntüleyiciler içerir. ASP.NET Core uygulamanız uygun başlıklarla bir PDF belgeyi döndürürse, tarayıcı bunu otomatik olarak satır içi olarak görüntüler. Bu, harici eklentilere, Adobe Acrobat Reader'a veya karmaşık JavaScript kitaplıklarına olan ihtiyaçı ortadan kaldırır. MDN Web Docs'a göre, tarayıcıların dosya indirip görüntülemesini nasıl yönettiğini kontrol etmek için doğru başlık yapılandırması esastır.

IronPDF, ChromePdfRenderer sınıfı ile sunucu tarafında yüksek kaliteli PDF'ler üreterek bu tarayıcı yeteneğinden faydalanır. Rendır, modern CSS, JavaScript, dijital imzalar ve web yazı tiplerini tam destekle belgelerinizin tam istediğiniz gibi görüntülenmesini sağlayan bir tam Chrome motoru kullanır. Basit belge görüntüleyicilerinin aksine, IronPDF PDF işleme ve render üzerinde tam kontrol sağlar.

ASP.NET Core'da PDF Dosyalarını Görüntülemek/İzlemek İçin Hangi Araçlara İhtiyacınız Var?

ASP.NET Core projenizde IronPDF kurmak sadece birkaç adım sürer. Öncelikle, Visual Studio'da veya komut satırı aracılığıyla yeni bir proje oluşturun. Visual Studio'yu açın ve ASP.NET Core Web Uygulaması proje şablonunu seçin:

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

.NET Projenize IronPDF Nasıl Yüklenir?

Projenizde NuGet Paket Yöneticisi aracılığıyla IronPDF'i yükleyin:

Install-Package IronPdf

Veya Solution Explorer'da projenize sağ tıklayın ve "NuGet Paketlerini Yönet" seçeneğini seçin. Uygun paket kaynağını seçin ve IronPDF'i arayın.

Yapılandırılması gereken her şey bu kadar. IronPDF, .NET 6, 7 ve 8 dahil olmak üzere ASP.NET Core 3.1 ve sonraki sürümleriyle (uzun süreli destek sürümleri) sorunsuz çalışır. Kütüphane, en son çerçevelerle uyumluluğu sağlamak için sık sık güncellenir. Detaylı kurulum talimatları için IronPDF kurulum rehberini ziyaret edin. Paket, PDF oluşturma, düzenleme ve işleme için gerekli tüm bileşenleri içerir. Docker dağıtımları için, IronPDF, kapsayıcı ortamlarını yöneten DevOps mühendisleri için dağıtım karmaşıklığını en aza indiren optimize edilmiş kapsayıcı görüntüleri sağlar.

ASP.NET Core Kullanarak Tarayıcıda PDF Dosyalarını Nasıl Gösterirsiniz?

Tarayıcıda PDF oluşturmak ve görüntülemek sadece birkaç satır kod gerektirir. HTML'den PDF oluşturan ve satır içi olarak görüntüleyen eksiksiz bir denetleyici aksiyonu işte burada:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </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);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </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);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function ViewPdf() As IActionResult
        Dim renderer = New ChromePdfRenderer()
        ' Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = True
        renderer.RenderingOptions.CreatePdfFormsFromHtml = True
        renderer.RenderingOptions.EnableJavaScript = True
        ' Generate PDF from HTML string
        Dim html = "
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </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)
        ' Return PDF for inline viewing in the browser
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

Kod, bir ChromePdfRenderer örneği oluşturur ve arka plan renklerini ve HTML formlarını PDF formlarına dönüştürmek için yapılandırır. RenderHtmlAsPdf yöntemi, HTML dizgesini bir PDF'ye dönüştürür. PDF'yi application/pdf MIME türü ile döndürmek, tarayıcıya indirmenin aksine yerinde görüntülenmesini söyler. Bu sunucu tarafı yaklaşım, Azure dağıtımları ve AWS Lambda ortamları için güvenilirliği korumak için tüm tarayıcılarda ve platformlarda tutarlı renderlemeyi sağlar.

Çıktı

Basit bir fatura belgesi gösteren PDF görüntüleyici arayüzü; fatura numarası 12345, tarihi 2025-10-30. ASP.NET Core PDF görüntüleyici, araç çubuğunda sayfa gezinme kontrolleri ve büyütme seçenekleri ile render edilmiş bir fatura belgesini başarıyla görüntüler.

Varolan HTML dosyaları veya Razor sayfaları için alternatif renderleme yöntemlerini kullanabilirsiniz:

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
// For containerized applications, use environment-specific paths
var basePath = Environment.GetEnvironmentVariable("APP_BASE_PATH") ?? "wwwroot";
var pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html");
// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
// For containerized applications, use environment-specific paths
var basePath = Environment.GetEnvironmentVariable("APP_BASE_PATH") ?? "wwwroot";
var pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html");
' Render from URL - useful for complex pages
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___")
' Render from HTML file in the same location
pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html")
' Render from wwwroot folder
pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html")
' For containerized applications, use environment-specific paths
Dim basePath = If(Environment.GetEnvironmentVariable("APP_BASE_PATH"), "wwwroot")
pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html")
$vbLabelText   $csharpLabel

Bu yöntemler, HTML içeriğinizi nasıl kaynaklandıracağınız konusunda esneklik sağlarken, yüksek kaliteli PDF çıktısı sağlar. Ayrıca mevcut PDF belgelerini yükleyebilir, PDF'leri düzenleyebilir ve Word (DOCX dosyaları) ve Excel formatları ile IronPDF'in kapsamlı özelliklerini kullanarak çalışabilirsiniz. Belgelerin HTML'den PDF'ye dönüştürme seçenekleri hakkında daha fazla bilgi edinin. Gelişmiş işleme ve düzenleme yetenekleri için API referansına göz atın.

Mikro hizmet mimarilerini yöneten DevOps mühendisleri için, IronPDF'nin yerel ve uzak motor mimarisi dağıtım esnekliği sağlar. Uzak motor seçeneği, PDF renderlemeyi özel bir hizmete ayırarak kaynak kullanımını iyileştirir ve yatay ölçeklemeyi etkinleştirir.

Kullanıcılar Tarayıcıdan PDF Belgelerini Nasıl Kaydeder?

Kullanıcıların PDF'leri yerinde görüntülemek yerine indirmelerini sağlamak için Content-Disposition başlığını değiştirin. Bu özellik, kullanıcıların çevrimdışı erişmesi gereken uygulamalar için esastır:

public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}

// Health check endpoint for container orchestration
[HttpGet("/health/pdf-generator")]
public IActionResult HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
        return Ok(new { status = "healthy", timestamp = DateTime.UtcNow });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}

// Health check endpoint for container orchestration
[HttpGet("/health/pdf-generator")]
public IActionResult HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
        return Ok(new { status = "healthy", timestamp = DateTime.UtcNow });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
Public Function DownloadPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    ' Create PDF with CSS styling and images
    Dim html = "<h1>Download Me</h1>
                <img src='logo.png' width='100' />"
    Dim pdf = renderer.RenderHtmlAsPdf(html, "wwwroot/images")
    ' Force download with custom filename
    Return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf")
End Function

' Health check endpoint for container orchestration
<HttpGet("/health/pdf-generator")>
Public Function HealthCheck() As IActionResult
    Try
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>")
        Return Ok(New With {Key .status = "healthy", Key .timestamp = DateTime.UtcNow})
    Catch ex As Exception
        Return StatusCode(503, New With {Key .status = "unhealthy", Key .error = ex.Message})
    End Try
End Function
$vbLabelText   $csharpLabel

Dosya adı parametresinin eklenmesi, Content-Disposition başlığını "ek" olarak otomatik olarak ayarlar ve tarayıcı dosyayı indirmeye yönlendirir. Kullanıcılar ayrıca tarayıcılarının kaydetme işlevini (Ctrl+S veya PDF görüntüleyici araç çubuğu) kullanarak yerinde görüntülenen PDF'leri kaydedebilirler. Yukarıda gösterilen sağlık denetim uç noktası Kubernetes dağıtımları ve konteyner orkestrasyon platformları için kritik olup, PDF hizmetinizin yanıt vermeye devam ettiğinden emin olur.

Çıktı

!["Beni İndir" metni ve IronPDF for .NET logosu bulunan bir belge gösteren PDF görüntüleyici, bir tarayıcıda ve %100 yakınlaştırılmış olarak gösterilmiştir. PDF görüntüleyici, IronPDF for .NET aracılığıyla indirme işlevselliği etkinleştirilmiş şekilde oluşturulan fatura belgesini başarıyla gösterir.

Büyük PDF Dosyaları İçin Neden Akışları Kullanmalısınız?

Büyük belgelerle daha iyi bellek verimliliği için akışları kullanın:

public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}

// Async streaming for better resource utilization
public async Task<IActionResult> StreamPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000; // 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute

    var html = await LoadHtmlTemplateAsync();
    var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));

    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "async-document.pdf");
}
public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}

// Async streaming for better resource utilization
public async Task<IActionResult> StreamPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000; // 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute

    var html = await LoadHtmlTemplateAsync();
    var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));

    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "async-document.pdf");
}
Imports System.Threading.Tasks

Public Function StreamPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    ' Load and process HTML with images
    Dim html = "<h1>Streamed Content</h1>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    ' Stream the PDF file to the browser
    Dim stream = pdf.Stream
    stream.Position = 0
    Return File(stream, "application/pdf", "document.pdf")
End Function

' Async streaming for better resource utilization
Public Async Function StreamPdfAsync() As Task(Of IActionResult)
    Dim renderer = New ChromePdfRenderer()
    ' Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000 ' 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500 ' Allow JS to execute

    Dim html = Await LoadHtmlTemplateAsync()
    Dim pdf = Await Task.Run(Function() renderer.RenderHtmlAsPdf(html))

    Dim stream = pdf.Stream
    stream.Position = 0
    Return File(stream, "application/pdf", "async-document.pdf")
End Function
$vbLabelText   $csharpLabel

Bu yaklaşım, ara bayt dizileri oluşturmadan PDF'leri doğrudan yanıt olarak akıtıp bellek tüketimini azaltır. wwwroot klasöründen var olan PDF'leri yükleyebilir, düzenleyebilir ve değiştirilmiş sürümlerini akıtabilirsiniz. Gelişmiş PDF belge manipülasyonu ve görüntü işleme için PdfDocument API referansını inceleyin. Bileşen, metin seçimi, form doldurma ve dijital imza ekleme gibi çeşitli düzenleme işlemlerini destekler.

Asenkron PDF oluşturma yaklaşımı, konteyner dağıtımları için, iş parçacıklarını engellemeyi önleyerek ve uygulama verimliliğini artırarak, orkestre edilmiş ortamlarda duyarlı hizmetlerin korunması için kritik olmaktadır.

Kullanıcılar ASP.NET Core Web Uygulamalarından PDF Belgelerini Doğrudan Yazdırabilir mi?

IronPDF, uygun CSS medya türü ve sayfa ayarlarını yapılandırarak PDF'leri yazdırmak için optimize eder. Bu, kullanıcılar fiziksel yazıcılara yazdırırken veya PDF olarak kaydederken profesyonel çıktı sağlar:

public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}

// Container-optimized configuration
public IActionResult ConfigureForContainer()
{
    var renderer = new ChromePdfRenderer();
    // Disable GPU for container compatibility
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 0; // No artificial delays
    renderer.RenderingOptions.Timeout = 30000; // 30 second timeout

    // Use environment variables for configuration
    var printDpi = int.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") ?? "300");
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    return Ok("Configured for container environment");
}
public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}

// Container-optimized configuration
public IActionResult ConfigureForContainer()
{
    var renderer = new ChromePdfRenderer();
    // Disable GPU for container compatibility
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 0; // No artificial delays
    renderer.RenderingOptions.Timeout = 30000; // 30 second timeout

    // Use environment variables for configuration
    var printDpi = int.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") ?? "300");
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    return Ok("Configured for container environment");
}
Imports System

Public Class PdfController
    Public Function PrintablePdf() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Configure printing options for the PDF viewer
        renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 25
        renderer.RenderingOptions.MarginBottom = 25
        renderer.RenderingOptions.MarginLeft = 25
        renderer.RenderingOptions.MarginRight = 25
        ' Load HTML with print-specific CSS
        Dim html As String = "<h1>Print-Optimized Document</h1>
                              <p>This document is optimized for printing.</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        ' Return the PDF file for viewing and printing
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    ' Container-optimized configuration
    Public Function ConfigureForContainer() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Disable GPU for container compatibility
        renderer.RenderingOptions.EnableJavaScript = True
        renderer.RenderingOptions.RenderDelay = 0 ' No artificial delays
        renderer.RenderingOptions.Timeout = 30000 ' 30 second timeout

        ' Use environment variables for configuration
        Dim printDpi As Integer = Integer.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") Or "300")
        renderer.RenderingOptions.PrintHtmlBackgrounds = True

        Return Ok("Configured for container environment")
    End Function
End Class
$vbLabelText   $csharpLabel

CssMediaTypePrint olarak ayarlamak, belgenin basıldığında doğru görünmesini sağlamak için baskıya özgü CSS stilleri uygular. Kenar boşluğu ayarları, fiziksel kağıt için düzgün bir boşluk sağlar. Kullanıcılar, tarayıcılarının PDF görüntüleyicisi üzerindeki standart yazdırma diyaloğunu kullanarak, yazıcı seçimi ve ayarları üzerinde tam kontrol sağlayarak PDF'leri doğrudan yazdırabilir. Çıktıyı ince ayarlamak için PDF renderleme seçenekleri hakkında daha fazla bilgi edinin.

!["Bu belge yazdırma için optimize edilmiştir" mesajı ile beyaz bir sayfada gösterilen yazdırma için optimize edilmiş bir belgeyi gösteren PDF görüntüleyici arayüzü. PDF görüntüleyici, kullanıcıların dosyanın yüksek kaliteli çıktı için hazır olduğunu bilmesini sağlayan bir onay mesajı görüntülerken, belge yazdırma için optimize edildiğinde.

IronPDF, Çapraz Platform ve Konteyner Dağıtımlarını Nasıl Destekler?

IronPDF, Windows, Linux, macOS, Docker konteynerları ve Azure, AWS gibi bulut platformlarında sorunsuz çalışır. Bu çapraz platform uyumluluğu, ASP.NET Core PDF görüntüleyici çözümünüzün dağıtım ortamından bağımsız olarak tutarlı çalışmasını sağlar. Kütüphane, platforma özgü render detaylarını dahili olarak işler, böylece kodunuz her yerde değişiklik gerektirmeden çalışır.

![Birden çok sürüm, işletim sistemi, bulut platformu ve geliştirme ortamında .NET uyumluluğunu gösteren çapraz platform destek diyagramı. IronPDF'in kapsamlı çapraz platform desteği, .NET 9'dan itibaren Framework 4.6.2+'ya kadar uyumluluğu kapsar, Windows, Linux ve Mac'te çalışır ve büyük bulut sağlayıcılar ve geliştirme araçları ile entegre olur.

Sunucu tarafı işleme, tüm platformlarda tutarlı PDF oluşturmayı sağlar. İster Windows sunucularında ister Linux konteynerlarında dağıtılmış olsun, bileşen aynı render kalitesini korur. Kütüphane, wwwroot klasöründe veya diğer konumlarda dosyaları doğru şekilde işlerken, işletim sistemleri arasındaki yol farklılıklarını otomatik olarak yönetir. Konteynerize edilmiş dağıtımlar için Docker dağıtım kılavuzuna göz atın. Paket, her platform için gerekli tüm bağımlılıkları içerir ve standart ASP.NET Core gereksinimlerinin ötesinde ek bir yapılandırma gerektirmez.

Üretim konteyner dağıtımları için bu Dockerfile örneğini düşünün:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80

# Install IronPDF dependencies for Linux
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6 \
    && rm -rf /var/lib/apt/lists/*

FROM mcr.microsoft.com/dotnet/sdk:8.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"]

Ücretsiz deneme ile başlayın ve belge görüntüleme yeteneklerinizi bugün dönüştürün.

ASP.NET Core PDF Görüntüleme için IronPDF Kullanmanın Anahtar Faydaları Nelerdir?

IronPDF, sunucu tarafı oluşturma ile tarayıcı-yerel görüntülemeyi birleştirerek ASP.NET Core uygulamalarındaki PDF işleme sağlar. Sadece birkaç satır kodla HTML'den profesyonel PDF'ler oluşturabilir, bunları satır içi görüntüleyebilir, indirme işlevselliğini etkinleştirebilir ve yazdırma için optimize edebilirsiniz. Chrome tabanlı render motoru, tüm platformlarda piksel mükemmelliği sağlar, Adobe Acrobat Reader veya üçüncü taraf görüntüleyicilere ihtiyaçı ortadan kaldırır.

Bu ASP.NET Core PDF görüntüleyici çözümü, form doldurma, metin seçimi, dijital imzalar ve PDF'leri düzenleme yetenekleri dahil kapsamlı özellikler sunar. Bileşen ayrıca Word belgeleri (DOCX dosyaları), Excel tabloları ve resimleri PDF'ye dönüştürmeyi de destekler. İster basit bir belge görüntüleyici inşa ediyor olun, ister karmaşık bir belge yönetim sistemi, IronPDF ihtiyaç duyduğunuz araçları sağlar.

Kütüphanenin etiket yardımcısı entegrasyonu ve kapsamlı belgelendirme uygulanmayı basitleştirir. Projeniz, wwwroot klasöründen, dinamik olarak üretilmiş veya dış kaynaklardan alınan PDF'leri doğrudan görüntüleyebilirken, arka plan işlemleri karmaşık PDF oluşturma görevlerini yönetir. Görüntüleyici, wwwroot klasöründen yüklerken, dinamik olarak oluştururken veya harici kaynaklardan alırken tutarlı davranış sağlar. Dahili tema desteği ve özelleştirilebilir genişlik ayarları ile uygulamanızın tasarımını mükemmel şekilde eşleştirebilirsiniz. DevOps ekipleri için, IronPDF Slim paketi, düzenleyici ortamlarındaki kapsayıcı boyut sınırlamalarını ele alarak azaltılmış dağıtım boyutu sunar.

.NET Core Web Uygulamanızda PDF görüntülemeyi uygulamaya hazır mısınız?

Üretim kullanımı için, lisanslar $799 ile başlar ve kapsamlı destek ve güncellemeler içerir. Detaylı API referansları ve gelişmiş özellikler için belgelere göz atın. ASP.NET Core projelerinizde PDF işlevselliğini hızlıca uygulamak için kapsamlı kod örneklerimize başvurun.

![IronPDF lisans sayfası dört sürekli lisans seviyesi (Lite, Plus, Professional ve Unlimited) ile fiyatlandırma, geliştirici limitleri ve IronPDF ile Iron Suite seçenekleri arasında geçiş gösteriyor. IronPDF, bekar geliştiriciler için 749 dolardan sınırsız kullanım için 3.999 dolara kadar çeşitli lisans seçenekleri sunar ve tüm lisanslar 1 yıllık destek ve güncellemeleri içerir.

Sıkça Sorulan Sorular

PDF'leri bir ASP.NET Core uygulamasinda nasıl görüntüleyebilirim?

IronPDF kullanarak bir ASP.NET Core uygulamasinda PDF'ler görüntülenebilir, bu da uygulamanizda doğrudan PDF dosyalarini render etme işlevsellikleri saglar.

IronPDF kullanarak ASP.NET Core'da bir PDF'yi kaydetmek için hangi adimlari izlemeliyim?

ASP.NET Core'da bir PDF'yi kaydetmek için IronPDF'nin gommeli metodlarini kullanarak belgenizi PDF formatina dönüştürup, dosya sistemine ya da bir akisa yazabilirsiniz.

ASP.NET Core uygulamalarinda PDF yazdirmak mumkun mu?

Evet, IronPDF'nin render ve yazdirma işlevsellikleriyle ASP.NET Core uygulamanizdan doğrudan PDF yazdirabilirsiniz.

ASP.NET Core'da IronPDF kullanmanin avantajlari nelerdir?

IronPDF, ASP.NET Core ile kusursuz bir entegrasyon sunar, PDF görüntüleme, kaydetme ve yazdirma gibi basit manipulasyonlar saglar, ve minimum kurulum gerektirir.

IronPDF, ASP.NET Core icinde büyük PDF belgelerini işleyebilir mi?

Evet, IronPDF büyük PDF belgelerini etkin bir şekilde işlemek uzere optimize edilmistir, bu da karmaşık dosyalarla çalışirken duzgun performans saglar.

IronPDF, ASP.NET Core'da PDF ek açıklamalari ve yorumlarini destekliyor mu?

IronPDF, PDF'lere ekleme ve okuma ek açıklamalari ve yorumlari destekler, bu da ASP.NET Core uygulamanizdaki PDF belgelerinin interaktivitesini ve kullanilabilirligini arttirir.

IronPDF'yi var olan bir ASP.NET Core projesine nasıl entegre ederim?

IronPDF'yi ASP.NET Core projenize entegre etmek için IronPDF NuGet paketini yükleyebilir ve PDF'leri yönetmek için API'sini kullanabilirsiniz.

ASP.NET Core ile IronPDF kullanımi için belirli sistem gereksinimleri var mi?

IronPDF, .NET Core veya .NET 5+ gerektirir ve tüm ana işletim sistemlerini destekler, bu nedenle ASP.NET Core projeleri için esnek bir seçenektir.

IronPDF, ASP.NET Core'da diğer dosya formatlarini PDF'ye dönüştürebilir mi?

Evet, IronPDF, ASP.NET Core ortaminda HTML, resimler ve belgeler gibi çeşitli dosya formatlarini PDF'ye dönüştürebilir.

IronPDF, ASP.NET Core geliştiricilerine ne tur destek sunuyor?

IronPDF, ASP.NET Core geliştiricilerine PDF işlemlerini uygulamada yardimci olmak için kapsamli dokümantasyon, kod örnekleri ve yanit veren destek saglar.

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