Blazor Eğitimi ile PDF Dosyası Oluşturma
IronPDF, ünlü bir C# kütüphanesi olup Blazor uygulamalarıyla birlikte çalışır. Bu inceleme, PDF raporlarını Blazor uygulamasına gömme konusunda IronPDF kullanımı için sizi yönlendirecek ve bu entegrasyonun sorunsuz çalışmasını ve etkinliğini gösterecektir.
Blazor'da 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 Yükleyin
- Web sayfalarından URL ile PDF belgeleri oluşturun
- HTML dizgileriyle PDF belgeleri oluşturun
1. IronPDF Özellikleri
Geliştiriciler, sağlam IronPDF .NET PDF kütüphanesinin yardımıyla hızlı bir şekilde PDF belgeleri oluşturabilir, okuyabilir ve işleyebilir. IronPDF, yerleşik bir Chrome motoruna sahiptir ve çok sayıda pratik ve güçlü yetenek sunar. Bunlar arasında HTML5, JavaScript, CSS ve resimleri PDF'ye dönüştürme yeteneği, PDF belgelerine özel başlıklar ve alt bilgilere ekleme yeteneği ve web tarayıcısında göründükleri gibi PDF üretme yeteneği bulunur. IronPDF, HTML, ASPX, Razor Pages ve MVC çerçeveleri gibi çeşitli web teknolojilerini destekler.
IronPDF'nin ana özellikleri aşağıdaki gibidir:
- IronPDF, .NET C# uygulamaları içinde PDF dosyalarının oluşturulması ve değiştirilmesi üzerinde tam kontrol sağlar
- IronPDF, belirli Kullanıcı-Aracısı, Proxy, Başlık ve Çerez yapılandırmalarını kullanarak web sayfalarından URL'leriyle PDF dosyaları oluşturabilir.
- IronPDF, form değişkenleri kullanarak giriş formlarının ardında bulunan 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ğraf, yer imleri, filigranlar ve diğer öğeleri 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 sayfa varlıklarını işler ve bunları tarayıcıda göründükleri gibi PDF belgelerine dönüştürür.
- IronPDF, .NET Core, .NET Standard vb. dahil tüm .NET Çerçevelerini destekler.
2. Blazor nedir?
Blazor, Web Assembly kullanarak C# ve HTML'de istemci tarafı Web Uygulamaları oluşturmayı mümkün kılan bir Web Uygulama Çerçevesidir.
Web Assembly uygulamaları, neredeyse yerel hızda işletilebilecek ikili bir talimat formatında tarayıcıya gönderilir. Bu, C# gibi dillerin tarayıcı içinde çalışabilmesi için yeni olasılıklar 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" seçeneğini seçin. Sonra "Blazor Sunucu Uygulaması"nı seçin.
Visual Studio'da Yeni Proje Oluşturma
Bir proje adı girin ve bir dosya yolu seçin. Sonra, Oluştur düğmesine tıklayın.
Yeni Blazor Uygulamasının adı ve konumunun seçimi
İstenen .NET Çerçevesini seçin (bu eğitimde .NET 6.0 kullanacağız), aşağıdaki ekran görüntüsünde gösterildiği gibi:
.NET 6.0 Çerçevesi ile Visual Studio'da Yeni Proje Oluşturma
Microsoft Visual Studio, artık bu Blazor uygulaması için yapıyı oluşturacaktır.
Sonraki adım, bu yeni projeye IronPDF kütüphanesini eklemektir.
3. IronPDF Kütüphanesini Yükleyin
IronPDF Kütüphanesi dört yolla indirilebilir ve kurulabilir:
- Visual Studio'nun NuGet Paket Yöneticisini kullanarak
- Visual Studio'nun Komut Satırı'nı kullanarak
- NuGet web sitesi üzerinden doğrudan indirme
- IronPDF web sitesinden doğrudan indirerek
3.1 Visual Studio'nun NuGet Paket Yöneticisini Kullanma
Visual Studio, kütüphaneleri doğrudan projelere yüklemeye yardımcı olmak için NuGet Paket Yöneticisini sağlar. Aşağıdaki ekran resmi, NuGet Paket Yöneticisini nasıl açacağınızı göstermektedir.
Visual Studio'nun NuGet Paket Yöneticisine Erişim
Aşağıdaki ekran görüntüsünde gösterildiği gibi, "IronPDF" için Ara sekmesi altındaki arama alanını kullanarak arama yapın:
NuGet Paket Yöneticisi GUI'de IronPDF kütüphanesini arama
Yukarıdaki resimde, ilgili arama sonuçlarının listesini gösteriyor. Paketi projenize kurmak için gereken seçenekleri seçin.
3.2 Visual Studio Komut Satırını Kullanma
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 şimdi mevcut projeye indirilecek ve yüklenecek.
NuGet Paket Yöneticisi Konsolu kullanarak IronPDF kütüphanesini kurma
3.3 NuGet Web Sitesinden Doğrudan İndirme
IronPDF kütüphanesini kurmanın üçüncü yolu, NuGet paketini doğrudan web sitesinden indirmektir.
IronPDF için NuGet web sitesine gidin.
- Sağda yer alan menüden "Paket İndir" seçeneğine tıklayın.
- İndirilen paketi dosya sisteminizde açın. Otomatik olarak yüklenecektir.
- Çözümü yeniden yükleyin ve projenizde kullanmaya başlayın.
3.4 IronPDF Web Sitesinden Doğrudan İndirme
IronPDF paketini doğrudan IronPDF web sitesinden indirin.
İndirdikten sonra, paketi projenize eklemek için bu adımları izleyin:
- Çözüm penceresinden projeyi 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şturma
Bu eğitimdeki Blazor uygulaması, bir web sayfasının HTML içeriğini URL'siyle alıp PDF belgesine dönüştürmek için IronPDF kullanacaktır.
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 üretmek için iki yöntem kullanır. İlk yöntem, belirli bir URL'den HTML içeriğini indirip PDF formatına dönüştüren IronPDF'nin RenderUrlAsPdf yöntemidir.
İkinci yöntem, tarayıcının JavaScript motorunu bir JavaScript fonksiyonunu çağırmaya tetikleyen statik JSRuntime.InvokeVoidAsync yöntemidir ve bu, PDF içeriğini istemcinin dosya sistemine kaydeder.
Aşağıda bu JavaScript işlevi yer almaktadır:
<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 işlevi, Base64 verilerini Blazor'dan alır ve istemci tarafı konumuna kaydetmeden önce bir blob'a dönüştürür.
Alternatif olarak, ChromePdfRenderer sınıfından SaveAs yöntemi de PDF belgelerini tarayıcının yerel deposuna kaydetmek için kullanılabilir.
5. Bir HTML Dizgisinden PDF Belgesi Oluşturma
Aşağıdaki kod parçası, bir HTML dizgisinin belgeye nasıl dönüştürüleceğini göstermektedir.
@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, SaveAs metodu daha önce açıklanan işlemlerde bu içeriği istemcinin bilgisayarına kaydetmek için kullanılabilir.
Bu eğitimde oluşturulan Blazor PDF Üretim Uygulaması
Yukarıdaki ekran görüntüsü, bu eğitimde geliştirilen Web Uygulamasını göstermektedir. İndir düğmesine tıklamak, C# kodunu tetikleyerek PDF içeriği üretecek ve istemci tarafında PDF içeriğini indirmek için bir JavaScript işlevini tetikleyecektir.
Sonuç
Bu makale, web sayfalarından PDF dosyaları oluşturmak için IronPDF PDF kütüphanesini kullanan bir Blazor Web Uygulamasının nasıl geliştirileceğini gösterdi.
IronPDF, açık kaynak değildir. Ancak, bir ücretsiz deneme anahtarı ile üretimde filigran olmadan kullanılabilir.
Sıkça Sorulan Sorular
PDF kütüphanelerini Blazor sunucu taraflı uygulama ile nasıl entegre edebilirim?
IronPDF kullanarak bir PDF kütüphanesini Blazor sunucu taraflı uygulama ile entegre edebilirsiniz. Önce Visual Studio'da bir Blazor projesi oluşturun, ardından IronPDF kütüphanesini NuGet Paket Yöneticisi veya komut satırı aracılığıyla yükleyin. IronPDF, HTML içeriğinden PDF belgeleri oluşturmanıza olanak tanır.
Bir Blazor uygulamasında HTML'den PDF oluşturmak için hangi yöntemler mevcuttur?
Bir Blazor uygulamasında, web sayfasi URL'lerini PDFlere dönüştürmek için IronPDF'nin RenderUrlAsPdf methodunu veya HTML string'lerden doğrudan PDF oluşturmak için RenderHtmlAsPdf methodunu kullanabilirsiniz. Bu methodlar, çeşitli HTML kaynaklarından PDF dokümanları oluştururken esneklik sağlar.
Bir Blazor uygulamasinda bir PDF dosyasını müşterinin dosya sistemine nasıl kaydedebilirim?
Blazor uygulamasında bir PDF dosyasını müşterinin dosya sistemine kaydetmek için, PDF verilerini bir blob haline getiren ve ardından indirme işlemini tetikleyen bir JavaScript fonksiyonu kullanabilirsiniz. IronPDF, PDF oluşturmanıza olanak tanıyan gerekli araçları sağlar, bu da ardından istemci tarafında JavaScript kullanılarak işlenebilir.
Visual Studio'da bir Blazor sunucu tarafli projesi oluşturma süreci nedir?
'Dosya' menüsünden 'Yeni Proje' seçilmesi, 'Blazor Server App' seçilmesi, proje adı ve konumunun belirtilmesi ve uygun .NET Framework sürümünün seçilmesini içerir. Bu kurulum, IronPDF gibi ek kütüphaneleri entegre etmenize olanak sağlar ve işlevselliği geliştirir.
JavaScript ve CSS içeriğini bu kütüphaneyi kullanarak HTML içinden PDF'ye dönüştürebilir miyim?
Evet, IronPDF kullanarak JavaScript ve CSS içeriğini HTML içinden PDF'ye dönüştürebilirsiniz. HTML5, CSS ve JavaScript içeriğini işler ve orijinal web sayfalarının düzen ve stilini koruyan kapsamlı PDF belgeleri oluşturmanıza olanak sağlar.
Blazor'da PDF oluşturma beklenilen şekilde çalışmazsa ne gibi sorun giderme adımları alınabilir?
Blazor'da PDF oluşturma beklenilen şekilde çalışmadığında, IronPDF kütüphanesinin projeye doğru bir şekilde yüklendiğinden emin olun. HTML içeriğinin doğru formatlandığını ve erişilebilir olduğunu doğrulayın. Ayrıca, PDF işleme sürecini etkileyebilecek tarayıcı konsolunda herhangi bir JavaScript hatası olup olmadığını kontrol edin.
Bir PDF kütüphanesi kullanırken PDF belgelerimin başlık ve altbilgiler içermesini nasıl sağlayabilirim?
IronPDF kullanarak PDF belgelerinize başlık ve alt bilgiler eklemek için özelleştirilmiş başlık ve altbilgi içeriği eklemek için yorumlama ayarlarını yapılandırabilirsiniz. Bu da PDF çıktısına sayfa numaraları veya başlıklar gibi ek bilgiler eklemenize olanak tanır.
Blazor uygulamasında kimlik doğrulama arkasındaki sayfalar için PDF oluşturmak mümkün mü?
Evet, IronPDF, Blazor uygulamasında kimlik doğrulama arkasındaki sayfalar için PDF oluşturabilir. Kitaplık özelliklerini kullanarak bir PDF'ye dönüştürmeden önce sınırlı içeriğe erişmek için kimlik doğrulama çerezlerini veya belirteçlerini yönetmeniz gerekir.
IronPDF, .NET 10 ile uyumlu mu ve .NET 10 ile kullanmak ne gibi avantajlar saglar?
Evet, IronPDF, .NET 10 ile tamamen uyumludur — özel geçici çözümler, ek shims veya terk edilmiş API'lar gerektirmeden kutudan çıktığı gibi çalışır. .NET 10, ASP.NET Core ve Blazor'a güncellemeler getirir, bu da geliştirilmiş performans, daha iyi bağımlılık yönetimi, gelişmiş çerçeve referans işleme ve geliştirilmiş JavaScript izolasyonu gibi avantajlar sağlar. Tüm bu yenilikler Razor sayfaları, URL'ler veya HTML içeriği kullanarak PDF oluşturma iş akışlarını olumlu yönde etkiler.
IronPDF'nin .NET 10 ile kullanımı performans ve yürütme verimliliğini nasıl artırıyor?
IronPDF'yi .NET 10 ile kullanmak, dizilerde arayüz metod sanallaştırmayı kaldırma, yapılar için kaçış analizi, geliştirilmiş derleme zamanında optimizasyonlar ve AVX-512 talimatlarına destek gibi çeşitli yürütme iyileştirmelerinden yararlanır. Bu geliş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.




