PHPでPDF→jpg変換を行うプログラムを作成

PHPでPDF→jpg変換を行う環境を構築する(CentOS8+Apache+PHP74+ImageMagick+imagick)の記事の続きです。

PHPで特定ディレクトリ内を走査して、そのディレクトリ内のPDFファイルを一括でjpgに変換するプログラムを作成しました。

  /
  ├ アプリケーションのディレクトリ
  ├ image/                          # 画像出力先
  ├ pdf/                            # 変換元PDF配置場所
  │  ├ 夏目漱石/
  │  │  ├ 虞美人草.pdf
  │  │  ├ 虞美人草.pdf
  │  │  └ 坊っちゃん.pdf
  │  ├ 夢野久作/
  │  │  └ dogura_magura.pdf
  │  ├ run_moerus.pdf
  │  └ 遠野物語.pdf
  └ 他のファイル

このようにアプリケーションを配置し、その後にpdf/ディレクトリ以下にディレクトリとpdfファイルを複数配置しました。

サーバにアップロードする前のディレクトリのプレビュー
サーバにアップロードする前のディレクトリのプレビュー

変換元PDFのプレビュー1
変換元PDFのプレビュー1

変換元PDFのプレビュー2
変換元PDFのプレビュー2

手元のPCでディレクトリをプレビュー。上述の通りの構造です。

変換をキックするトップページ
変換をキックするトップページ

この状態でアプリケーションのトップページ(http://kur.example.com/)にアクセス。ボタンをクリックします。

変換結果表示ページ
変換結果表示ページ

少しすると結果ページ(http://kur.example.com/result)に遷移し、成功したファイルと失敗したファイルの一覧が表示されます。

FTPソフトでサーバ上のimageディレクトリを覗く
FTPソフトでサーバ上のimageディレクトリを覗く

image/ディレクトリに、変換元のpdf/ディレクトリ以下の構造を保持してディレクトリとjpgファイルが生成されています。

これをダウンロードします(一括でzipダウンロードまでは作りこめてないので)。

変換元PDFのプレビュー1
変換元PDFのプレビュー1

変換元PDFのプレビュー2
変換元PDFのプレビュー2

いくつかプレビューしたり開いたり。無事生成されていることが確認できました。

ちなみに、

  • サーバは常時起動ではなく必要な時だけ起動して、終了したらシャットダウンする
  • 手元のイントラネットのみの使用

ということで作りとしては雑な部分もありますが、ひとまず目的は達成できたので良しとします。

参考

プログラムを生成する際に参照。

以下、トラブル対処。

余談

“𒆳”と”𒆠𒃲”は分かりましたが”Irkalla”ってどういう表記になるのでしょうか。

この記事を書いた人

アバター

アルム=バンド

フルスタックエンジニアっぽい何か。LAMPやNodeからWP、gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。