MAGAZINE
ルーターマガジン
PDFを覗く ~pdfinfoの使い方~
こんにちは。アルバイトの秋山です。
今回はpdfinfoというコマンドについてインストール方法からコマンドの書式、オプション、様々なPDFファイルに対する実行例についてご紹介します。
pdfinfoとは?
pdfinfoはPDFファイルの操作するためのライブラリであるpopplerが提供するコマンドの一つで、PDFファイルの作成者や作成日時などのメタ情報を覗いてみたいときに使います。
pdfinfoの使い方
実行環境
- OS:macOS 13.4.1
インストール(mac)
pdfinfoを提供するpopplerをインストールします。
brew install poppler
コマンドの書式
基本的な書式は以下のとおりです。
pdfinfo [オプション] PDFファイル名
pdfinfoでPDFの情報を見てみる
それでは実際にPDFの情報を見てみましょう。
OfficeファイルからエクスポートしたPDF
まずexcelファイルからエクスポートしたPDFの情報を見てみましょう。
まず最初に気がつくのは"Author"が"Microsoft Office ユーザー"と表示されていることでしょう。Officeソフトによって作成されたPDFであることが一瞬で分かってしまいます。
$ pdfinfo excel_to_pdf.pdf Author: Microsoft Office ユーザー Creator: Producer: CreationDate: Sat Jul 1 15:06:37 2023 JST ModDate: Sat Jul 1 15:06:37 2023 JST Custom Metadata: no Metadata Stream: yes Tagged: yes UserProperties: no Suspects: no Form: none JavaScript: no Pages: 1 Encrypted: no Page size: 595.32 x 841.92 pts (A4) Page rot: 0 File size: 52169 bytes Optimized: no PDF version: 1.7
webページから作成されたPDF
つづいてwebページをエクスポートしたPDFについても見てみます。
今回はGoogle Chrome上でwebページをPDFに変換しましたが、"Creator"を見てみるとGoogle ChromeのUserAgentの情報が表示されています。どのOSのどのバージョンのブラウザからPDFが作成されたかを判別することができてしまいます。
$ pdfinfo webpage_to_pdf.pdf Creator: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Producer: Skia/PDF m114 CreationDate: Sat Jul 1 15:05:21 2023 JST ModDate: Sat Jul 1 15:05:21 2023 JST Custom Metadata: no Metadata Stream: no Tagged: yes UserProperties: no Suspects: no Form: none JavaScript: no Pages: 8 Encrypted: no Page size: 594.96 x 841.92 pts (A4) Page rot: 0 File size: 3141274 bytes Optimized: no PDF version: 1.4
パスワードつきのPDF
最後にパスワード付きのPDFの情報も見てましょう。
$ pdfinfo encrypted.pdf Command Line Error: Incorrect password
やはり、そう簡単には情報を見ることはできませんでした。
パスワードで暗号化されたPDFの情報を見たいときには、下記のようにオプションでパスワードを指定する必要があります。”Producer”の項目を見ると今回の実行環境であるmacOSによってパスワードつきのPDFが作成されたことが分かりますね。
$ pdfinfo -upw password encrypted.pdf Author: Microsoft Office ユーザー Producer: macOS バージョン13.4.1(ビルド22F82) Quartz PDFContext CreationDate: Sat Jul 1 15:11:48 2023 JST ModDate: Sat Jul 1 15:11:48 2023 JST Custom Metadata: no Metadata Stream: no Tagged: yes UserProperties: no Suspects: no Form: none JavaScript: no Pages: 1 Encrypted: yes (print:yes copy:yes change:no addNotes:yes algorithm:AES) Page size: 595.32 x 841.92 pts (A4) Page rot: 0 File size: 51758 bytes Optimized: no PDF version: 1.6
おわりに
今回はいくつかの実行例を通してpdfinfoの使い方をご紹介しましたがいかがだったでしょうか。コマンド一つでそんなことまでわかってしまうのかと不安になってしまったでしょうか。皆さんがPDFを作成するときには公開したくない情報がメタデータとして埋め込まれてしまっていないか注意していただきたいところですが、popplerでは他にも便利なコマンドが提供されているので、それらも合わせて使うことでPDFと慣れ親しんでいただければと思います。
関連
バイナリとPopplerによるPDFファイル内の画像検出
PDFに埋め込まれたテーブルを、画像処理でパースする
CONTACT
お問い合わせ・ご依頼はこちらから