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-endEのEは「reverse」を意味。- 180° 回転は
pdftkではrotateパラメータで指定できませんが、catのEでページ順序を逆にした後、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 を画像に変換して反転
画像化した後に flop や flip コマンドで反転し、再度 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.pdf で Page 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 を逆さまにしてあらゆる用途に対処してみましょう!


コメント