memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

macでpdfファイルを連結する方法(pdfunite)

よい方法が既に提案されていました。これがいいです。最高です。

mecobalamin.hatenablog.com

以下、せっかくなので残しますが読まなくていいです。

とあるWebページを印刷してPDFファイルに変換したファイルが多数あって、それらのファイルを連結して1つのファイルにしたいという状況です。

PDFファイルを1つプレビューで開いて残りのファイルをドラッグ&ドロップすれば連結してくれますし、あと、連携したいPDFファイルを選択して右クリックして「クイックアクション」を選択して「PDFを作成」を選択しても連結してくれます。ただ、遅い。そして、ファイルサイズが大きくなるように感じました。

何か手はないかなとググるとpdfuniteというbrewでインストールできるコマンドがあるとか。まずこれをインストールします。pdfuniteではなくpopplerというらしいです。

brew install poppler

あとは、PDFファイルが多数あるフォルダ内でターミナルで以下を実行すればよいです。

ls -t -r | awk -F"\n" '{print "\""$1"\"" " "}' | tr -d "\n" | awk '{print $0 "o.pdf"}' | xargs pdfunite

ちょっとごちゃごちゃしていますが、Webページを閲覧しながらPDFファイルにした時刻順にならべて(ls -t -r)、そのファイル名に空白が含まれている場合もあるので" "で括りまして(awk)、最後に出力用のPDFファイル名(o.pdf)を追加するawkがありまして、最後にxargsコマンドでpdfuniteコマンドを実行しています。

プレビューやクイックアクションより数倍早いです。ファイルサイズも単純な和より小さくなる感じです。