GUI対応したPDFをページごとに画像変換(PNG/BMP/JPEG/GIF/TIFF形式)するツール [WPF]

木曜日 , 3, 2月 2022 3 Comments

PDFをページごとに画像変換(PNG形式)するツール』にGUIをつけてみました。
基本的な操作はコマンド版と同じで、変換元PDF、変換後の画像ファイル保存先、DPI(解像度)を指定し実行ボタンを押すと処理が始まります。画像ファイルに変換後、指定フォルダの内容をGUIアプリケーションの画面下部に一覧表示します。

※2022/02/03 複数の画像形式(PNG/BMP/JPEG/GIF/TIFF)に対応しました。
ウインドウにPDFをドラッグアンドドロップすることで変換元PDFファイルの指定を行えるようにしました。
変換後画像ファイル保存先のフォルダを省略した場合、デスクトップにPDFファイル名+タイムスタンプのフォルダを作成し保存するようにしました。

※2022/02/05 Microsoft OCRを使ったPDFのテキスト化機能を追加しました。

Ver 1.1.1の実行例(画像変換後)

ダウンロード

ソースコードからビルドする際の注意事項

このプログラムはWinRT APIを使用しています。

NuGetなどでMicrosoft.Windows.SDK.Contractsをインストールしてください。

Microsoft.Windows.SDK.Contractsをインストールするためにプロジェクトの形式をPackageReferenceに移行する必要があるかも知れません。

移行の手順は『packages.config から PackageReference への移行』に詳しく記載されています。

移行が行えない環境の場合は、UwpDesktopなどWinRT呼び出しのために必要なパッケージをプロジェクトに追加することで解決できる可能性があります。

ビルド

※ソースコードから実行プログラムを作成するしたい場合、以下の手順で行うことができます。

  1. ダウンロードしたソース一式を展開しお使いのVisual Studioに読み込みます。※Visual Studioをお持ちでない場合、こちらからCommunity版が無償で入手可能です。
  2. Visual Studio中のNuGetの復元を行い必要なファイルをダウンロードします。2022-01-24-1_thumb1
  3. ビルドします。

使い方

配布されているZIPファイルを展開し適当なフォルダに展開します。
フォルダに含まれるアプリケーション(PDF2PNGUI.exe)をダブルクリックして起動します。
起動すると下図の画面が表示されます。

変換元PDFパス、変換後画像ファイル保存先、解像度、形式を入力します。
「選択」ボタンをクリックするとファイル選択ダイアログ、フォルダ選択ダイアログが開きます。

※変換元PDFパスはPDFファイルをドラッグアンドドロップしても指定できます。
※変換後画像ファイル保存先を省略した場合、デスクトップにPDFファイル名+タイムスタンプでフォルダを作成し保存します。
デフォルトは省略モードで、チェックボックスをONにすると保存先の選択を行うことができます。

Ver 1.1.1の実行例

「Microsoft OCRを使ってPDFの内容をテキスト化する」チェックボックスをONにすると、画像変換時にOCR処理を行いテキスト化します。テキスト化されたデータは変化後画像ファイルの保存先フォルダに出力されます。

実行ボタンをクリックすると処理が始まります。
パラメータが付属している場合などにはエラーメッセージが表示されるので表示内容に従い入力値を修正してください。

変換処理に成功した場合、指定されたフォルダに画像ファイルが保存されると同時にアプリケーション画面の下部に変換された画像ファイルが一覧表示されます。処理後の画像ファイルフォルダの状態

※連続して処理を行うとメモリ不足などで処理が失敗する場合があります。その場合は、アプリケーションを再起動してください。
※DPIに大きな値を指定すると画像変換の際に多くのメモリを必要とします。DPIには適切な値を指定してください。
※変換後画像ファイル保存先として指定されたフォルダに同名のファイルが存在した場合、上書きされるので注意してください。

※OCR機能を使う場合、著作権の取り扱いに十分にご注意ください。
著作権の対象となる著作物をOCRを使い読み取るためには著作権者の承諾が必要となる場合があります。

OCRの精度

PDFを画像ファイルに変換するときに生成する画像データを使いMicrosoft OCRでテキスト化を行っています。
PDFの種類(画像であるかテキストであるかなど)・状態(フォントの種類や大きさなど)、変換時のDPI指定によりOCRの認識精度が変化しますのでご注意ください。
文字のあいだに空白などが入り込む傾向があるので正規表現などで取り除くなどの工夫をすれば比較的綺麗なテキストデータが入手できます。
OCRでテキスト化したサンプルを下図に掲載します。

  • Excelで作成した画像貼り付けを含む説明図をテキスト化

OCRを使ったテキスト化の例

OCRテキスト化の例

更新履歴

    • 2022/02/03 Ver.1.0 初版公開
    • 2022/02/05 Ver.1.1 複数の画像形式に対応。ドラッグアンドドロップに対応。
    • 2022/02/05 Ver.1.1.1 Microsoft OCRを使ったテキスト化に対応。

注意事項

    • PDFの品質・再現度は、マイクロソフト社の提供するAP(Windows.Data.Pdf)に依存しています。
      特に印刷・デザイン業務などでお使いの方は業務で使用するに十分な品質・再現度が確保されているか事前に十分にご確認の上ご使用ください。

 

3 thoughts on “ : GUI対応したPDFをページごとに画像変換(PNG/BMP/JPEG/GIF/TIFF形式)するツール [WPF]”
  • […] 指定されたPDFをページごとに分解、指定解像度の画像ファイル(PNGファイル)に変換したのち、指定ディレクトリに保存するWindows用プログラムを作成したので公開します。 ひとつのPDFから下図のように複数のPNG形式の画像ファイルに変換することができます。※2022/02/03 14:00 GUI対応版を公開しました。 […]

  • […] ※2022/02/05 『GUI対応したPDFをページごとに画像変換(PNG/BMP/JPEG/GIF/TIFF形式)するツール [WPF…』で応用アプリケーションを掲載しました。 […]

  • […] ※実行画面のサンプルとして、青空文庫で公開されている『吾輩は猫である』のスクリーンショットを使用しました。※2022/02/05 『GUI対応したPDFをページごとに画像変換(PNG/BMP/JPEG/GIF/TIFF形式)するツール [WPF…』で応用アプリケーションを掲載しました。 […]

  • Microsoft OCRを用いてPDFからテキストを抽出する – RIALAB. へ返信する コメントをキャンセル

    メールアドレスが公開されることはありません。

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください