PDFium で PDF を読む(64bit)
#VisualStudio #VisualStudio2019 #プログラミング
目的
前回と、目的は、ほぼ同じです。「Window10 上で Visual Studio 2019 を用いて、実際に動くデスクトップ・アプリケーションを作成します。具体的には、PDF ファイルを読み込み、一部のページをまるごと画像化し、その画像をアプリケーションの表面に画像として表示します。PDF ファイルを読み込むために、Google が提供している NuGet の PDFium というライブラリを使用するので、設定の仕方などをメモします。」
ただし、今回は、「64bitで動かすにはどうすればよいのか」が主題です。
64bit 用のライブラリを使用する
NuGet で使用するライブラリが 64bit 用になります。
プログラム
プログラムは変更ありません。
using PdfiumViewer;
using System.Drawing;
using System.Windows.Forms;
namespace _20200922
{
public partial class Form1 : Form
{
readonly int resolution = 150;
public Form1()
{
InitializeComponent();
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
string ReadFileName = ofd.FileName;
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);
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;
image.Save("C:\\hoge\\test64.png", System.Drawing.Imaging.ImageFormat.Png);
}
}
}
設定を64ビット用に変える
もしも、設定を変更しないで実行すると、次のようなエラーが発生します。
これは、Visual Studio の設定が 32bit なのに、64bit のライブラリを使用しようとしているために発生するエラーです。そこで、次のように設定を変更します。
まず、プログラムそのものを停止させます。
その後、設定を変更します。
次のように変更して、
保存します。
実行ファイルが違うものになる
使用するライブラリは、「名前は同じなのに、中身が違う」ものになりますので、注意します。
64bit の pdfium.dll は、15,437 KB です。ところが、以前、使用した pdfium.dll は、
上のとおり、13,315 KB で、大きさが異なり、別のファイルです。そこで、以前、使用したものを名前を変えておきます。
ここに、今回のファイルをコピーします。
すると、今度は、正常に動きます。
この記事が気に入ったらサポートをしてみませんか?