PDFium で PDF を読む(32bit)
#VisualStudio #VisualStudio2019 #プログラミング
目的
Window10 上で Visual Studio 2019 を用いて、実際に動くデスクトップ・アプリケーションを作成します。具体的には、PDF ファイルを読み込み、一部のページをまるごと画像化し、その画像をアプリケーションの表面に画像として表示します。PDF ファイルを読み込むために、Google が提供している NuGet の PDFium というライブラリを使用するので、設定の仕方などをメモします。
まず起動
新しいプロジェクトの作成をします。
以前の選択が残っています。
起動したら、NuGetでパッケージを追加します。
NuGet パッケージの追加
プロジェクト > NuGet パッケージの管理 をクリックします。
最初は、「インストール済み」になっているので、左の「参照」をクリックします。
検索窓が現れます。ので「PDFium」と入力します。
PDFium と入力すると、おそらく以下のような表示になります。このうち、ハイライトした2つををインストールします。
クリックすると、右側にイントールボタンが現れます。
インストールが完了しているか否かを、確認します。
「インストール済み」のタブをクリックします。
次のようになっていれば、インストールは完了です。
プログラムを記述する
コードエディタを開いて、プログラムを記述します。
ア、ライブラリの設定
最初の段階では、ライブラリは次のとおりですが、
今回、使用する PDFium の使用を宣言して、不要なものは削除します。
using PdfiumViewer;
イ、全体で使用する変数を記述する
PDF ファイルを画像に変換するときに、「解像度」が必要なので、ReadOnly で定義しておきます。
readonly int resolution = 150;
これを記述するのは、この位置です。
イ、PDF ファイルを読み込む
「ファイルを開く」という機能を利用して読み込むPDFファイルを指定し、そのファイルの名称を「ReadFileName」という変数に格納します。
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
string ReadFileName = ofd.FileName;
ウ、最初のページをイメージに変換する
PDF ファイルそのものを示す変数「pdfdoc」に、当該 PDF ファイルを読み込みます。最初のページのタテ・ヨコのサイズを調べ、そのサイズと解像度を利用して、画像に変換(Render)します。
PdfiumViewer.PdfDocument pdfdoc = PdfDocument.Load(ReadFileName);
SizeF size = pdfdoc.PageSizes[0];
int w = (int)size.Width * resolution / 72;
int h = (int)size.Height * resolution / 72;
Image image = pdfdoc.Render(0, w, h, resolution, resolution, false);
エ、アプリケーションにイメージを表示する
アプリケーション全体のサイズを 1400x900 にします。アプリケーション全体の BackGroundColor は blue にします。中の PictureBox のサイズは、1350x850 にします。この PictureBox に画像を表示させます。
this.Size = new Size(1400, 900);
this.BackColor = Color.Blue;
PictureBox pBox = new PictureBox();
this.Controls.Add(pBox);
pBox.Size = new Size(1350, 850);
pBox.Image = image;
オ、画像をファイルとして保存する。
プロジェクト全体は、「hoge」というフォルダに作成したので、同じフォルダに画像として保存します。
image.Save("C:\\hoge\\test.png", System.Drawing.Imaging.ImageFormat.Png);
実行したときの様子
今回は、情報通信白書を画像してみました。
このファイルをダウンロードして、「hoge」フォルダに格納します。
プログラムを起動します。
ファイルを指定し、開くをクリックします。
右側と下に余白ができた状態で、画像化されます。
「hoge」フォルダを見てみると、ファイルができています。
開いてみると、全体が画像化されていることがわかります。
実行ファイルはどこにあるのか。実行するには何が必要か。
実行ファイルは、次のフォルダにあります。
このファイルと、「DLL」が2つ必要です。ひとつは、PdfiumViewer.dll です。もうひとつは、次のフォルダにあります。
この「pdfuim.dll」が必要です。そこで、これら3つのファイルを「hoge」フォルダにコピーし、他のファイルをすべて消してみます。
この状態で、「20200920.exe」をダブルクリックすると、ちゃんと動くことが確認できます。
この記事が気に入ったらサポートをしてみませんか?