BlazorサーバーとWebAssemblyの比較:比較
IronPDFはBlazor ServerとBlazor WebAssembly (WASM)をサポートしていますか?
IronPDFはBlazor Serverをサポートしていますが、Blazor WebAssembly (WASM)はサポートしていません。
Blazor ServerでPDFを保存するには、PDFドキュメントストリームをバイト配列に変換し、その後JavaScript関数に渡してダウンロードを促します。
Blazor ServerアプリケーションでPDFドキュメントをバイト配列に変換し、JavaScriptでダウンロードをトリガーする方法の例を以下に示します。
@page "/pdfdownload"
@inject IJSRuntime JSRuntime
@* A button to download the PDF *@
<button @onclick="DownloadPDF">Download PDF</button>
@code {
private async Task DownloadPDF()
{
// Create a PDF document using IronPDF (this is hypothetical code)
var renderer = new IronPdf.HtmlToPdf();
var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Convert PDF document to a byte array
byte[] pdfBytes = pdfDocument.BinaryData;
// Call the JavaScript function to download the PDF
await JSRuntime.InvokeVoidAsync("downloadFile", pdfBytes, "example.pdf");
}
}@page "/pdfdownload"
@inject IJSRuntime JSRuntime
@* A button to download the PDF *@
<button @onclick="DownloadPDF">Download PDF</button>
@code {
private async Task DownloadPDF()
{
// Create a PDF document using IronPDF (this is hypothetical code)
var renderer = new IronPdf.HtmlToPdf();
var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Convert PDF document to a byte array
byte[] pdfBytes = pdfDocument.BinaryData;
// Call the JavaScript function to download the PDF
await JSRuntime.InvokeVoidAsync("downloadFile", pdfBytes, "example.pdf");
}
}PDFダウンロードを処理するための対応するJavaScript関数を以下に示します。 これを_Host.cshtmlまたはindex.htmlファイルに含めることを確認してください。
<script>
// Function to download a file from a byte array in JavaScript
function downloadFile(fileBytes, fileName) {
// Convert byte array to a Blob
const blob = new Blob([fileBytes], { type: 'application/pdf' });
// Create a link element for downloading the file
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
// Append the link to the body, trigger it, and remove it afterwards
document.body.appendChild(link); // Required for Firefox
link.click();
document.body.removeChild(link);
}
</script><script>
// Function to download a file from a byte array in JavaScript
function downloadFile(fileBytes, fileName) {
// Convert byte array to a Blob
const blob = new Blob([fileBytes], { type: 'application/pdf' });
// Create a link element for downloading the file
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
// Append the link to the body, trigger it, and remove it afterwards
document.body.appendChild(link); // Required for Firefox
link.click();
document.body.removeChild(link);
}
</script>主なポイント:
- Blazor Serverはサーバーサイド操作を可能にし、C#コードをサーバー上で直接実行できます。
- Blazor WebAssemblyはクライアントサイドで動作し、IronPDFのようなサーバーサイドリソースに直接アクセスすることはできません。
Blazor Serverの完全なチュートリアルは私たちのウェブサイトでご覧いただけます: Blazor Server Tutorial






