Altbilgi içeriğine atla
IRONPDF KULLANARAK
Blazor'da IronPDF Kullanarak HTML'den PDF'ye Dönüşüm

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.

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:

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.

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 1: Visual Studio'da Yeni Proje Oluşturma 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.

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 2: Yeni Blazor Uygulamasının adını ve konumunu seçme 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:

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 3: .NET 6.0 Framework ile Visual Studio'da Yeni Proje Oluşturma .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.

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 4: Visual Studio'nun NuGet Paket Yöneticisine Erişim 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:

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 5: NuGet Paket Yöneticisi GUI'sinde IronPDF kütüphanesi arama 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.

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 6: NuGet Paket Yöneticisi Konsolunu kullanarak IronPDF kütüphanesini yükleme 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
$vbLabelText   $csharpLabel

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>
HTML

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
$vbLabelText   $csharpLabel

Ö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.

Blazor Ile PDF Dosyası Oluşturma Eğitim Programı, Şekil 7: Bu öğreticide oluşturulan Blazor PDF Üretim Uygulaması 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.

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