Blazor Sunucusunda C# Kullanarak Razor PDF'e Nasıl Dönüştürülür

C# ile Blazor Server'da Razor'ı PDF'ye dönüştürme PdfDocument

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

IronPDF'nin RenderRazorComponentToPdf yöntemini kullanarak Blazor Server'da Razor bileşenlerini PDF'ye dönüştürün. C# kullanıcı arayüzü bileşenlerini minimum kodla PDF'ye dönüştürün ve başlıklar, altbilgiler ve sayfa biçimlendirmesi için tam özelleştirme sağlayın.

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

Blazor Sunucu uygulamalarında Razor bileşenlerini IronPDF kullanarak PDF'ye dönüştürün. RenderRazorComponentToPdf yöntemi, birkaç satır kodla Razor bileşenlerinizi PDF'lere dönüştürür. Bu kılavuzu izleyerek proje içerisinde Razor'dan PDF'ye dönüşümü entegre edin, minimum yapılandırma ve esnek özelleştirme seçenekleri ile.

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve ç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 için dağıtım yapın

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

    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. Her iki paket de Blazor Sunucu Uygulamalarında Razor bileşenlerini PDF belgelerine dönüştürmek için gereklidir. Bu uzantı, mevcut Razor bileşenlerinizi kapsamlı bir yeniden yapılandırma yapmadan PDF'lere dönüştürmenize olanak tanıyan Blazor Sunucu uygulamaları için entegrasyon noktaları sağlar.

IronPdf.Extensions.Blazor'yi yüklemek, temel IronPdf kütüphanesini bir bağımlılık olarak otomatik olarak dahil eder. Uzantı paketi, Blazor'un bileşen modelini anlayan ve bağlı verilerle bileşenleri doğru şekilde işleyen RenderRazorComponentToPdf gibi yöntemler ekler. Optimum performans ve en güncel özellikler için her iki paketin de en son sürümünü kullanın. değişim günlüğünü güncellemeler ve iyileştirmeler için 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 Sunucuda Razor Bileşenlerini PDF'lere Nasıl İşlerim?

Razor bileşenlerini PDF'lere dönüştürmek için bir Blazor Sunucu Uygulama projesi gereklidir. Blazor Sunucu uygulamaları sunucuda çalışır ve SignalR bağlantısı üzerinden kullanıcı arayüzü güncellemelerini sunar, bu da sunucu-tarafı işleme gereken PDF oluşturma için uygundur. Bu mimari, PDF işlemenin sunucuda gerçekleşmesini sağlar ve müşteri tarayıcısı veya cihazı ne olursa olsun tutarlı sonuçlar verir.

Başlamadan önce, .NET SDK'nın kurulu olduğundan ve ASP.NET ve web geliştirme iş yüküyle Visual Studio 2019 veya daha yenisinin yüklü olduğundan emin olun. Visual Studio'nun proje şablonlarını kullanarak veya dotnet new blazorserver ile .NET CLI'yi kullanarak yeni bir Blazor Sunucu Uygulaması oluşturun. Kurulum talimatlarına ve platforma özel gereksinimlere ilişkin detaylı bilgi için Kurulum Genel Bakışını inceleyin.

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

PersonInfo adlı standart bir C# sınıfı ekleyin. Bu sınıf, kişi bilgilerini saklamak için model görevi görür. 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 iletilen ve PDF'de işlenen veri yapısını temsil eder. IronPDF, basit POCO'lardan karmaşık varlık çerçevesi modellerine kadar herhangi bir C# nesne modeli ile çalışır. PDF oluşturmada modeller tasarlarken, verinin nihai belgede nasıl görüneceğini düşünün ve özellikleri buna göre yapılandırın.

PDF Üretimi İçin Razor Bileşenini Nasıl Çalıştırırım?

Razor bileşenlerini PDF'lere dönüştürmek için RenderRazorComponentToPdf yöntemini kullanın. ` sınıfını örneklendirerek bu yönteme erişin. Yöntem, dışa aktarma veya daha fazla değişiklik için birPdfDocument` nesnesi döndürür.

Geri dönen PdfDocument, PDF/A veya PDF/UA formatlarına dönüştürme dahil olmak üzere ek değişiklikleri destekler. belgeyi birleştirebilir veya bölebilir, sayfaları döndürebilir ve açıklamalar veya yer işaretleri ekleyebilirsiniz. Gerek duyulduğunda ö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ını, duyarlı tasarımlar için görüntü alanı ayarlarını ve dinamik içerik için JavaScript yürütme gecikmelerini destekler.

Farklı sayfa boyutlarında PDF'lerin doğru görünmesini sağlamak için Bootstrap gibi karmaşık düzenler veya CSS çerçeveleri için responsive CSS işleme yeteneklerini keşfedin.

Razor Bileşenime Nasıl Navigasyon Eklerim?

  • "Paylaşılan klasör"e gidin ve NavMenu.razor dosyasını açın. Razor bileşenimizi açacak bölümü ekleyin, Person. 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 navigasyon kurulumu, kullanıcıların PDF oluşturma işlevine uygulamanızın ana navigasyon menüsünden erişmesini sağlayacak şekilde Blazor'un yönlendirme sistemi ile entegre olur. NavLink bileşeni, etkin rotanın doğru şekilde 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 modern web tarayıcılarında aynı görsel sadakati koruyarak Chrome tabanlı işleme motorunu kullanarak PDF olarak sunar.

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

Oluşturulan PDF, projenizin çıkış dizinine kaydedilir. Kaydetme konumunu özelleştirin, doğrudan tarayıcı indirmeleri uygulayın veya Azure Blob Storage gibi bulut depolama alanlarında PDF'leri depolayın. Üretim uygulamaları için, PDF oluşturmada başarısız olabileceği veya beklenen süreyi aşabileceği senaryolar için hata ayıklama ve kullanıcı geri bildirimi uygulayın.

Tamamlanmış Çalışan Bir Örneği Nereden İndirebilirim?

Bu kılavuz için tüm kodu sıkıştırılmış dosya olarak indirin. Visual Studio'da Blazor Sunucu Uygulama projesi olarak açın. Örnek, Blazor uygulamalarında Razor'dan PDF'ye dönüştürme işlemini hemen başlatmak için tüm bağımlılıklar, yapılandırmalar ve örnek kodu içerir.

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

Başka neler yapabileceğinizi görmek için hazır mısınız? Buradaki öğretici sayfamıza göz atın: PDF'leri Dönüştürme

Daha gelişmiş senaryolar için, IronPDF'yi Blazor uygulamalarında kullanma için ek entegrasyon desenleri ve en iyi uygulamaları kapsayan Blazor öğreticimizi inceleyin.

Sıkça Sorulan Sorular

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

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

Blazor Sunucusunda Razor'u PDF'ye dönüştürmek için gerekli NuGet paketleri hangileridir?

IronPdf.Extensions.Blazor paketine ihtiyacınız var, bu paket temel IronPDF kütüphanesini bağımlılık olarak otomatik olarak içerir. Install-Package IronPdf.Extensions.Blazor komutunu kullanarak yükleyin.

Razor bileşenlerini PDF'ye dönüştürürken özel başlıklar ve altbilgiler ekleyebilir miyim?

Evet, IronPDF, Razor bileşenlerinizi PDF'ye dönüştürürken başlıklar, altbilgiler ve sayfa biçimlendirmesi için tam özelleştirme seçenekleri sunar.

Neden Blazor Server, Razor bileşenlerinden PDF oluşturma için ö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 kılar. Bu mimari, IronPDF'nin oluşturmanın sunucu tarafında gerçekleşmesini sağlar, böylece 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 yeniden yapıya sokmam gerekir mi?

Hayır, IronPdf.Extensions.Blazor paketi mevcut Razor bileşenlerinizi geniş çaplı bir yeniden yapılanma olmadan 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 Razor bileşenime verileri nasıl geçiririm?

Verileri RenderRazorComponentToPdf yönteminde bir Dictionary parametresi kullanarak geçebilirsiniz. Örneğin: new Dictionary { {"persons", personsList} } burada "persons" parametre adı ve personsList sizin verinizdir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.