PDF 上下反転の簡単手順:ツールとコマンドですぐ実現✨

PDF 文書の上下を反転させる作業は、印刷校正や翻訳作業、または特定の表示要件に合わせる際に不可欠です。
ここでは、最も手軽に実行できるコマンドラインツールとその具体的な使い方を網羅します。特に「PDFを上下反転させたい」「画像として反転させたほうが簡単」などという検索意図に応じたソリューションを整理し、初心者からプロまで分かりやすくまとめています。


1. なぜ PDF を上下反転させるのか?

  • 印刷業務: 2枚セットを裏表に合わせるために、左右反転(リバース)と合わせて上下反転が必要になるケースがあります。
  • 翻訳作業: 手書き原稿を取り込み、左右逆だけでなく上下も反転して読みやすくする。
  • Web表示: 画像として逆さま表示したい場合。
  • 研究資料: 立ち読みで縦書きになるよう上下反転する場合。

PDF はベクターベースであるため、単純に画像を反転させるだけではファイル全体の構造が壊れる恐れがあるので、専用ツールを使うのがベストです。


2. 代表的なツールの比較

ツール 主な機能 特徴 推奨シチュエーション
qpdf 変換、リオーダー、ページ回転 コマンドラインで高速、正確 大規模な PDF 処理やバッチ
Ghostscript PDF 生成・変換、画像出力 すべての PDF 用意機能に含む 古い PDF をサポートしたい
pdftk ページ結合・分割・回転 シンプルで使いやすい 小規模なファイルで手軽に
ImageMagick 画像の変換・編集 PDF を画像として扱える 画像として反転したい場合
PyPDF2 Python 用 API スクリプトで自動化 プログラミングが可能な環境

3. qpdf でページを上下反転させる手順

qpdf は PDF ファイルを高精度に再生成し、ページ単位で回転・反転が可能です。以下では「上下反転」の具体的なコマンドを紹介します。

3.1 インストール

# Ubuntu / Debian 系
sudo apt-get install qpdf

# macOS (Homebrew)
brew install qpdf

# Windows
choco install qpdf

3.2 コマンド例

qpdf --rotate=all:180 input.pdf output_upside_down.pdf
  • --rotate=all:180 で 180° 回転(上下反転)を全ページに適用。
  • 角度を 90° にすると左右反転も同時に実行されます。

3.3 複数ページのファイルを選択して反転

qpdf --pages input.pdf 1,3-5,7-z --rotate=0:180 output.pdf
  • 1,3-5,7-z で 1 ページ目、3〜5 ページ目、7 ページ目以降を指定。
  • --rotate=0:180 はページ番号 0 (任意) を対象に 180° 回転。

3.4 既存ファイルを上書きせずにバックアップを取る

cp input.pdf input_backup.pdf
qpdf --rotate=all:180 input.pdf upside_down.pdf

4. Ghostscript を使って PDF を上下反転

Ghostscript は PDF と PostScript の変換エンジンとして有名です。PDF を直接操作せずに pdfwrite デバイスで反転を行います。

4.1 インストール

# Ubuntu / Debian 系
sudo apt-get install ghostscript

# macOS (Homebrew)
brew install ghostscript

# Windows
winget install ghostscript

4.2 コマンド例

gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dSAFER \
   -c "<</Rotate 180>> setpagedevice" \
   -sOutputFile=output_rev.pdf input.pdf
  • setpagedevice で全ページに 180° 回転を指示。
  • -dSAFER はファイル書き込み制限を解除しない安全モード。

4.3 画面上で逆さま表示したいだけのケース

gs -sDEVICE=display -sDisplayDevice=Dumb \
   -c "<</Rotate 180>> setpagedevice" input.pdf

-sDEVICE=display は PDF をビューアなしで表示するだけ。


5. pdftk で手軽に上下反転

pdftk はインストールが簡単で、CLI だけでなく pdftkGUI もあります。
以下はコマンドラインで全ページを 180° 回転させます。

pdftk input.pdf cat 1-endE output upside_down.pdf
  • 1-endEE は「reverse」を意味。
  • 180° 回転は pdftk では rotate パラメータで指定できませんが、catE でページ順序を逆にした後、rotate を併用すると同等の効果が得られます。
pdftk input.pdf cat 1-endE output tmp.pdf
pdftk tmp.pdf cat 1-end rotate 180 output upside_down.pdf
rm tmp.pdf

6. ImageMagick で PDF を画像に変換して反転

画像化した後に flopflip コマンドで反転し、再度 PDF 化します。
注意:解像度が低くなる恐れがあるので、必要に応じて -density を上げます。

6.1 インストール

# Ubuntu / Debian 系
sudo apt-get install imagemagick

# macOS (Homebrew)
brew install imagemagick

# Windows
choco install imagemagick

6.2 変換と反転の統合スクリプト

convert -density 300 input.pdf \
        -flip -rotate 180 \
        -quality 100 upside_down.pdf
  • -density 300 は DPI を 300 に設定、画像の細部を保持。
  • -flip は上下反転。-flop は左右反転。
  • -rotate 180 で 180° 回転。
  • -quality 100 は JPEG の圧縮率を最大化せずに高画質に保つ。

7. Python (PyPDF2 + reportlab) で自動化

Python が利用できる環境では、スクリプト化して大量ファイルを一括処理するのが便利です。
以下は PyPDF2 でページを 180° 回転する例です。

import sys
from PyPDF2 import PdfReader, PdfWriter

def rotate_pdf(input_path, output_path):
    reader = PdfReader(input_path)
    writer = PdfWriter()

    for page in reader.pages:
        page.rotate(180)  # 180° 回転(上下反転)
        writer.add_page(page)

    with open(output_path, 'wb') as f:
        writer.write(f)

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("Usage: rotate_pdf.py input.pdf output.pdf")
        sys.exit(1)

    rotate_pdf(sys.argv[1], sys.argv[2])

ポイント

  • 180° 回転は page.rotate(180) で簡単に実装可能。
  • PyPDF2 は PDF 1.3 以上に適合。古い PDF は qpdf を併用する方が安全。

8. 逆さまにした PDF を PDF リーダーで表示する際の注意

  • ページサイズはそのまま: 180° 回転しても 90° 回転した PDF と同じページサイズになるわけではありません。リーダーによっては縦横を入れ替える場合があります。
  • テキストは文字コードのままで保たれる: 反転は座標系の変換だけなので、テキストはそのまま残ります。
  • 画像が埋め込まれている場合はそのまま反転されない: 画像を単体として反転したい場合は ImageMagick 等を併用してください。

9. 失敗ケースとトラブルシューティング

失敗パターン 原因 対応策
qpdf がエラーを吐く PDF が破損している、バージョンが古い qpdf --repair input.pdf output.pdf で修復
gs が "Invalid value 180" で失敗 setpagedevice のパラメータが古い -c "<</Rotate 180>> setpagedevice" を正しく書く
画像が不鮮明 convert -density 指定が低い -density 600 などで再設定
逆さまにしても見た目が変わらない PDF のページ回転情報が既に 180° pdfinfo input.pdfPage size を確認し、-rotate 0 キーワードを利用

10. まとめ – どのツールを選ぶべきか?

シチュエーション 推奨ツール 理由
大規模な PDF バッチ qpdf 高速、正確、スクリプト化容易
GUI で操作したい pdfkitGUI / qpdfGUI 直感的にページを選択
画像化して逆さまにしたい ImageMagick DPI 可調整、柔軟な編集
Python で自動化したい PyPDF2 / pypdf コードで動的処理
短時間で1ファイルのみ Ghostscript インストール済みが多い、設定簡便

11. さらに進めてみるなら…

  • PDF を再構成しつつ色空間を変換:Ghostscript で -sColorConversionStrategy=CMYK を追加。
  • OCR でテキストを抽出後、反転した PDF にテキストを再埋め込みpdfsandwich を併用。
  • Web サービスでオンライン変換pdf2flip.com などで GUI でスピーディに。

おわりに

PDF を上下反転させる作業は、一見難しそうに思えるかもしれませんが、先述のツールとコマンドを使えば数行のシェルスクリプトで完結します。
業務や個人作業で使いこなせるよう、ぜひ一度各ツールをインストールし、手順を試してみてください。

  • qpdf の --rotate:高速・正確。
  • Ghostscript の setpagedevice:汎用性大。
  • ImageMagick:画像化して細かく編集したい時。

さあ、今日からでも PDF を逆さまにしてあらゆる用途に対処してみましょう!

コメント