// 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 딕셔너리를 렌더링 메서드에 전달합니다.