- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2016-04-16T14:24:01+09:00","","")
#author("2017-10-04T08:20:55+00:00","","")
[[Computer/PDF]]
*memo [#zb45f0a8]
Canoscan 3000F で A4 の書類をコピーしたものを加工して、有用なPDFファイルを作成します。
+1ページずつスキャンする
+crop する
+ページを結合する
+必要に応じてページを回転する
+PDF のデータを編集する
+Adobe Reader で確認する
Canoscan 3000F は Windows のみの対応ですが、他の作業は Windows ではそれほど簡単ではないので、Linux や Mac OS X を使います。次のものを使います。
-比較的新しい LaTeX のシステム
-pdftk
-PDF のページの回転などができるアプリケーション(Mac OS X のプレビュー.app、Combine PDFs など)
-cat, sed などのコマンドと、シェルスクリプトの使える環境
**1, 1ページずつスキャンする [#v41fc0dd]
+「設定」で、スキャナのボタンを押すと自動的に「保存」が実行されるようにしておくと簡単でしょう。
+まず、ダミーのPDFファイルを作成します。CanoScan Toolbox から「保存」を実行します。ファイル名は「Save」、ファイルの種類は「PDF」にしておき、スキャンを実行します。
+次に、本物のデータをスキャンします。CanoScan Toolbox から「保存」を実行し、ファイル名は「Save」のままにし、スキャンを実行します。すると、作成されるファイル名が「Save0001.PDF」のようになり、あとの作業が楽です。
**2, crop する [#xde5f428]
上下左右に黒い帯が入ることがあるので、LaTeX を使って crop します。黒い帯が入ってもよいならば、この手順は省略することができます。
***a, LaTeX テンプレートの作成 [#n03fd16d]
次のような 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にした場合の座標です。
***b, シェルスクリプトの作成 [#m1c856fd]
ページ数が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
***c, シェルスクリプトの実行 [#u2515cc3]
$ sh ./Canoscan3000F01.sh
**3, ページを結合する [#x3db44ed]
上のシェルスクリプトに含めてしまうのが簡単です。
$ pdftk page0?.pdf cat output output.pdf
**4, 必要に応じてページを回転する [#c3daf0f6]
見開きで A4 になるようなページをスキャンした場合は、ここでページを回転しておきます。
**5, PDF のデータを編集する [#c2ffdafa]
次のような 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
#!/bin/sh
pdftk output.pdf update_info info.txt output $1
このシェルスクリプトは次のように使います。
$ sh ./update_info.sh output2.pdf
**6, Adobe Reader で確認する [#ae237432]
Adobe Reader でページの順序、PDF の情報などを確認します。