ASP.NET Kullanarak C#'da PDF Nasıl Oluşturulur
Ünlü bir C# kütüphanesi olan IronPDF, Blazor uygulamalarıyla çalışır. Bu inceleme, IronPDF'yi bir Blazor uygulamasında PDF raporunu gömmek için nasıl kullanacağınız konusunda size rehberlik edecek ve entegrasyonunun ve etkinliğinin sorunsuz bir şekilde olduğunu gösterecektir.
Blazor'da Bir PDF Dosyası Nasıl Oluşturulur
- Visual Studio'da yeni bir Blazor Projesi oluşturun
- Blazor Uygulamaları için HTML'den PDF'ye Kütüphanesini Kurun
- Web sayfalarından URL ile PDF belgeleri oluşturun
- HTML dizelerinden PDF belgeleri oluşturun
1. IronPDF Özellikleri
Geliştiriciler, güçlü IronPDF .NET PDF kütüphanesi sayesinde hızla bir PDF belgesi oluşturabilir, okuyabilir ve işleyebilir. IronPDF, yerleşik bir Chrome motoruna sahiptir ve bol miktarda pratik ve güçlü yetenekler sunar. Bunlar arasında HTML5, JavaScript, CSS ve görüntüleri PDF'ye dönüştürme, PDF belgelerine benzersiz başlıklar ve altbilgiler ekleme, ve web tarayıcısında göründüğü gibi hassas PDF oluşturma becerisi bulunmaktadır. IronPDF, HTML, ASPX, Razor Pages ve MVC çatıları dahil çeşitli web teknolojilerini destekler.
IronPDF'nin temel özellikleri şunlardır:
- IronPDF, .NET C# uygulamaları içinde PDF dosyalarının oluşturulması ve değiştirilmesi üzerinde tam kontrol sunar
- IronPDF, belirli Kullanıcı-Aracısı, Proxy, Başlık ve Çerez yapılandırmalarını kullanarak web sayfalarının URL'den PDF dosyaları oluşturabilir.
- IronPDF, form değişkenlerini kullanarak giriş formları arkasında konumlanmış web sayfaları için PDF dosyaları oluşturabilir
- IronPDF, mevcut PDF dosyalarından fotoğraflar çıkarabilir ve/veya kaldırabilir
- IronPDF, PDF belgelerine metin, fotoğraflar, yer imleri, filigranlar ve diğer unsurlar ekleyebilir
- IronPDF, bir veya daha fazla PDF belgesinin sayfalarını birleştirmeyi ve ayırmayı kolaylaştırır.
- IronPDF, JavaScript, CSS ve medya dosyaları gibi web sayfası varlıklarını işleyebilir ve tarayıcıda görüneceği şekilde PDF belgelerine dönüştürebilir.
- IronPDF, .NET Core, .NET Standard ve benzeri dahil tüm .NET Çerçevelerini destekler.
2. Blazor Nedir?
Blazor, C# ve HTML kullanarak Web Yığınını kullanarak istemci tarafı Web Uygulamaları yaratmayı mümkün kılan bir Web Uygulama Çerçevesidir.
Web Yığını uygulamaları, neredeyse yerel hızda çalışabilen bir ikili talimat formatında tarayıcıya gönderilir. Bu, C# gibi dillerin tarayıcı içinde çalışması için yeni potansiyeller yaratmıştır.
Visual Studio'da Yeni Proje Oluşturma
Başlamak için Microsoft Visual Studio uygulamasını açın ve Dosya menüsünden "Yeni Proje"yi seçin. Daha sonra, "Blazor Sunucu Uygulaması"nı seçin.
Visual Studio'da Yeni Proje Oluşturma
Bir proje adı girin ve bir dosya yolu seçin. Ardından Oluştur düğmesine tıklayın.
Yeni Blazor Uygulamasının Adını ve Konumunu Seçme
İstenilen .NET Çerçevesini seçin (bu eğitimde .NET 6.0 kullanacağız), aşağıdaki ekranda gösterildiği gibi:
Visual Studio'da .NET 6.0 Çerçevesi ile Yeni Proje Oluşturma
Microsoft Visual Studio, bu Blazor uygulamasının yapısını şimdi oluşturacak.
Sıradaki adım, IronPDF kütüphanesini bu yeni projeye eklemektir.
3. IronPDF Kütüphanesini Yükleyin
IronPDF Kütüphanesi dört yolla indirilebilir ve kurulabilir:
- Visual Studio'nun NuGet Paket Yöneticisi'ni kullanarak
- Visual Studio'nun Komut Satırını kullanarak
- NuGet web sitesinden doğrudan indirme
- IronPDF web sitesinden doğrudan indirerek
3.1 Visual Studio'nun NuGet Paket Yöneticisi'ni Kullanarak
Visual Studio, kütüphaneleri doğrudan projelere yüklemeyi desteklemek için NuGet Paket Yöneticisi sağlar. Aşağıdaki ekran görüntüsü, NuGet Paket Yöneticisi'ni nasıl açacağınızı gösterir.
Visual Studio'nun NuGet Paket Yöneticisine Erişim
Aşağıdaki ekranda gösterildiği gibi, "IronPDF" araması yapmak için Gözat sekmesinin altındaki arama alanını kullanın:
NuGet Paket Yöneticisi GUI'sinde IronPDF kütüphanesini arama
Yukarıdaki resim, ilgili arama sonuçlarının listesini göstermektedir. Projenize paketi yüklemek için gereken seçenekleri seçin.
3.2 Visual Studio Komut Satırını Kullanarak
Visual Studio'da Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu bölümüne gidin.
Paket Yöneticisi Konsolu sekmesine aşağıdaki satırı girin:
Install-Package IronPdf
Paket, şu anki projeye indirilecek ve yüklenecek.
NuGet Paket Yöneticisi Konsolu'nu kullanarak IronPDF kütüphanesini yükleme
3.3 NuGet Web Sitesinden Doğrudan İndirerek
IronPDF kütüphanesini yüklemenin üçüncü yolu, NuGet paketini web sitesinden doğrudan indirmektir.
IronPDF NuGet web sitesine gidin.
- Sağ taraftaki menüden "Paket İndir" seçeneğine tıklayın.
- Dosya sisteminizde indirilen paketi açın. Otomatik olarak yüklenecek.
- Çözümü yeniden yükleyin ve projenizde kullanmaya başlayın.
3.4 IronPDF Web Sitesinden Doğrudan İndirerek
IronPDF web sitesini ziyaret ederek IronPDF paketini doğrudan indirin.
İndirdikten sonra, paketi projenize eklemek için şu adımları izleyin:
- Çözüm penceresinden projeye sağ tıklayın.
- "Ekle" > "Referans" seçeneğini seçin ve daha önce indirdiğiniz kütüphanenin konumuna gidin.
- Kütüphaneyi referans olarak eklemek için Tamam'a tıklayın.
4. Blazor Sunucu Uygulamasında PDF Belgeleri Oluşturun
Bu eğitimdeki Blazor uygulaması, bir web sayfasının URL üzerinden HTML içeriğini IronPDF kullanarak alacak ve bunu PDF belgesine dönüştürecektir.
Projede yer alan .razor dosyasına aşağıdaki kaynak kodunu girin.
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}
[using] ReadOnly Property code() As IronPdf
''' <summary>
''' This method exports data by converting a URL to a PDF file and initiating its download.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public async Task ExportData()
' {
' try
' {
' string fileName = "Demo.pdf";
' var renderer = New ChromePdfRenderer();
'
' ' Render the contents of the URL as a PDF document
' var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
' ' Save the PDF using a JavaScript function
' await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
' }
' catch (Exception ex)
' {
' ' Handle any exceptions that may occur
' Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
' }
' }
End Property
Yukarıdaki kod parçacığı, HTML'den PDF belgeleri oluşturmak için iki yöntem kullanır. İlk yöntem, verilen bir URL'den HTML içeriğini indirip PDF formatına dönüştüren IronPDF'nin RenderUrlAsPdf metodudur.
İkinci yöntem ise, PDF içeriğini istemcinin dosya sistemine kaydeden web sayfası kapsamında bir JavaScript fonksiyonunu çalıştırmak için bir tarayıcının JavaScript motorunu tetikleyen statik JSRuntime.InvokeVoidAsync metodudur.
Bu JavaScript fonksiyonu aşağıda dahil edilmiştir:
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
Yukarıdaki JavaScript fonksiyonu, Blazor'dan Base64 verilerini alır ve bunu müşteri tarafı konumuna kaydetmeden önce bir blob'ye dönüştürür.
Alternatif olarak, SaveAs metodunu ve ChromePdfRenderer sınıfından PDF belgelerini tarayıcının yerel depolamasına kaydetmek için de kullanılabilir.
5. HTML Dizelerinden PDF Belgesi Oluşturun
Aşağıdaki kod parçacığı, bir HTML dizesini belgeye nasıl dönüştüreceğini gösterir.
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}
[using] ReadOnly Property code() As IronPdf
''' <summary>
''' Demonstrates turning an HTML string into a PDF document.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public void GeneratePdfFromHtmlString()
' {
' var renderer = New ChromePdfRenderer();
' var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
' ' You can save the generated PDF locally
' pdf.SaveAs("HelloWorld.pdf");
' }
End Property
Önceki örnek, herhangi bir HTML dizesini PDF içeriğine dönüştürmek için RenderHtmlAsPdf örnek yöntemini kullanır. Ayrıca, bu içeriği kullanıcının bilgisayarına kaydetmek için daha önce açıklanan prosedürlerde SaveAs metodu kullanılabilir.
Bu eğitimde oluşturulan Blazor PDF Oluşturma Uygulaması
Yukarıdaki ekran görüntüsü, bu eğitimde geliştirilen Web Uygulamasını gösterir. İndir butonuna tıklamak, C# kodunu PDF içeriğini oluşturmak ve müşteri tarafında PDF içeriğini indirmek için bir JavaScript fonksiyonunu tetikleyecektir.
Sonuç
Bu makale, web sayfalarından PDF dosyaları oluşturmak için IronPDF PDF kütüphanesini kullanan bir Blazor Web Uygulaması geliştirmenin nasıl yapıldığını gösterdi.
IronPDF açık kaynak değil, ancak bir ücretsiz deneme anahtarı ile üretimde su işareti olmadan kullanılabilir.
Sıkça Sorulan Sorular
Blazor sunucu tabanlı bir uygulamaya bir PDF kütüphanesini nasıl entegre edebilirim?
Blazor sunucu tabanlı bir uygulamaya PDF kütüphanesi entegre edebilirsiniz. İlk olarak, Visual Studio'da bir Blazor projesi oluşturun, ardından NuGet Paket Yöneticisi veya komut satırını kullanarak IronPDF kütüphanesini yükleyin. IronPDF, HTML içeriğinden sorunsuz bir şekilde PDF belgeleri oluşturmanıza olanak tanır.
Blazor uygulamasında HTML'den PDF oluşturmak için hangi yöntemler mevcut?
Blazor uygulamasında, IronPDF'nin RenderUrlAsPdf yöntemini kullanarak web sayfası URL'lerini PDF'ye dönüştürebilir veya RenderHtmlAsPdf yöntemini kullanarak HTML dizelerinden doğrudan PDF oluşturabilirsiniz. Bu yöntemler, çeşitli HTML kaynaklarından PDF belgeleri oluşturmak için esneklik sağlar.
Blazor uygulamasında bir PDF dosyasını istemci dosya sistemine nasıl kaydedebilirim?
Blazor uygulamasında bir PDF dosyasını istemcinin dosya sistemine kaydetmek için, PDF verilerini bir blob'a dönüştüren ve indirmeyi tetikleyen bir JavaScript fonksiyonu kullanabilirsiniz. IronPDF, PDF'yi oluşturmak için gereken araçları sağlar ve ardından bu işlem istemci tarafı JavaScript kullanılarak yönetilebilir.
Visual Studio'da bir Blazor sunucu tabanlı proje nasıl oluşturulur?
Visual Studio'da bir Blazor sunucu tabanlı proje oluşturmak için Dosya menüsünden 'Yeni Proje' seçin, 'Blazor Sunucu Uygulaması'nı seçin, proje adını ve konumunu belirtin ve uygun .NET Framework sürümünü seçin. Bu kurulum, IronPDF gibi ek kütüphaneleri entegre etmenize olanak tanır.
Bu kütüphaneyi kullanarak HTML içindeki JavaScript ve CSS içeriklerini PDF'e dönüştürebilir miyim?
Evet, IronPDF kullanarak HTML içindeki JavaScript ve CSS içeriklerini PDF'e dönüştürebilirsiniz. HTML5, CSS ve JavaScript içeriğini işleme destekler, böylece orijinal web sayfalarının düzenini ve stilini koruyan kapsamlı PDF belgeleri oluşturabilirsiniz.
Blazor içinde PDF oluşturma beklenildiği gibi çalışmıyorsa, hangi sorun giderme adımları uygulanabilir?
Blazor içinde PDF oluşturma beklenildiği gibi çalışmıyorsa, IronPDF kütüphanesinin projeye doğru bir şekilde yüklendiğinden emin olun. HTML içeriğinin doğru biçimlenmiş ve erişilebilir olduğunu kontrol edin. Ayrıca, tarayıcı konsolundaki PDF işleme sürecini etkileyebilecek olası JavaScript hatalarını kontrol edin.
PDF belgelerimde başlıklar ve alt başlıklar olmasını nasıl sağlayabilirim?
IronPDF kullanarak PDF belgelerinizde başlık ve alt başlıklar eklemek için, özel başlık ve alt başlık içeriği eklemek üzere işleme seçeneklerini yapılandırabilirsiniz. Bu, PDF çıktısında sayfa numaraları veya başlıkları gibi ek bilgileri eklemenize olanak tanır.
Blazor uygulamasında kimlik doğrulama arkasındaki sayfalar için PDF oluşturmam mümkün mü?
Evet, IronPDF, Blazor uygulamasında kimlik doğrulama arkasındaki sayfalar için PDF oluşturabilir. Kitaplığın yeteneklerini kullanarak PDF'ye dönüştürmeden önce kısıtlı içeriğe erişmek için kimlik doğrulama çerezlerini veya jetonlarını yönetmeniz gerekir.
IronPDF'nin .NET 10 ile uyumlu olup olmadığı ve .NET 10 ile kullanmanın hangi avantajları sağladığı neler?
Evet, IronPDF, .NET 10 ile tamamen uyumludur — kutudan çıktığı gibi hiçbir özel geçici çözüm, dolgu ya da terkedilmiş API'lere ihtiyaç duymadan çalışır. .NET 10, ASP.NET Core ve Blazor için güncellemeler getirir, geliştirilmiş performans, daha iyi bağımlılık yönetimi, gelişmiş çerçeve referans işleme ve geliştirilmiş JavaScript izolasyonu dahil, Razor sayfaları, URL'ler veya HTML içeriğini kullanarak PDF oluşturma iş akışlarına fayda sağlar.
.NET 10 ile IronPDF kullanmak nasıl performans ve çalışma zamanı verimliliğini arttırır?
.NET 10 ile IronPDF kullanmak, array arayüz metodları devirtualizasyonu, struct'lar için kaçış analizi, geliştirilmiş JIT optimizasyonları ve AVX-512 talimatları desteği gibi birkaç çalışma zamanı iyileştirmesinden yararlanır. Bu iyileştirmeler, bellek tahsislerini azaltır, çöp toplama yükünü düşürür ve HTML işleme ve PDF manipülasyonu gibi görevleri hızlandırır.

