見出し画像

PDFium で PDF を読む(32bit)

#VisualStudio #VisualStudio2019 #プログラミング

目的

Window10 上で Visual Studio 2019 を用いて、実際に動くデスクトップ・アプリケーションを作成します。具体的には、PDF ファイルを読み込み、一部のページをまるごと画像化し、その画像をアプリケーションの表面に画像として表示します。PDF ファイルを読み込むために、Google が提供している NuGet の PDFium というライブラリを使用するので、設定の仕方などをメモします。

まず起動

新しいプロジェクトの作成をします。

画像1

以前の選択が残っています。

画像2

画像3

起動したら、NuGetでパッケージを追加します。

NuGet パッケージの追加

プロジェクト > NuGet パッケージの管理 をクリックします。

画像4


最初は、「インストール済み」になっているので、左の「参照」をクリックします。

画像5


検索窓が現れます。ので「PDFium」と入力します。

画像6


PDFium と入力すると、おそらく以下のような表示になります。このうち、ハイライトした2つををインストールします。

画像36


クリックすると、右側にイントールボタンが現れます。

画像8

画像9


インストールが完了しているか否かを、確認します。

画像10


「インストール済み」のタブをクリックします。

画像11


次のようになっていれば、インストールは完了です。

画像12

プログラムを記述する

コードエディタを開いて、プログラムを記述します。

画像13

画像14

ア、ライブラリの設定

最初の段階では、ライブラリは次のとおりですが、

画像15

今回、使用する PDFium の使用を宣言して、不要なものは削除します。

using PdfiumViewer;

画像16

イ、全体で使用する変数を記述する

PDF ファイルを画像に変換するときに、「解像度」が必要なので、ReadOnly で定義しておきます。

readonly int resolution = 150;

これを記述するのは、この位置です。

画像19

イ、PDF ファイルを読み込む

「ファイルを開く」という機能を利用して読み込むPDFファイルを指定し、そのファイルの名称を「ReadFileName」という変数に格納します。

OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
string ReadFileName = ofd.FileName;

画像19

ウ、最初のページをイメージに変換する

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);

画像19

エ、アプリケーションにイメージを表示する

アプリケーション全体のサイズを 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;

画像20

オ、画像をファイルとして保存する。

プロジェクト全体は、「hoge」というフォルダに作成したので、同じフォルダに画像として保存します。

image.Save("C:\\hoge\\test.png", System.Drawing.Imaging.ImageFormat.Png);

画像21

実行したときの様子

今回は、情報通信白書を画像してみました。

画像22

このファイルをダウンロードして、「hoge」フォルダに格納します。

画像23

プログラムを起動します。

画像24

ファイルを指定し、開くをクリックします。

画像25

右側と下に余白ができた状態で、画像化されます。

画像26

「hoge」フォルダを見てみると、ファイルができています。

画像27

開いてみると、全体が画像化されていることがわかります。

画像28

実行ファイルはどこにあるのか。実行するには何が必要か。

実行ファイルは、次のフォルダにあります。

画像29

画像30

画像31

画像33

このファイルと、「DLL」が2つ必要です。ひとつは、PdfiumViewer.dll です。もうひとつは、次のフォルダにあります。

画像33

画像34

この「pdfuim.dll」が必要です。そこで、これら3つのファイルを「hoge」フォルダにコピーし、他のファイルをすべて消してみます。

画像35

この状態で、「20200920.exe」をダブルクリックすると、ちゃんと動くことが確認できます。



この記事が気に入ったらサポートをしてみませんか?