複数のPDFファイルのページ数を表示できるかメモ

PDFファイルのページ数を確認したいことがありました。

簡単にメモです。ただ現時点では、PDFファイルの作成の仕方か、windows環境自体によるのか、うまくいくケースと駄目なケースとあり、着地は悪いです。

スポンサーリンク

PDFファイルのページ数を確認する

Windows環境です。なお以下の方法が確認出来たのは、Windows7+32bitのはずです。

  1. エクスプローラを起動する
  2. PDFファイルを検索、またはPDFファイルがあるフォルダを開く
  3. エクスプローラを表示形式を詳細にする。また、名前、更新日時などの「列名」欄を右クリックして、「その他」を選び「ページ数」を追加する
  4. PDFファイルのページ数が表示される

さらに、ページ数については、検索欄に「ページ数:1」とすれば、1ページのみのPDFファイルが表示されました。また「ページ数:>=3」とすれば、3ページ以上のPDFファイルが表示されました。

OSが古いですが図の説明イメージが欲しい方は以下が参考になります。

エクスプローラの[詳細]表示をカスタマイズする

Windows10+64bitでは確認できず

メインで使っているのはWindows10+64bitなのですが、これだと上記のことをやっても表示されませんでした。PDFファイル自体は、自分で作ったWord→PDFとかでなく、色々なPDFファイルをHDD全体で見ても同様でした。

MSコミュニティで同様の投稿がありました。

フォルダ内の表示する項目のページ数について PDF データのページ数が表示されません

これについては未解決です。モデレーターの方も、Windows7で駄目とあったので、なんとも着地が悪い感じですね(笑)

pdftkツールでコマンドラインから調べてみた

コマンドラインからいけるのではと思ったらそれっぽいソフトがありました。ただ結論的には全PDFファイルのページ数を取得できなかったので、実際にやってみてどうかという感じでしょうか。

例えば100ファイル程度あれば手で頑張っても、それ以上ならこのやり方をある程度検討しても良さそうです。とはいえ今回テストでは7割程度のカバー率でした。

Windowsバッチ・コマンドで,大量のPDFを一括で結合・分割し,各ページ数を調べて一定サイズにまとめよう (pdftkをコマンドプロンプトやWSHから使う方法)

で紹介されているpdftkツールを入れてみると、

pdftk 調べたいファイル名.pdf dump_data

と入れると確かにページ数は取得できます。

ただ一個ずつやるのでは意味がないので、単純にFOR分で同じ命令を繰り返せばいけるのではというところです。例えば、バッチファイルを作って、

FOR %%f IN (*.pdf) DO pdftk %%f dump_data | findstr NumberOfPages

のようにします。これによって、手入力は避けられるのですが、コマンドプロンプト上で出しても意味がなさそうという感じです(ここではページ数を見たいとは、リスト化してみたいケースを想定しています)。

苦肉の策として、コマンドプロンプトで出力命令である「>」をファイルにして、

pagect.bat > aa.txt

とすれば、aa.txtに、

C:\Users\ユーザー名\Desktop>pdftk line.pdf dump_data | findstr NumberOfPages
NumberOfPages: 1

C:\Users\ユーザー名\Desktop>pdftk 違和感発想法.pdf dump_data | findstr NumberOfPages
NumberOfPages: 8

みたいに、テキストファイルで取れます。これをサクラエディタなどマクロを使って整形すれば、ファイル名+ページ数が出せます。が、NumberOfPages:として数字を取ってこれたのは、70件PDFがあるものの中で、48件でした。これを出すにも、がちゃがちゃ正規表現取ってきたり、なんとも初心者向けにはつらいです。しかも頑張っても、48件しか取れず。というわけで、実用的ではないなあと思ったりしました。7割程度のカバー率です。

上のバッチファイル作成などが良くわからない人は全くおすすめできないです。仮にある程度分かる人は検討の価値はどうしてもやりたいならありかもです。

他のCUIツールは試してないのですが、まあ必ずページ数を読み取れるとかってことはなさそうですね。ちなみに、ここで取れなかったページ数のPDFファイルは、当然PDFファイルをAcrobatReaderDCで開いて見ればプロパティにページ数は表示されていました。

おわりに

こういったやりたいことを実現する時に意外に「面倒」なことは山程ありますよね。実際にページ数くらい簡単に取れないかという時、例えば上のPDFtkであれば、GUIツールもあるのでそこでPDFファイルを読み込ませればページ数が見えました。

ただなぜか大量のファイルを読み込ませるとエラーとなり、一個ずつ入れていけば見えました。このあたりがなんともですが、日本語名が問題なのか、そのあたりであればまたリネームしたりとなんともですね。

ひとまず、ベストプラクティスとしては、エクスプローラ標準機能でやってみて駄目なら他のソフトで開くなり、ツールで検討していくということになりそうです。

何か他の良いやり方があったらこっそり教えてください。

以上です。

ビジネスって面白い、アイデアの価値ってもっとある。そんなことを自分なりに伝えられないかという思いから、シゴトクリエイターをやっています。一緒に楽しいビジネスを生みだしていきましょう。

0から仕事をつくる実践記

クラウドソーシングでアイデア出しをメインにシゴトづくりを3年してきた気づきをまとめました。

企画やアイデアをシゴトにしたい人の一つの参考にしてもらえれば嬉しいです。

アイデア仕事の当選率などのデータもあります。
スポンサーリンク