ここでは例として、Canoscan 3000F で A4 の書類をコピーしたものを加工して、有用なPDFファイルを作成します。
Canoscan 3000F は Windows のみの対応ですが、他の作業は Windows ではそれほど簡単ではないので、Linux や Mac OS X を使います。具体的には次のものを使います。
上下左右に黒い帯が入ることがあるので、LaTeX を使って crop します。黒い帯が入ってもよいならば、この手順は省略することができます。
次のような Canoscan3000F.tex ファイルを作成します。
¥documentclass[a4paper]{jsarticle} ¥usepackage[dvipdfm]{graphicx} ¥setlength{¥hoffset}{-1in} ¥setlength{¥voffset}{-1in} ¥setlength{¥oddsidemargin}{0pt} ¥setlength{¥topmargin}{0pt} ¥setlength{¥headheight}{0pt} ¥setlength{¥headsep}{0pt} ¥setlength{¥textheight}{845pt} ¥setlength{¥textwidth}{597pt} ¥setlength{¥marginparsep}{0pt} ¥setlength{¥marginparwidth}{0pt} ¥setlength{¥footskip}{0pt} ¥setlength{¥marginparpush}{0pt} ¥setlength{¥paperwidth}{597pt} ¥setlength{¥paperheight}{845pt} ¥begin{document} ¥begin{center} ¥includegraphics[width=587pt,bb=15 50 597 845,clip]{Save0000.PDF} %¥includegraphics[width=210mm,bb=x1 y1 x2 y2]{Save0000.pdf} ¥end{center} ¥end{document}
includegraphics の行は、黒い帯の状況によって書き換えてください。x1, y1, x2, y2 は、版面左下を0, 0にした場合の座標です。
ページ数が9ページまでなら次の Canoscan3000F01.sh を作成します。
#!/bin/sh i=1 while [ $i -le 9 ] do cat Canoscan3000F.tex | sed s/Save0000/Save000$i/g >page0$i.tex platex page0$i && dvipdfmx page0$i i=`expr $i + 1` done
$ sh ./Canoscan3000F01.sh
上のシェルスクリプトに含めてしまうのが簡単です。
$ pdftk page0?.pdf cat output output.pdf
見開きで A4 になるようなページをスキャンした場合は、ここでページを回転しておきます。
次のような info.txt を作成しておきます。日本語は数文字参照にしなければなりません。
InfoKey: Title InfoValue: Book Title InfoKey: Author InfoValue: Author of the book InfoKey: Subject InfoValue: Subject of the book InfoKey: Keywords InfoValue: Scanned by MATSUURA Takashi InfoKey: Creator InfoValue: Canoscan 3000F (300dpi) InfoKey: Producer InfoValue: LaTeX, dvipdfmx, and pdftk
次のコマンドを実行します。
$ pdftk output.pdf update_info info.txt output output2.pdf
次のようなシェルスクリプトを作っておくと簡単でしょう(update_info.sh)。
#!/bin/sh pdftk output.pdf update_info info.txt output $1
このシェルスクリプトは次のように使います。
$ sh ./update_info.sh output2.pdf
Adobe Reader でページの順序、PDF の情報などを確認します。