// PM > Install-Package IronPdf.Extensions.Blazor
[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
protected override async Task OnInitializedAsync()
{
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
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
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}
' PM > Install-Package IronPdf.Extensions.Blazor
<Parameter>
Public Property persons() As IEnumerable(Of PersonInfo)
Public Property Parameters() As New Dictionary(Of String, Object)()
Protected Overrides Async Function OnInitializedAsync() As Task
persons = New List(Of PersonInfo) From {
New PersonInfo With {
.Name = "Alice",
.Title = "Mrs.",
.Description = "Software Engineer"
},
New PersonInfo With {
.Name = "Bob",
.Title = "Mr.",
.Description = "Software Engineer"
},
New PersonInfo With {
.Name = "Charlie",
.Title = "Mr.",
.Description = "Software Engineer"
}
}
End Function
Private Async Sub PrintToPdf()
Dim renderer As New ChromePdfRenderer()
' Apply text footer
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.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
Dim pdf As PdfDocument = renderer.RenderRazorComponentToPdf(Of Person)(Parameters)
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData)
End Sub
Install-Package IronPdf
Razor에서 PDF로 변환(Blazor 서버)
이 예제는 Razor 컴포넌트를 PDF 문서로 변환하는 방법을 보여줍니다.
IronPdf.Extensions.Blazor 패키지는 메인 IronPDF 패키지의 확장입니다. Razor 구성 요소의 콘텐츠 페이지를 PDF로 변환하려면, IronPdf.Extensions.Blazor과(와) 기본 IronPdf 패키지가 모두 필요합니다.
아래 코드 예제에서는 PersonInfo이라는 모델이 이미 생성되었습니다. OnInitializedAsync 메서드에서는, 여러 새로운 PersonInfo 개체를 personsList에 삽입합니다. 그런 다음, personsList을(를) Parameters 사전에서 "persons"라는 문자열과 연결합니다.
PrintToPdf 메서드에서는 ChromePdfRenderer 클래스를 인스턴스화합니다. Razor 구성 요소를 PDF 문서로 변환하려면, RenderRazorComponentToPdf 메서드를 사용합니다. 코드 예제에서는 Parameters 사전을 메서드에 전달하여 렌더링합니다.