ASP.NET Core MVC | Eğitmeninde Bir PDF Görüntüleyici Kurun
IronPDF'nin Chrome tabanlı işleme motorunu kullanarak PDF dosyalarını tarayıcılarda satır içi olarak görüntülemek, HTML içeriğinden dinamik PDF'ler oluşturmak ve kullanıcıların belgeleri görüntüleyip görüntülemeyeceklerini veya indirip indirmeyeceklerini kontrol etmek için harici eklentiler veya bağımlılıklar olmadan bir ASP.NET Core MVC PDF görüntüleyici oluşturun.
Modern tarayıcılarda, bir web uygulaması doğru MIME türüyle PDF dosyaları sunduğunda otomatik olarak etkinleşen yerleşik bir PDF görüntüleyici mevcuttur. Bu, üçüncü taraf araçlara veya eklentilere ihtiyaç duymadan kullanıcıların PDF belgelerini doğrudan tarayıcılarında görüntülemelerine olanak tanır. IronPDF, Chrome tabanlı bir işleme motoruna sahip bir .NET PDF kütüphanesi, ASP.NET Core MVC uygulamaları içinde PDF dosyaları oluşturmayı, işlemeyi ve görüntülemeyi basit hale getirir.
IronPDF'yi bir ASP.NET Core MVC Projesine Nasıl Yükleyebilirsiniz?
ASP.NET Core MVC'de bir PDF görüntüleyici oluşturmadan önce, projenize IronPDF eklemeniz gerekir. En hızlı yol Visual Studio'da NuGet Paket Yöneticisi veya .NET CLI veya Paket Yöneticisi Konsolu yoluyla komut satırı aracılığıyladır.
Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
Paket yüklendikten sonra IronPdf ad alanını denetleyici dosyalarınıza ekleyin ve PDF belgeleri oluşturmaya ve sunmaya hazırsınız. IronPDF, .NET 8 ve .NET 10'u hedefler, bu nedenle en son ASP.NET Core sürümleriyle ek yapılandırma gerektirmeden çalışır.
Çevrimdışı kurulum veya belirli sürüm kilitlemesi gerektiren projeler için, NuGet paketini doğrudan indirip yerel bir besleme olarak ekleyebilirsiniz. IronPDF lisanslama sayfası, yayına başlamadan önce ihtiyaç duyabileceğiniz deneme ve üretim lisans seçeneklerini kapsar.
Modern Tarayıcılar PDF Dosyalarını Nasıl Görüntüler?
Chrome, Firefox, Edge ve Safari gibi modern tarayıcılarda yerleşik PDF görüntüleyici işlevselliği bulunur. ASP.NET Core uygulamanız application/pdf içerik türü ile bir dosya döndürdüğünde, tarayıcı PDF belgesini, Adobe Acrobat veya harici eklentilere ihtiyaç duymadan satır içi olarak işler. Bu yerleşik PDF görüntüleyici, metin seçimi, baskı, yakınlaştırma kontrolleri, yer imleri ve sayfa gezinimi gibi özellikleri destekler, zaten kullanıcılar tarafından anlaşılmış bir belge görüntüleme deneyimi sağlar.
Mevcut dosyaları güvenli bir şekilde sunmak için, geliştirme ve üretim arasında değişebilecek dizin yollarına güvenmek yerine, onları bulmak için barındırma ortamını kullanmak en iyi uygulamadır. Dosya akışları kullanmak, büyük belgeler için tüm bayt dizilerini yüklemekten daha hafızaya karşı etkili bir yöntemdir.
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
public IActionResult ViewPdf()
{
// Path to an existing PDF file in the wwwroot folder
string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
// Return file for inline browser display
return File(fileBytes, "application/pdf");
}
}
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
public IActionResult ViewPdf()
{
// Path to an existing PDF file in the wwwroot folder
string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
// Return file for inline browser display
return File(fileBytes, "application/pdf");
}
}
Imports Microsoft.AspNetCore.Mvc
Public Class DocumentController
Inherits Controller
Public Function ViewPdf() As IActionResult
' Path to an existing PDF file in the wwwroot folder
Dim path As String = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf")
Dim fileBytes As Byte() = System.IO.File.ReadAllBytes(path)
' Return file for inline browser display
Return File(fileBytes, "application/pdf")
End Function
End Class
Bir PDF'nin Tarayıcıda Görüntülendiğinde Nasıl Göründüğü

Yukarıdaki kod mevcut bir PDF dosyasını sunucudan okur ve tarayıcıya geri döner. File() yöntemi, bir bayt dizisi ve bir içerik türünü kabul ederek tarayıcının belge görüntüleyicisine içeriği satır içi işleme talimatı verir. Bu yaklaşım, hem masaüstü hem de mobil cihazlarda tüm modern tarayıcılarda çalışarak tüm kullanıcılar için tutarlı bir deneyim sağlar.
Daha gelişmiş senaryolar için, hafızadan PDF yüklemeyi veya Azure Blob Storage uygulamayı düşünebilirsiniz, bu da ölçeklenebilirliği artırabilir ve sunucu depolama gereksinimlerini azaltabilir. Üretimde dosya işlemenin en iyi uygulamalarını kapsayan ASP.NET Core'da statik dosyaları sunma konusunda Microsoft dokümantasyonu mevcuttur.
ASP.NET Core'da PDF Belgelerini Dinamik Olarak Nasıl Üretirsiniz?
Statik PDF dosyaları faydalıdır, ancak birçok web uygulaması, mevcut kullanıcı veya isteğe göre özelleştirilmiş dinamik olarak oluşturulmuş belgelere ihtiyaç duyar. IronPDF'nin ChromePdfRenderer sınıfı, altyapıda gerçek bir Chromium tarayıcı motoru kullanarak HTML içeriğini profesyonel bir şekilde işlenmiş PDF dosyalarına dönüştürür.
Özel tema için CSS veya grafikler için JavaScript gibi harici varlıkları doğrudan HTML dizgesinde ekleyebilirsiniz. İşleme motoru CSS3, JavaScript ES6+ ve web fontları dahil modern web standartlarını destekler, bu nedenle oluşturulan PDF, tarayıcının aynı HTML sayfasını işlediğinde göründüğü gibi görünür.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
public IActionResult GenerateReport()
{
var renderer = new ChromePdfRenderer();
// HTML content with CSS styling
string html = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
public IActionResult GenerateReport()
{
var renderer = new ChromePdfRenderer();
// HTML content with CSS styling
string html = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class ReportController
Inherits Controller
Public Function GenerateReport() As IActionResult
Dim renderer As New ChromePdfRenderer()
' HTML content with CSS styling
Dim html As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; padding: 40px; }
h1 { color: #2c3e50; }
.report-body { line-height: 1.6; }
</style>
</head>
<body>
<h1>Monthly Sales Report</h1>
<div class='report-body'>
<p>Generated: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
<p>This report contains the latest sales figures.</p>
</div>
</body>
</html>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
HTML İçeriği PDF Üretiminden Sonra Nasıl Görünür?

Bu örnek, IronPDF'nin bir HTML dizgesini PDF belgesine nasıl dönüştürdüğünü gösterir. ChromePdfRenderer, doğru CSS işleme ve JavaScript desteği sağlayan Chromium tabanlı bir motor kullanır. Üretilen PDF, HTML'de tanımlanan tüm stil özelliklerini korur, bu da raporlar, faturalar ve tutarlı formatlama gerektiren diğer belgeler için ideal hale getirir.
HTML'den PDF'ye dönüşümü üzerine ek kod örnekleri için IronPDF dokümantasyonunu keşfedin. CSHTML Razor görünümlerinden, URL'lerden ya da hatta Markdown içeriğinden de PDF oluşturabilirsiniz.
Çevrimiçi Gösterim ile Dosya İndirme Arasında Nasıl Kontrol Sağlarsınız?
Bazen kullanıcıların PDF dosyalarını görüntülemek yerine indirmesi gerekir. Tarayıcının yanıtı işleme şekli Content-Disposition başlığına bağlıdır. Bu farkı anlamak, uygulamanızda doğru deneyimi sunmak için önemlidir.
File() yönteminde dosya adı parametresini atladığınızda, ASP.NET Core bir Content-Disposition başlık ayarlamaz, bu nedenle tarayıcı varsayılan davranışını kullanır - bu genellikle satır içi görüntülemedir. Üçüncü parametre olarak bir dosya adı sağladığınızda, ASP.NET Core otomatik olarak Content-Disposition: attachment ekler, kullanıcıların dosyayı kaydetmelerini ister.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult DisplayInline()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Display PDF inline in browser -- no filename = inline
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult DownloadPdf()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
renderer.RenderingOptions.EnableJavaScript = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Prompt download with specified filename
return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult DisplayInline()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Display PDF inline in browser -- no filename = inline
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult DownloadPdf()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
renderer.RenderingOptions.EnableJavaScript = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Prompt download with specified filename
return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class PdfController
Inherits Controller
Public Function DisplayInline() As IActionResult
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Display PDF inline in browser -- no filename = inline
Return File(pdf.BinaryData, "application/pdf")
End Function
Public Function DownloadPdf() As IActionResult
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter
renderer.RenderingOptions.EnableJavaScript = True
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Prompt download with specified filename
Return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf")
End Function
End Class
Çevrimiçi Gösterim Yerine İndirme Ne Zaman Kullanılmalıdır?

İki denetleyici eylemi arasındaki fark, File() içindeki üçüncü parametreye dayanır. Bu esneklik, kullanıcı ihtiyaçlarına veya iş gereksinimlerine göre her iki durumu da desteklemenize olanak tanır. Daha fazla kontrol için özel HTTP başlıklarını ayarlayabilir veya kağıt boyutu ve yönlendirme ayarlarını yapılandırabilirsiniz.
Bazı uygulamalar her iki yaklaşımı birleştirir: PDF'yi yerleşik görüntüleyen bir önizleme uç noktası ve dosya kaydetmeyi tetikleyen ayrı bir indirme uç noktası bulunur. Bu model, kullanıcıların indirme taahhüdünde bulunmadan önce belgeyi görmelerine olanak tanır.
Razor Sayfalarını PDF Üretimi ile Nasıl Entegre Edersiniz?
ASP.NET Core MVC'de Razor Pages, bir .NET PDF görüntüleyici uygulamak için başka bir yaklaşım sağlar. Sayfa modeli, standart MVC controller'larında mevcut olan aynı IronPDF işlevselliğini kullanarak PDF dosyaları oluşturabilir ve döndürebilir. Bu model, zaten Razor Pages kullanan uygulamalar için iyi çalışır, çünkü PDF üretim mantığını, tetikleyen sayfa ile birlikte tutar.
Razor Sayfalarında olan OnGet işlemcisi bir denetleyici eylemi gibi çalışır - isteği alır, iş yapar ve bir sonuç döndürür. Sayfa modelinden FileResult döndürmek ASP.NET Core tarafından desteklenir ve bir denetleyiciden File() döndürmekle aynı şekilde çalışır.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
public IActionResult OnGet(int id)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string html = $@"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
public IActionResult OnGet(int id)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
renderer.RenderingOptions.TextFooter.FontSize = 10;
string html = $@"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Public Class InvoiceModel
Inherits PageModel
Public Function OnGet(id As Integer) As IActionResult
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
' Add header and footer
renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document"
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
renderer.RenderingOptions.TextFooter.FontSize = 10
Dim html As String = $"
<html>
<head>
<style>
body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
.invoice-details {{ margin: 20px 0; }}
table {{ width: 100%; border-collapse: collapse; }}
th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
</style>
</head>
<body>
<h1>Invoice #{id}</h1>
<div class='invoice-details'>
<p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
<p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
</div>
<table>
<tr><th>Description</th><th>Amount</th></tr>
<tr><td>Professional Services</td><td>$1,500.00</td></tr>
</table>
<p style='margin-top: 40px;'>Thank you for your business!</p>
</body>
</html>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
PDF Özelleştirmesi İçin Hangi İşleme Seçenekleri Mevcuttur?

Bu Razor Sayfaları örneği, OnGet handler'ın bir URL parametresinden nasıl PDF oluşturduğunu göstermektedir. RenderingOptions özelliği, kenar boşlukları, sayfa yönlendirmesi ve diğer yerleşim ayarları üzerinde ince ayar yapmaya olanak sağlar. Başlıklar ve altbilgiler ekleyebilir, sayfa numaraları yapılandırabilir veya özel kağıt boyutları ayarlayabilirsiniz.
RenderingOptions üzerinden kullanılabilir gelişmiş özellikler filigran oluşturma, PDF sıkıştırma ve dijital imzalar içerir. Mevcut olan her seçenekle ilgili tam detaylar için IronPDF işleme seçenekleri referansına bakın.
PDF Güvenliği ve Erişim Kontrolü Nasıl Yönetilir?
Üretim uygulamaları genellikle bir PDF belgesini kimin görüntüleyebileceğini veya değiştirebileceğini kısıtlaması gerekir. IronPDF, PDF parolaları ve izinleri için yerleşik destek sunarak belgeleri şifrelemenizi, açmak için parola gerektirecek şekilde ayarlamanızı veya yazdırma ve kopyalama işlemlerini kısıtlamanızı sağlar.
Herhangi bir PdfDocument nesnesine güvenlik ayarlarını denetleyiciden döndürmeden önce uygulayabilirsiniz. Bu yaklaşım, PDF'nin HTML'den üretilmiş, diskten yüklenmiş ya da veritabanından alınmış olmasına bakmaksızın çalışır.
| Güvenlik Özelliği | IronPDF Özelliği | Kullanım Durumu |
|---|---|---|
| Sahip parolası | SahipParolasi |
İzinsiz izin değişikliklerini önleyin |
| Kullanıcı parolası | KullanıcıParolasi |
Belgeyi açmak için parola gereksin |
| Yazdırmayı devre dışı bırak | KullanıcıYazdırmayaIzinVer |
Alıcıların dosyayı yazdırmasını engelleyin |
| Kopyalamayı devre dışı bırak | KullanıcıIçeriğiKopyalayabilir |
PDF'den metin çıkarılmasını engelleyin |
| Dijital imza | PdfSignature |
Belge kimliğini doğrulayın |
Sözleşmeler, finansal tablolar veya tıbbi kayıtlar gibi hassas belgeler için, kullanıcının şifresini kısıtlı izinlerle birleştirmek, alıcıların dosyayla ne yapabileceği üzerinde kesin kontrol sağlar. Belge bütünlüğünün on yıllar boyunca korunması gereken uzun süreli arşivleme senaryoları için PDF/A uyumluluk modu üzerinde düşünmeye değer başka bir seçenektir.
PDF Oluşturma Performansını Nasıl İyileştirirsiniz?
PDF oluşturma, CPU ve bellek çalışması içerdiği için yüksek trafik uygulamalarında performans önemlidir. IronPDF'deki eşzamanlı olmayan işleme API'si, PDF oluşturmayı istek hattını bloke etmeden arka plan threadine aktarmanıza olanak tanır. Bu, tek bir istekte birden fazla PDF oluştururken veya toplu işler yürütülürken özellikle değerlidir.
Linux veya Docker konteynerlerinde üretim dağıtımları için, IronPDF, herhangi bir Windows'a özgü bağımlılık gerektirmeden platformlar arası çalışmayı destekler. IronPDF Linux yükleme kılavuzu ve Docker yapılandırma referansı kurulum adımlarını kapsar. Hem Mozilla PDF.js projesi hem de yerel tarayıcı görüntüleyicileri, IronPDF'nin oluşturduğu herhangi bir PDF ile uyumludur, bu yüzden görüntüleme tarafında da esnekliğe sahipsiniz.
Üretimde verimliliği artıran birkaç uygulama:
- Her istekte yeni bir
ChromePdfRendereroluşturmak yerine mümkün olduğunda örnekleri yeniden kullanın, çünkü render motorunun başlatılması bazı yükler taşır. - Tarayıcının render yaptığı sırada iş parçacığını boşaltmak için
RenderHtmlAsPdfAsyncgibi async yöntemleri kullanın. - Aynı belge tekrar tekrar istendiğinde IMemoryCache veya dağıtılmış önbellek kullanarak oluşturulan PDF'leri önbelleğe alın.
- Çok büyük belgeler için tüm bayt dizisini bellekte tamponlamak yerine çıktıyı aktarmayı düşünün.
Eşzamanlı Olmayan İşleme Pratikte Nasıl Çalışır?
Asenkron API senkron versiyonunun ayna görüntüsüdür, ancak bir Task<PdfDocument> döndürür. Render işlemi ilerlerken gelip ek istekleri işlemek için iş parçacığı havuzunu boş tutarak bir async denetleyici eylemi içinde sonucu beklersiniz. Yüksek yük senaryosunda, eşzamanlı işlemeye geçmek genellikle thread tartışmasını azaltır ve eşzamanlı yük altında genel yanıt sürelerini iyileştirir.
Sıradaki Adımlarınız Neler?
ASP.NET Core MVC'de bir PDF görüntüleyici oluşturmak, tarayıcı-yerel görüntüleme özelliklerini IronPDF'nin oluşturma özellikleriyle birleştirir. Modern tarayıcıların yerleşik PDF görüntüleyicisi, ASP.NET kontrolciniz dosyaları doğru MIME türü ile döndürdüğünde görüntüleme, yazdırma ve gezinmeyi otomatik olarak yönetir. IronPDF, HTML, URL veya mevcut dosyaları CSS, JavaScript, üstbilgiler, altbilgiler ve güvenlik ayarları için tam destekle iyi biçimlendirilmiş PDF belgelerine dönüştürme, oluşturma tarafını ele alır.
Bu kılavuzda ele alınan ana yetenekler:
application/pdfMIME türü ileFile()yöntemi kullanılarak mevcut PDF dosyalarını satır içi sunmaChromePdfRendererkullanılarak HTML dizgilerinden dinamik PDF'ler oluşturmaContent-Dispositionbaşlığı aracılığıyla satır içi görüntüleme ile dosya indirme kontrolüRenderingOptionsaracılığıyla başlık, alt bilgi, kenar boşlukları ve güvenlik ayarları ekleme- PDF oluşturma için MVC kontrolcülerine alternatif olarak Razor Pages kullanma
- Hassas belgelere şifre koruması ve izin kısıtlama uygulama
- Eşzamanlı olmayan işlemeyle ve yanıt önbelleklemesiyle performansı iyileştirme
Buradan, birden fazla PDF'yi birleştirme, doldurulabilir formlar oluşturma veya CSHTML Razor görünümlerinden PDF oluşturmaya gibi daha gelişmiş iş akışlarını keşfedebilirsiniz. IronPDF belgeleri her özelliği kod örnekleri ile kapsar.
Ücretsiz denemenizi başlatın ve IronPDF'nin tüm yeteneklerini keşfedin veya üretim kullanımı için bir lisans satın alın.
Sıkça Sorulan Sorular
PDF dosyalarını ASP.NET Core MVC uygulamalarında nasıl gösterebilirim?
IronPDF kullanarak ASP.NET Core MVC uygulamalarında PDF dosyalarını gösterebilirsiniz. Bu, PDF dosyalarını modern yerleşik PDF görüntüleyiciler kullanarak doğrudan tarayıcıda oluşturmanıza, düzenlemenize ve görüntülemenize olanak tanır.
PDF'leri tarayıcıda görüntülemek için üçüncü taraf eklentilere ihtiyaçım var mı?
Hayır, modern tarayıcılar, doğru MIME türüyle PDF dosyaları sunulduğunda otomatik olarak etkinleşen yerleşik PDF görüntüleyicilere sahiptir. IronPDF, PDF'lerinizin doğru şekilde sunulmasını sağlamaya yardımcı olabilir.
ASP.NET Core MVC'da IronPDF kullanmanın avantajı nedir?
IronPDF, ASP.NET Core MVC uygulamalarında PDF belgeleri oluşturma ve düzenleme sürecini basitleştiren, üretkenliği artırıp PDF yönetimini kolaylaştıran bir .NET PDF kütüphanesidir.
IronPDF mevcut tarayıcı PDF görüntüleyicileriyle çalışabilir mi?
Evet, IronPDF, PDF'lerin tarayıcıda otomatik görüntülenmesi için doğru MIME türüyle sunulmasını sağlayarak mevcut tarayıcı PDF görüntüleyicileriyle sorunsuz çalışır.
IronPDF sık güncelleniyor mu?
Evet, IronPDF sık güncellenen bir .NET PDF kütüphanesidir, PDF belgelerini ASP.NET Core MVC uygulamalarında yönetmek için en son özellikleri ve iyileştirmeleri sunar.
IronPDF, web uygulamalarında PDF oluşturmayı nasıl yönetir?
IronPDF, çeşitli içerik türlerinden PDF oluşturmak için güçlü işlevler sağlar, geliştiricilerin web uygulamaları içinde dinamik ve etkileşimli PDF belgeleri oluşturmasına olanak tanır.
PDF dosyalarını sunarken hangi MIME türü kullanılmalı?
Tarayıcılarda doğru görüntülenmesini sağlamak için, PDF dosyaları 'application/pdf' MIME türüyle sunulmalıdır. IronPDF bu konuyu verimli bir şekilde yönetmenize yardımcı olabilir.
IronPDF'de PDF oluşturmayı özelleştirebilir miyim?
Evet, IronPDF, PDF'leri oluşturma işlemi için kapsamlı özelleştirme seçenekleri sunar, çıktıyı belirli tasarım ve işlevsellik gereksinimlerine uyacak şekilde düzenlemenizi sağlar.
IronPDF yalnızca ASP.NET Core MVC uygulamalarını mı destekliyor?
IronPDF, ASP.NET Core MVC uygulamaları için mükemmel olsa da, diğer .NET uygulamalarıyla PDF işlevselliğini yönetmek için de çok yönlüdür.




