ASP.NET Core MVCでRazorレンダリング結果をPDFで出力

記事イメージ

ASP.NET Core MVCにおいてRazorでレンダリングした結果をPDFで出力したいというシステム要求はままあると思います。私自身もそういったことが出来ればありがたいと思いWeb上を捜索したものの見当たらなかったため、手組みで作成してみました。

今回作成したコードはRazorCoreToPdfという名前で公開してあります。

処理プロセス概要図
処理プロセス概要図

何をするコードなのか?

Razor(cshtmlファイル)はViewModelやC#コードを使ってHTMLを構築するレンダリングエンジンです。これはあくまでブラウザー上に表示するためのHTMLを出力するのですが、業務システムなどを作っていると結果をPDF帳票で出力したいという場面もそこそこの頻度で出くわします。

具体的に動かすと、以下の図のようにRazorのレンダリング結果がPDFファイルとしてダウンロードされます。具体的な処理内容や実装方法についてはソースコード(GitHub)をご確認ください。

リンクをクリックすることで、ダウンロードが実行されます。
リンクをクリックすることで、ダウンロードが実行されます
Razorのレンダリング結果がPDFに反映されています。
Razorのレンダリング結果がPDFに反映されています

既存ライブラリ(RazorPdf)について

ASP.NET MVC(.NET Framework依存)環境下ではRazorPdf(GitHub)というライブラリが公開されています。

ただ、残念ながら.NET(.NET Core)環境下で動かす方法が見つからなかったため、改めて構築したのが今回のソースコードになります。

【社内PR】チーム・ウォーク

記事筆者へのお問い合わせ、仕事のご依頼

当社では、IT活用をはじめ、業務効率化やM&A、管理会計など幅広い分野でコンサルティング事業・IT開発事業を行っております。

この記事をご覧になり、もし相談してみたい点などがあれば、ぜひ問い合わせフォームまでご連絡ください。

皆様のご投稿をお待ちしております。

記事筆者へ問い合わせする

※ご相談は無料でお受けいたします。

この記事へのコメント

ニックネーム(任意)

返信通知先Emailアドレス(任意)

本文


* 感想やご意見等、お気軽にコメントください。但し、公序良俗に反するコメントはお控えください。
* 管理者が承認したコメントはこの箇所に公開させていただく可能性がございます。
* 返信通知先Emailアドレスは、筆者のみに通知され、公開されることはありません。返信通知先Emailを入力された場合は、コメントへの返信をこちらに掲載した際に通知させていただきます。その他の目的には使用いたしません。
* スパム対策のため、コメントは日本語のみ受け付けております。

堺財経電算合同会社 小規模IT構築サービス