#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 の情報などを確認します。