LoginSignup
0
0

More than 1 year has passed since last update.

shellスクリプトで複数のpdfの最初のページにハンコを押す

Last updated at Posted at 2021-09-07

shellスクリプトで複数のpdfの最初のページにハンコを押す

概要

複数のPDFの最初のページにハンコを押して行き最後に一つのファイルにまとめる。

前提条件

  • MAC
  • homebrew が入っている

事前準備

ghostscript(PDF対応のため)とimagemagick(画像操作アプリ)をインストールしておく。

brew install ghostscript
brew install imagemagick

フォルダ構造


./
./hanko.png < ハンコpngファイル
./pdfin/  < PDFたちを置く場所
./pdfout/pdfin/ < 出来上がったpdfが入る場所
./pdfout/omatome.pdf < おまとめPDF
./work/ < 作業スペース

使い方

  • ダウンロードした請求書PDF(結合前)たちを入手する
  • どこかに作業フォルダを作ってそこに cd する
  • 「pdfin」ディレクトリを作る
  • hanko.pngを「./」におく
  • ./pdfin に請求書PDFたちを置く
  • 下にあるShellScriptをコピペする。(+enter)
  • ./pdfout/pdfin/ にハンコが押されたファイルができる
  • いつものように結合する

カスタマイズ

  • +400+750 の部分を変えれば画像が重なる場所が変わる
  • hanko.pngを変えれば画像が変わる

ShellScript

コピペする

echo
echo "PDFにハンコを押します"
mkdir ./work

rm -rf ./pdfout/pdfin
mkdir ./pdfout/pdfin
for FILE in ./pdfin/* ; do
echo "$FILE の処理をしています"
rm -rf ./work
mkdir ./work

convert -define png:color-type=6 -density 300 "${FILE}" ./work/page.png
FIRSTFILE=$(ls ./work/page*.png|head -n1)
composite -density 300 -gravity northwest -geometry +400+750 -compose over ./hanko.png "$FIRSTFILE" "$FIRSTFILE"

convert -define png:color-type=6 ./work/page*.png ./pdfout/"${FILE}"
done
echo "PDFを一つにまとめています"
convert -density 300 ./pdfout/pdfin/* ./pdfout/omatome.pdf
echo "./pdfout/omatome.pdf"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0