皆さん、こんにちは!
上越市を拠点にし、「FA設備・装置開発」と「画像処理」に強い会社、NSIです!
私達は豊富な経験と専門知識で、各種業界の自動化・システム化のお手伝いをしています。
今回はC#でPDFを表示する方法をまとめていきます。
C#で簡単にPDFを表示したい! という方に、この記事が役に立てれば嬉しいです。
C#でPDFを表示するメリットとは?
PDFを表示するには、PDFビューアを使ったり、ブラウザで表示したりするのが一般的です。
上記の方法があるので、わざわざC#でPDFを表示する意味はないように思えますが、実はC#でPDFを表示できるというのは大きな利点です。
例えば、「ある検査が終わったら検査結果のPDFを生成して保存し、最新の結果を表示する」というようなシステムがあったとしましょう。
PDFビューアやブラウザを使用する場合、外部のソフトであるため、「最新のPDFを選択して表示する」という操作を人が行う必要があります。
しかし、C#でPDFを表示する場合、PDFの生成から表示までを1つのソフトとしてまとめて実行することができます。
そのため、「保存が終わったら最新のPDFを表示する」という処理を作成すれば、人が操作する必要はなくなります。
つまり、C#でPDFを表示するメリットとして、拡張性が高い というのが上げられます。
C#でPDFを表示するのって意外と面倒?
ネットで「C# PDF 表示」と調べると、表示する方法はいくつか出てきます。
ただ、外部のSDKを使う方法がほとんどで、インストールや参照などを考えるとやや手間がかかります。
しかし!
WebBrowserコントロールを使うことで、外部SDKを使わず、簡単にPDFが表示できます。
WebBrowserはWebコンテンツを表示するための、VisualStudio標準のコントロールです。
動作としては、ブラウザ上でPDFを閲覧しているイメージとなります。
WebBrowserを使ってPDFを表示する
早速、WebBrowserでPDFを表示するプログラムを作成していきます。
1. 画面作成
まず、Windowsフォームアプリケーション(.NET Framework)のプロジェクトを作成します。
プロジェクトが作成できたら、以下の画面を作成します。
2. 処理記述
「button1」ボタンのクリックイベントに以下の処理を記述します。
ダイアログから選択したPDFファイルをWebBrowserコントロールに表示します。
private void button1_Click(object sender, EventArgs e)
{
// ファイル選択ダイアログ
using(OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Filter = "PDFファイル(*.pdf)|*.pdf|すべてのファイル(*.*)|*.*";
if(ofd.ShowDialog() == DialogResult.OK)
{
// ブラウザ表示用に先頭に「file:///」を付与
string pdf = "file:///" + ofd.FileName;
// 表示
label1.Text = pdf; // PDFのパス
webBrowser1.Navigate(pdf); // PDF
}
}
}
3. 処理実行
「読込」ボタンをクリックし、PDFファイルを選択します。
今回は会社案内を表示してみました。
複数ページあっても、問題なく表示することができました!
最後に
今回はWebBrowserコントロールを使って、C#で簡単にPDFを表示する方法についてまとめました。
外部SDKを使わないので、配布時のライセンスを気にしなくていいのもポイントです。
ここまで読んでいただき、ありがとうございました。
ご質問やご要望、ご相談などありましたら、下記お問い合わせフォームからお気軽にご連絡ください。
http://www.net-nsi.co.jp/toiawase.html