ローカルでPDFを画像にする

TeXをインストールすると勝手についてくるコマンドを使う / 2022-09-12T00:00:00.000Z

「PDFを画像にしたい」と思うことは非常に身近な願望の1つだと思います。なので胡散臭いオンラインコンバーターやAdobeに課金する前に、ローカルで変換できる方法がないのか考えてみました。

結論

  1. LaTeXを入れる
  2. pdftoppmコマンドを使う

のんびりインストール

ドナルド・クヌースさんという数学者がこの世の中にはいらっしゃいます。数学の分野では「クヌースの矢印表記」という、簡単に言えば「a↑↑b」を「aのa乗をb回掛ける」という風に定めるといった表記方法(ちなみにこういった計算のことをテトレーションと言います)を作り出したり、KMP法という検索アルゴリズムを開発したりしたことで知られています。

これだけでも十分歴史に名を刻んでいるとは思うのですが、クヌースさんはこれ以上に「TeX」というプログラムの開発者として知られています。TeXを簡単に説明するのならば、「コンピューター上で数式を綺麗に描くソフトウェア」です。このTeXがあまりに便利であることから、LaTeXなどの拡張パッケージを用いることによっていい感じに組版を行えるようになりました。

私は普段Windowsマシンを使用しているのでPCでLive2Dを動かす方法を調べた時もWindows基準になってしまった通り、Windows前提で話を進めるのですが、WindowsマシンへLaTeXをインストールする一番楽な方法としてTeX Liveをインストールするというものがあります。詳しいインストール方法はTeX Wikiにあるのでそちらを参照していただきたいのですが、これをインストールすることによって、いい感じに組版を行うためのソフトやパッケージが大体そろいます。

pdftoppm

TeXの話を長々としているので「なぜTeXをインストールすることでPDFをローカルで変換できるのか?」と疑問に思われている方もいらっしゃるでしょう。環境変数が通っているTeXのbinフォルダを一度見たことがある人には理解していただけると思いますが、TeXをWindowsへインストールすると大量の実行ファイルが生み出されます。

この一つにpdftoppmというものがあります。これはPDFファイルを読み込み、ppmという画像ファイルを出力するものです。基本的に

pdftoppm -jpeg input.pdf image-

みたいな形式で使用することが出来ます。

詳しい使い方は@ITさんのLinuxコマンド連載解説記事にあるので、そちらを参照していただいたほうが良いかと思います。

何も指定しなければコマンド名の通りppmファイルという形式のファイルが出てきます。これはSimutrans民にはお馴染みかとは思いますが、要するに画素の明るさを持っているだけのファイル、すなわち何も圧縮されていないようなものです。もちろん汎用性は極めて高いのですが、容量がものすごいことになることから基本的に-jpegオプションか-pngオプションを付けることでJPEGがPNGを出す運用が実用的でしょう。

最後に

PDFを画像にしたいと思って検索したら胡散臭いオンラインコンバーターしか出てこなかったので、取り敢えず記事にしてみました。胡散臭い上に極めて低速なコンバーターに悩まされている方の役に立てば幸いです。

Writer

Osumi Akari