
【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スキルを飛躍的に向上させませんか?
合わせて読みたい

タイマーを使ったコンポーネント
Blazorの記事では、System.Timers.Timerクラスを使用して、1秒ごとに色が変わるカラーボックスを作成する方法を解説します。このタイマーは、定期的なイベント処理に有用で、リアルタイムのデータ更新やバックグラウンド処理に適しています。Blazorアプリでタイマー機能を実装したい場合に役立つ内容です。
更新日:2024/06/05

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