【Blazor】 iframeでPDFを表示する
- サンプルコード
- base64を使って表示
- まとめ
目次
サンプルコード

以下のサンプルコードになります。
@page "/"
@inject IJSRuntime JSRuntime
@inject IWebHostEnvironment WebHostEnvironment
<PageTitle>Index</PageTitle>
<h1>PDFをiframeを表示する</h1>
@if (pdfUrl != null)
{
<iframe src="@pdfUrl" width="100%" height="600px"></iframe>
}
@code{
public string? pdfUrl = $"/download/Test.pdf";
}
<iframe>では、srcにファイルのパスを設定することで、PDFを表示することができます。 そのため、C#側からsrcへテスト用のPDFまでのパス/download/Test.pdfをセットしています。
実際に実行すると、以下のようになります。PDFが表示されることを確認してみてください。
base64を使って表示

base64を使って、PDFを表示することもできます。 base64については、以下記事に読むと理解が深まると思います。
以下base64を使ったサンプルコードになります。
@page "/"
@inject IJSRuntime JSRuntime
@inject IWebHostEnvironment WebHostEnvironment
<PageTitle>Index</PageTitle>
<h1>PDFをiframeを表示する</h1>
@if (pdfUrl != null)
{
<iframe src="@pdfUrl" width="100%" height="600px"></iframe>
}
@code{
public string? pdfUrl = $"/download/Test.pdf";
}
wwwroot/download/Test.pdfからbyte配列で読み込んだ後、Convert.ToBase64Stringでbase64へ変換しています。
今回はファイルを読み込んでbase64をセットしていますが、あらかじめ変換したbase64を静的ファイルとして組み込んでおけば、 ファイル読み込む処理を省くこともできます。
まとめ

今回は、iframeを使ってPDFを表示する方法について解説しました。
PDFの内容を確認したり、印刷したりすることができるので、簡単な帳票アプリなら利用できるかもしれません。 使う機会があれば、使ってみてください。
この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?
合わせて読みたい

カレンダー(DatePicker)から値を取得する
Blazorで<input type="date">を使いカレンダー(DatePicker)から日付を取得する方法を解説。サンプルコード、日付範囲設定を紹介。
更新日:2024/06/25

ページをリロードする
Blazorでページをリロードする方法について解説します。JavaScriptのlocation.reloadを利用する方法や、NavigationManager.NavigateToメソッドでforceLoadオプションを使ったリロード方法を紹介します。使い分けにより、ページの状態を適切に管理できます。
更新日:2024/08/29