しかし、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のサンプルコードに付属のメソッドです。
0 件のコメント :
コメントを投稿