『PDFをページごとに画像変換(PNG形式)するツール』にGUIをつけてみました。
基本的な操作はコマンド版と同じで、変換元PDF、変換後の画像ファイル保存先、DPI(解像度)を指定し実行ボタンを押すと処理が始まります。画像ファイルに変換後、指定フォルダの内容をGUIアプリケーションの画面下部に一覧表示します。
※2022/02/03 複数の画像形式(PNG/BMP/JPEG/GIF/TIFF)に対応しました。
ウインドウにPDFをドラッグアンドドロップすることで変換元PDFファイルの指定を行えるようにしました。
変換後画像ファイル保存先のフォルダを省略した場合、デスクトップにPDFファイル名+タイムスタンプのフォルダを作成し保存するようにしました。
※2022/02/05 Microsoft OCRを使ったPDFのテキスト化機能を追加しました。
このプログラムはWinRT APIを使用しています。
NuGetなどでMicrosoft.Windows.SDK.Contractsをインストールしてください。
Microsoft.Windows.SDK.Contractsをインストールするためにプロジェクトの形式をPackageReferenceに移行する必要があるかも知れません。
移行の手順は『packages.config から PackageReference への移行』に詳しく記載されています。
移行が行えない環境の場合は、UwpDesktopなどWinRT呼び出しのために必要なパッケージをプロジェクトに追加することで解決できる可能性があります。
※ソースコードから実行プログラムを作成するしたい場合、以下の手順で行うことができます。
配布されているZIPファイルを展開し適当なフォルダに展開します。
フォルダに含まれるアプリケーション(PDF2PNGUI.exe)をダブルクリックして起動します。
起動すると下図の画面が表示されます。
変換元PDFパス、変換後画像ファイル保存先、解像度、形式を入力します。
「選択」ボタンをクリックするとファイル選択ダイアログ、フォルダ選択ダイアログが開きます。
※変換元PDFパスはPDFファイルをドラッグアンドドロップしても指定できます。
※変換後画像ファイル保存先を省略した場合、デスクトップにPDFファイル名+タイムスタンプでフォルダを作成し保存します。
デフォルトは省略モードで、チェックボックスをONにすると保存先の選択を行うことができます。
「Microsoft OCRを使ってPDFの内容をテキスト化する」チェックボックスをONにすると、画像変換時にOCR処理を行いテキスト化します。テキスト化されたデータは変化後画像ファイルの保存先フォルダに出力されます。
実行ボタンをクリックすると処理が始まります。
パラメータが付属している場合などにはエラーメッセージが表示されるので表示内容に従い入力値を修正してください。
変換処理に成功した場合、指定されたフォルダに画像ファイルが保存されると同時にアプリケーション画面の下部に変換された画像ファイルが一覧表示されます。
※連続して処理を行うとメモリ不足などで処理が失敗する場合があります。その場合は、アプリケーションを再起動してください。
※DPIに大きな値を指定すると画像変換の際に多くのメモリを必要とします。DPIには適切な値を指定してください。
※変換後画像ファイル保存先として指定されたフォルダに同名のファイルが存在した場合、上書きされるので注意してください。
※OCR機能を使う場合、著作権の取り扱いに十分にご注意ください。
著作権の対象となる著作物をOCRを使い読み取るためには著作権者の承諾が必要となる場合があります。
PDFを画像ファイルに変換するときに生成する画像データを使いMicrosoft OCRでテキスト化を行っています。
PDFの種類(画像であるかテキストであるかなど)・状態(フォントの種類や大きさなど)、変換時のDPI指定によりOCRの認識精度が変化しますのでご注意ください。
文字のあいだに空白などが入り込む傾向があるので正規表現などで取り除くなどの工夫をすれば比較的綺麗なテキストデータが入手できます。
OCRでテキスト化したサンプルを下図に掲載します。
[…] 指定された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…』で応用アプリケーションを掲載しました。 […]