[WPF]PdfiumViewerを使ったPDFの表示

PDFファイルを読み込みを行う場合、Windows Storeアプリ用のAPI PdfDocumentは用意されています。
しかし、WPF用のAPIは残念ながら用意されていません。
Webを検索した結果、完全マネージドで書かれているPDFの表示用ライブラリは見つかりませんでした。Win32 DLLをラッピングしている表示用ライブラリでライセンス条件が緩い(Apache License Ver.2.0)なのが、PdfiumViewerです。
本記事では、PdfiumViewerを使用してWPFでPDFを標示する方法を記載します。

1.NuGetを使用してSharpCompressをプロジェクトに追加する。

(1)メニューの[ツール]-[NuGetパッケージマネージャー]-[ソリューションのNuGetパッケージの管理]を選択します。
(2)[参照]を選択し、[PdfiumViewer]を検索します。
(3)使用するプロジェクトにチェックを入れ、インストールを選択します。

2.追加されたpdfium.dllをx86/x64ともにプロパティを開き、「新しい場合はコピーする」に変更します


3.使用するソースコードに名前空間の参照を追加します。

using PdfiumViewer;
    

4.PDFファイルを開く処理を追加します。

PdfDocument pdfDoc = PdfDocument.Load(fileName);

5.指定ページをレンダリングします。

System.Drawing.Image image = pdfDoc.Render(page, 96, 96, false);

6.WPFのImageに設定できるようにBitmapSourceに変換します。

BitmapSource bmp = BitmapHelper.ToBitmapSource(image);
※BitmapHelper.ToBitmapSourceはPdfiumViewerのサンプルコードに付属のメソッドです。

7.取得したBitmapSourceを任意のImageに設定します。

ダウンロードは以下からできます。

ダウンロード

0 件のコメント :

コメントを投稿