[VB.NET] PDF.jsをASP.NETプロジェクトに導入する

VS2019で、ASP.NETプロジェクトにPDF.jsのパッケージを導入してみます。
PDF.jsは、PDFをダウンロードしないでJavaScriptで描画してくれる便利なライブラリです。
サンプルを表示するビューワーも付属していて使い方の参考になるし、導入も簡単です。

パッケージをダウンロード

ダウンロードページからパッケージをダウンロードします。

Prebuilt > Stable(v x.x.x)をクリックします。今回はv2.10.377を使ってみます。
クリックするとzipファイルがダウンロードされます。

パッケージをプロジェクトに導入

パッケージをプロジェクトに導入します。
といっても解凍したフォルダを丸ごとコピーするしてプロジェクトに追加するだけです。
まずはダウンロードしたZipファイルを解凍します。

解凍した「pdfjs-2.10.377-dist」フォルダを、丸ごとWebプロジェクトの「Scripts」フォルダに入れます。

次にVisualStudioのソリューションエクスプローラにある「すべてのファイルを表示」ボタンを押します。
すると「Scripts」フォルダの下に先ほどコピーした「pdfjs-2.10.377-dist」フォルダが表示されるので、右クリックメニューから「プロジェクトに含める」を クリックすればOKです。

サンプルを表示

さっそくサンプルを表示してみます。
PDF.jsにはサンプル表示用のビューワー(viewer.html)が用意されているので、それをそのまま表示してみます。

Webプロジェクトを実行して、ビューワーページを開きます。
アドレスを「Scripts/pdfjs-2.10.377-dist/web/viewer.html」にして開くと、サンプルのPDFが表示されました。
すばらしいですね。すごいなぁ。

※表示されているPDFファイルは、Scriptフォルダ下にコピーしたパッケージ(pdfjs-2.10.377-dist\web)内に入ってます。

Nugetでインストールを試す

ちなみにNugetのパッケージ管理画面でPDF.jsを検索すると、v1.3.91(安定版)というパッケージが出てきます。
ずいぶん古いですが、試しにこのバージョンを管理画面から入れようとしたら、エラーになりました。

パッケージ 'PDF.js 1.3.91’ をインストールできませんでした。このパッケージを '.NETFramework,Version=v4.7.2’ を対象とするプロジェクトにインストールしようとしていますが、そのフレームワークと互換性があるアセンブリ参照またはコンテンツ ファイルがパッケージに含まれていません。詳細については、パッケージの作成者に問い合わせてください。

フレームワークのバージョンがどうこうメッセージにはありますが、
VS2019を立ち上げなおして、今度はコンソールからインストールしてみたところ、これは成功。
理由がさっぱりわかりません。何を言っているのかわからねーと思うが・・・というやつです。

パッケージ マネージャー コンソール ホストのバージョン 5.6.0.6591

利用可能なすべての NuGet コマンドを参照するには、'get-help NuGet' を入力します。

PM> Install-Package PDFjs -Version 1.3.91


'.NETFramework,Version=v4.7.2' を対象とするプロジェクト 'WebApplication1' に関して、パッケージ 'PDFjs.1.3.91' の依存関係情報の収集を試行しています
依存関係情報の収集に 13 ms かかりました
DependencyBehavior 'Lowest' でパッケージ 'PDFjs.1.3.91' の依存関係の解決を試行しています
依存関係情報の解決に 0 ms かかりました
パッケージ 'PDFjs.1.3.91' をインストールするアクションを解決しています
パッケージ 'PDFjs.1.3.91' をインストールするアクションが解決されました
'nuget.org' からパッケージ 'PDFjs 1.3.91' を取得しています。
パッケージ 'PDFjs.1.3.91' をフォルダー 'D:\pdf\WebApplication1\packages' に追加しています
パッケージ 'PDFjs.1.3.91' をフォルダー 'D:\pdf\WebApplication1\packages' に追加しました
パッケージ 'PDFjs.1.3.91' を 'packages.config' に追加しました
'PDFjs 1.3.91' が WebApplication1 に正常にインストールされました
NuGet の操作の実行に 2.05 min かかりました
経過した時間: 00:02:03.3199406
PM> 

ギャラリーではv1.9.426が比較的新しいようです。これもコンソールからならインストールできます。
(v1.10.100は廃止されている模様)

パッケージ マネージャー コンソール ホストのバージョン 5.6.0.6591

利用可能なすべての NuGet コマンドを参照するには、'get-help NuGet' を入力します。

PM> Install-Package PDFjs -Version 1.9.426


'.NETFramework,Version=v4.7.2' を対象とするプロジェクト 'WebApplication1' に関して、パッケージ 'PDFjs.1.9.426' の依存関係情報の収集を試行しています
依存関係情報の収集に 38 ms かかりました
DependencyBehavior 'Lowest' でパッケージ 'PDFjs.1.9.426' の依存関係の解決を試行しています
依存関係情報の解決に 0 ms かかりました
パッケージ 'PDFjs.1.9.426' をインストールするアクションを解決しています
パッケージ 'PDFjs.1.9.426' をインストールするアクションが解決されました
'nuget.org' からパッケージ 'PDFjs 1.9.426' を取得しています。
パッケージ 'PDFjs.1.9.426' をフォルダー 'D:\pdf\WebApplication1\packages' に追加しています
パッケージ 'PDFjs.1.9.426' をフォルダー 'D:\pdf\WebApplication1\packages' に追加しました
パッケージ 'PDFjs.1.9.426' を 'packages.config' に追加しました
'PDFjs 1.9.426' が WebApplication1 に正常にインストールされました
NuGet の操作の実行に 1.69 min かかりました
経過した時間: 00:01:41.9340648
PM> 

サンプルを実行するとこんな感じでした。


PDFASP.NET,PDF,VB.NET

Posted by itblogks