CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

PDFアレコレ

(2020/3/29)

●概要
PDFの画像変換やテキスト抽出など、PDFを素材として扱ってアレコレと役立てようというアプリ。他に、プロパティ情報と画面描画と捺印を行うことができる。
今後、さらにアレコレと機能を追加していって、便利なものに仕上げていきたい。

●ダウンロード
pdfArecore20200329

●アプリケーションのつくり
オープンソースのPDFiumを使って、PDFファイル操作を実現している。(正確にはPDFiumをラップしたPDFium Viewerを利用)
PDFiumは、Google社のChromeがPDFレンダリングエンジンとして採用している。PDFiumは「修正BSDライセンス」という比較的ゆるいライセンスであるため、こうしてフリーソフトとして公開することが容易にできる。
Ver2以降でさらにiTextSharpを利用。PDFの編集操作はiTextSharpが得意であるため。

●システム要件
OS:Windwos 8.1, 10のx64 Edition ※Ver2からWindows7とx86 Edition(32bit)を対象外とした
.NET Framework:4.6.1以上
HDD空き容量:26.3MB

●アプリ起動画面

●機能
1.PDFファイル
・ロード
ファイル選択を表示して、PDFをオープンする。エクスプローラからのドラッグ&ドロップでも可。パスワードが設定されたファイルの場合は、パスワード入力画面を表示。
・セーブ
オープンしたファイルをセーブする。
・プロパティ
PDFファイルのプロパティ情報を表示して変更する。タイトル、作成者など。

2.画像変換
・解像度
画像の解像度をDPI値で指定。100~600の選択肢から選択するか、任意の値を入力する。
・画像形式
Bitmap(フルカラー)、Bitmap(グレースケール)、Bitmap(白黒2値)、Jpeg、PNG、Tiff(フルカラー)、Tiff(白黒2値)から選択する。
・JPEG品質
0~100の値で指定する。値が大きいほど高品質でファイルサイズが大きくなる。
・BMP白黒しきい値
0~255での値で指定する。白黒2値のどちらとするかのしきい値。
・マルチページTIFF
複数ページをまとめた一つのTIFFファイルにする。
・画像変換実行
PDFファイルと同一フォルダ内に、ファイル名の末尾にページ数をカッコでくくったファイル名で画像ファイルに変換する。例)test.pdf ⇒ test[1].jpg

3.プレビュー&ページ編集
PDFファイルのプレビューをページごとに表示する。用紙サイズは縦×横をmmで表す。現在表示しているページを削除する。ページを反時計回りに90度回転する。PDFを指定して捺印する。

4.テキスト抽出
PDFファイル内のテキストを抽出して、テキストファイルとして保存する。例)test.pdf ⇒ test.txt

5.操作ログ
PDFに対する操作に対して、所要時間(秒)、結果(成功/失敗)、結果詳細を表示する。

●リリース履歴
Ver2.04 2020/3/29
・プロパティで一部情報(タイトル、作成者、サブタイトル、キーワード、アプリケーション)を変更できるようにした。
Ver2.03 2020/3/22
・捺印データとしてpng画像に対応した。
・捺印時にマウスカーソルにプレビューデータを表示するようにした。
 (pngは指定したファイルのプレビュー。pdfは円だけで少々ずれる。)
Ver2.02 2020/3/21
・捺印時に画面でクリックしたところに配置できるようにした。(Ver2.01は固定値)
Ver2.01 2020/3/15
・プレビューからの捺印機能に対応。捺印用データはとりあえずpdfのみで配置点が固定。
 ※そのうち、捺印データに自作の捺印データを使えるようにしたい。
Ver2.00 2019/10/13
・プレービューからのページ回転に対応。PDFiumのPDF編集能力は低いため、iTextSharpによるPDF編集の第一歩。PDF編集はこれからも機能拡張していくつもり。
・セーブにおいて、開いているファイルに対する上書き保存を可能とした。
・シングルページTIFFへの画像変換に対応した。
Ver1.02 2018/10/7
・プレビューページに削除機能を追加。(これでセーブできる意味ができた)
・画像変換の形式にTiff(フルカラー、白黒2値)を追加して、マルチページTiffへの変換を可能とした。(けっこうなメモリーを使ってしまうのが課題)
Ver1.01 2018/10/2
・セーブ機能追加。何も編集できないから今のところ意味なし。プロパティの変更ができるかと思ってセーブを実装したがあてが外れた。ページの削除や回転ができるようになればセーブの意味も出てくるだろう。
・画像変換の解像度、画像形式などの設定を保持して、次回起動時に読み込むようにした。
・プレビューウインドウの位置とサイズを保持して、次回起動時に読み込むようにした。
Ver1.00 2018/9/24
・初期版リリース

Copyright(c) 2020, caddiary

投稿日:2018年9月24日 更新日:

執筆者: