Blazor Sunucusu Kullanarak C# ile Razor'u PDF'ye Nasıl Dönüştürürüz

Blazor Sunucusunda Razor'u PDF'ye Dönüştürme C# İle

This article was translated from English: Does it need improvement?
Translated
View the article in English

Blazor Server üzerinde IronPDF'nin RenderRazorComponentToPdf yöntemiyle Razor bileşenlerini PDF'ye dönüştürün. Başlıklar, altbilgiler ve sayfa biçimlendirmesi için tam özelleştirme ve minimum kod ile C# kullanıcı arayüzü bileşenlerini PDF'lere dönüştürün.

Hızlı Başlangıç: Razor Bileşenini Dakikalar İçinde PDF'ye Dönüştürün

IronPDF kullanarak Blazor Sunucu uygulamalarında Razor bileşenlerini PDF'ye dönüştürün. RenderRazorComponentToPdf yöntemi, Razor bileşenlerinizi birkaç satır kodla PDF'lere dönüştürür. Bu kılavuzu takip ederek projenize Razor'dan PDF'ye dönüştürmeyi minimum kurulum ve esnek özelleştirme seçenekleri ile entegre edin.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçasını kopyalayıp çalıştırın.

    // Install-Package IronPdf.Extensions.Blazor
    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderRazorComponentToPdf<MyComponent>(new Dictionary<string,object> { {"persons",personsList} })
        .SaveAs("component-to-pdf.pdf");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

Razor'dan PDF'ye Dönüştürme İçin Hangi NuGet Paketlerine İhtiyacım Var?

IronPdf.Extensions.Blazor paketi, ana IronPdf paketini genişletir. Blazor Sunucu Uygulamasında Razor bileşenlerini PDF belgelerine dönüştürmek için her iki paket de gereklidir. Bu eklenti, Blazor Sunucu uygulamaları için entegrasyon noktaları sağlar ve var olan Razor bileşenlerinizi PDF'lere geniş çaplı bir yeniden yapılandırma yapmadan dönüştürmenize olanak tanır.

IronPdf.Extensions.Blazor'u yüklemek, otomatik olarak temel IronPDF kütüphanesini bir bağımlılık olarak ekler. Uzantı paketi, Blazor'un bileşen modelini anlayan ve bağlı verilerle bileşenleri doğru şekilde işleyen RenderRazorComponentToPdf gibi yöntemler ekler. En iyi performans ve en yeni özellikler için her iki paketin de en güncel sürümünü kullanın. Güncellemeler ve iyileştirmeler için değişiklik günlüğünü kontrol edin.

Install-Package IronPdf.Extensions.Blazor
PDF için C# NuGet Kütüphanesi

NuGet ile yükleyin

Install-Package IronPdf.Extensions.Blazor

Blazor Sunucu'da Razor Bileşenlerini PDF'lere Nasıl Render Ederim?

Razor bileşenlerini PDF'lere dönüştürmek için bir Blazor Sunucu Uygulama projesi gereklidir. Blazor Sunucu uygulamaları, sunucuda çalışır ve UI güncellemelerini SignalR bağlantısı üzerinden render eder, bu da sunucu-tarafı işlem gerektiren PDF üretimi için uygundur. Bu mimari, istemci tarayıcısı veya cihazın ne olduğuna bakılmaksızın, PDF render işleminin sunucuda gerçekleşmesini ve tutarlı sonuçlar elde edilmesini sağlar.

Başlamadan önce, .NET SDK'nın ve ASP.NET ve web geliştirme iş yükü ile Visual Studio 2019 veya daha yenisinin yüklü olduğunu doğrulayın. Visual Studio'nun proje şablonları veya .NET CLI kullanarak dotnet new blazorserver ile yeni bir Blazor Server Uygulaması oluşturun. Detaylı kurulum talimatları ve platforma özgü gereksinimler için Kurulum Genel Bakışını inceleyin.

Hangi Model Sınıfı Yapısını Kullanmalıyım?

KişiBilgisi adlı standart bir C# sınıfı ekleyin. Bu sınıf, kişi bilgilerini depolamak için model olarak görev yapar. Aşağıdaki kodu ekleyin:

:path=/static-assets/pdf/content-code-examples/how-to/razor-to-pdf-blazor-server-model.cs
namespace BlazorSample.Data
{
    public class PersonInfo
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}
Namespace BlazorSample.Data
	Public Class PersonInfo
		Public Property Id() As Integer
		Public Property Name() As String
		Public Property Title() As String
		Public Property Description() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Bu model, Razor bileşeninize aktarılan ve PDF'de render edilen veri yapısını temsil eder. IronPDF, basit POCO'lardan karmaşık entity framework modellerine kadar herhangi bir C# nesne modeli ile çalışır. PDF üretimi için modelleri tasarlarken, verilerin nihai belgede nasıl görüntüleneceğini düşünün ve özellikleri buna göre yapılandırın.

PDF Üretimi İçin Razor Bileşenini Nasıl Uygularım?

Razor bileşenlerini PDF'lere dönüştürmek için RenderRazorComponentToPdf yöntemini kullanın. Bu yönteme, ChromePdfRenderer sınıfını örnekleyerek erişin. Yöntem, dışa aktarma veya daha fazla değiştirme için PdfDocument nesnesi döndürür.

Döndürülen PdfDocument, PDF/A veya PDF/UA formatlarına dönüştürme dahil ek modifikasyonları destekler. Belgeyi birleştirebilir veya bölebilir, sayfaları döndürebilir ve açıklamalar veya yer imleri ekleyebilirsiniz. Gerektiğinde özel filigranlar uygulayın.

Person.razor adlı bir Razor bileşeni ekleyin. Aşağıdaki kodu girin:

@page "/Person"
@using BlazorSample.Data;
@using IronPdf;
@using IronPdf.Extensions.Blazor;

<h3>Person</h3>

@code {
    // A parameter to receive a list of persons from the parent component.
    [Parameter]
    public IEnumerable<PersonInfo> persons { get; set; }

    // Dictionary to hold parameters that will be passed to the PDF renderer.
    public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();

    protected override async Task OnInitializedAsync()
    {
        // Initialize the persons list with some sample data.
        persons = new List<PersonInfo>
        {
            new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
            new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
            new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
        };
    }

    private async void PrintToPdf()
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply text footer to the PDF pages.
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };

        Parameters.Add("persons", persons);

        // Render Razor component to PDF and save it.
        PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
        File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
    }
}

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    @foreach (var person in persons)
    {
        <tr>
            <td>@person.Name</td>
            <td>@person.Title</td>
            <td>@person.Description</td>
        </tr>
    }
</table>

<button class="btn btn-primary" @onclick="PrintToPdf">Print to Pdf</button>

Bu yöntem, tüm RenderingOptions özelliklerine erişim sağlar. Metin ve HTML başlıkları ve altbilgileri ekleyin, sayfa numaraları dahil edin ve sayfa boyutlarını ve düzenini ayarlayın. RenderingOptions, özel kenar boşlukları, duyarlı tasarımlar için görünüm ayarları ve dinamik içerikler için JavaScript yürütme gecikmelerini destekler.

Farklı sayfa boyutları arasında PDF'lerin düzgün görünmesini sağlamak için Bootstrap gibi karmaşık düzenler veya CSS çerçevelerini keşfedin. duyarlı CSS render yeteneklerini inceleyin.

Razor Bileşenime Navigasyonu Nasıl Eklerim?

  • "Paylaşılan klasör"e gidin ve NavMenu.razor'i açın. Razor bileşenimizi açacak bölümü ekleyin, Person. Bizim Person bileşenimiz ikinci seçenek olacaktır.
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <nav class="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="Person">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Person
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
    </nav>
</div>

Bu gezinme kurulumu, Blazor'un yönlendirme sistemi ile entegre olur ve kullanıcıların uygulamanızın ana gezinme menüsünden PDF üretim fonksiyonelliğine erişmesine olanak tanır. NavLink bileşeni, aktif yolun doğru vurgulanmasını sağlar.

PDF Üretim Süreci Nasıl Görünür?

Projeyi çalıştırın ve bir PDF belgesi oluşturun. "PDF'ye Yazdır" düğmesine tıklayın. IronPDF, Razor bileşeninizi işler, HTML'ye dönüştürür ve Chrome tabanlı render motorunu kullanarak bir PDF olarak işler. Bu, modern web tarayıcılarında görüldüğü gibi aynı görsel sadakati korur.

Visual Studio debugging Blazor app with PDF generation code using ChromePdfRenderer and Razor components

Oluşturulan PDF, projenizin çıktı dizininde kaydedilir. Kaydetme konumunu özelleştirin, doğrudan tarayıcı indirimi uygulayın veya PDF'leri Azure Blob Storage gibi bulut depolama alanlarında saklayın. Üretim uygulamaları için, PDF üretiminin başarısız olabileceği veya beklenenden fazla süre alabileceği senaryolar için hata ayıklama ve kullanıcı geri bildirimi uygulayın.

Tam Çalışma Örneğini Nereden İndirebilirim?

Bu kılavuzun tamamlanmış kodunu sıkıştırılmış bir dosya olarak indirin. Blazor Sunucu Uygulama projesi olarak Visual Studio'da açın. Örnek, Razor'dan PDF'ye dönüştürmeye Blazor uygulamalarıyla hemen başlamanız için tüm bağımlılıkları, yapılandırmaları ve örnek kodu içerir.

Razor'dan PDF'ye Dönüştürme için Blazor Örnek Projesini İndirin

Başka neler yapabileceğinizi görmek için hazır mısınız? Eğitim sayfamızı burada inceleyin: PDF'leri Dönüştürün

Daha ileri düzey senaryolar için, IronPDF'i Blazor uygulamalarında kullanmak için ek entegrasyon desenleri ve en iyi uygulamaları kapsayan Blazor eğitimini inceleyin.

Sıkça Sorulan Sorular

Blazor Server'da bir Razor bileşenini PDF'ye dönüştürmenin en hızlı yolu nedir?

En hızlı yol, IronPDF'in RenderRazorComponentToPdf yöntemini kullanmaktır. Tek bir kod satırı ile herhangi bir Razor bileşenini PDF'ye dönüştürebilirsiniz: var pdf = new IronPdf.ChromePdfRenderer().RenderRazorComponentToPdf(new Dictionary { {"persons",personsList} }).SaveAs("component-to-pdf.pdf");

Blazor Server'da Razor'dan PDF'ye dönüşüm için hangi NuGet paketleri gereklidir?

IronPdf.Extensions.Blazor paketine ihtiyaçınız var, bu paket otomatik olarak temel IronPDF kütüphanesini bir bağımlılık olarak içerir. Kurulum için: Install-Package IronPdf.Extensions.Blazor kullanın

Razor bileşenlerini PDF'ye dönüştürürken özel üst bilgi ve alt bilgiler ekleyebilir miyim?

Evet, IronPDF, Razor bileşenlerinizi PDF'ye dönüştürürken üst bilgi, alt bilgi ve sayfa formatı için tam özelleştirme seçenekleri sunar.

Neden Razor bileşenlerinden PDF oluşturmak için Blazor Server öneriliyor?

Blazor Server uygulamaları sunucuda çalışır ve UI güncellemelerini bir SignalR bağlantısı üzerinden işler, bu da onları PDF oluşturma için ideal hale getirir. Bu mimari, IronPDF'in renderlemesinin sunucu tarafında gerçekleşmesini sağlar ve müşteri tarayıcı veya cihazdan bağımsız olarak tutarlı sonuçlar sağlar.

Mevcut Razor bileşenlerimi PDF'ye dönüştürmek için refactor yapmam gerekir mi?

Hayır, IronPdf.Extensions.Blazor paketi mevcut Razor bileşenlerinizi geniş çaplı refactoring yapmadan PDF'lere dönüştürmenizi sağlar. Uzantı, Blazor'un bileşen modelini anlayan entegrasyon noktaları sağlar.

PDF'ye dönüştürürken verileri Razor bileşenime nasıl iletebilirim?

RenderRazorComponentToPdf yönteminde bir Dictionary parametresi kullanarak veri iletebilirsiniz. Örneğin: new Dictionary { {"persons", personsList} } burada "persons" parametre adı, personsList ise verinizdir.

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
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.