【はじめに:その「スキャン後の並び替え」、自動化しませんか?】
オフィスで活躍するブラザーなどのコンパクトな複合機。
コストパフォーマンスは抜群ですが、安価なモデルだとADF(自動原稿送り装置)が「片面読み取り」にしか対応していないことがあります。
両面書類をスキャンする場合、表面をスキャンし、次に束を裏返して裏面をスキャン。
すると、裏面PDFは構造上「最終ページからカウントダウン」するように保存されてしまいます。
「1, 3, 5…」という表面PDFと、「10, 8, 6…」という裏面PDF。
これを有料ソフトで1枚ずつ入れ替えるのは、まさに非生産的な作業です。
この手間を、Pythonを使って「0秒」にする方法をご紹介します。
【解決策:Pythonによる「ページ・インターリーブ」】
今回作成したのは、表面(奇数ページ)と、逆順になった裏面(偶数ページ)を自動で判別し、正しい順番に「交互に差し込む(インターリーブ)」プログラムです。
プログラミングの知識は不要です。
Googleが提供する無料ツール「Google Colab」を使えば、ブラウザにコードを貼り付けるだけで誰でも実行できます。
【公開:ブラザーADF専用 PDF交互マージ・プログラム】
以下のコードをコピーして使用してください。
Python
# @title ブラザースキャナー用_PDF結合ツール (RTFrontier提供)
# 1. 必要なライブラリのインストール
!pip install PyPDF2 -q
import PyPDF2
from google.colab import files
import io
def merge_brother_scanner_pdfs():
print("--- ブラザーADF用 PDF交互マージツール ---")
# 2. 奇数ページPDF(表面)のアップロード
print("\n【手順1】表面(1, 3, 5...ページ)のPDFを選択してください。")
uploaded_odd = files.upload()
if not uploaded_odd:
print("ファイルが選択されませんでした。")
return
odd_filename = list(uploaded_odd.keys())[0]
odd_reader = PyPDF2.PdfReader(io.BytesIO(uploaded_odd[odd_filename]))
# 3. 偶数ページPDF(裏面・逆順)のアップロード
print("\n【手順2】裏面(最後, ..., 4, 2ページ)のPDFを選択してください。")
uploaded_even = files.upload()
if not uploaded_even:
print("ファイルが選択されませんでした。")
return
even_filename = list(uploaded_even.keys())[0]
even_reader = PyPDF2.PdfReader(io.BytesIO(uploaded_even[even_filename]))
writer = PyPDF2.PdfWriter()
# ページ数の取得
n_odd = len(odd_reader.pages)
n_even = len(even_reader.pages)
# 最大ページ数に合わせてループ(奇数と偶数が1枚程度ズレていても対応可能)
max_pages = max(n_odd, n_even)
print(f"\nマージを開始します... (奇数: {n_odd}枚 / 偶数: {n_even}枚)")
# 4. ページ結合ロジック
for i in range(max_pages):
# 奇数ページを追加(前から順番)
if i < n_odd:
writer.add_page(odd_reader.pages[i])
# 偶数ページを追加(後ろから順番:カウントダウン対応)
# 例:3枚あれば、i=0のときに index=2 (3枚目) を取る
if i < n_even:
target_index = n_even - 1 - i
writer.add_page(even_reader.pages[target_index])
# 5. 保存ファイル名の指定とダウンロード
# 保存名を指定したい場合はここを書き換えてください
output_filename = "merged_scanned_document.pdf"
with open(output_filename, "wb") as f:
writer.write(f)
print(f"\n完了! 「{output_filename}」をダウンロードします。")
files.download(output_filename)
# 実行
merge_brother_scanner_pdfs()
【初心者向け:Google Colabでの実行手順】
- Google Colab にアクセスし、「ノートブックを新規作成」をクリック。
- 表示された枠に上記のコードをコピペ。
- 左側の再生ボタン(▶)をクリック。
- 画面の指示に従って「表面PDF」→「裏面PDF」を選択すれば、自動的に結合されたPDFがダウンロードされます。
【おわりに:小さなDXが現場を変える】
DX(デジタルトランスフォーメーション)の本質は、必ずしも高価なシステムを導入することではありません。
「今ある道具(片面スキャナ)」の弱点を「IT(Python)」で補い、現場のストレスを解消する。こうした小さな成功体験の積み重ねこそが、組織全体のデジタル化を加速させる第一歩になります。
「こんな不便も自動化できるかな?」という課題があれば、ぜひRTFrontierへご相談ください。

