Computer/PDF/crop/LaTeX
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Computer/PDF/crop]]
*PDF の余白の切り取り(LaTeX) [#tb8e66e1]
LaTeX で元の PDF を切り出して画像として張り付けることで余...
+PDF を1ページごとにバラバラにする
+PDF の Bounding Box を求める
+切り取るサイズを決める
+LaTeX ファイルを書く
+latex -> dvipdfmx で処理する
+でき上がった PDF を結合する
の手順でできます。ここでは次のソフトを使うことにします(...
-pdftk(PDF の分割、結合)
-ImageMagick(Bounding Box の計算)
-LaTeX
-dvipdfmx
-シェルスクリプトなど
**1, PDF を1ページごとにバラバラにする [#q1f478f5]
下の方のシェルスクリプトに書き込んでおくとよいでしょう。
$ pdftk input.pdf burst
pg_0001.pdf といったファイルができます。
**2, PDF の Bounding Box を求める [#h85b010e]
$ identify pg_0001.pdf
pg_0001.pdf PDF 622x842 622x842+0+0 PseudoClass 256c 16-...
622x842 だということがわかります。
**3, 切り取るサイズを決める [#w0cc1f36]
最終的に LaTeX ファイルには
bb=x1 y1 x2 y2
の形で座標を書き込むので、それぞれの値を決めておきます。
***座標 [#xa821f65]
|~記号|~意味|
|x1|左下のx座標|
|y1|左下のy座標|
|x2|右上のx座標|
|y2|右上のy座標|
**4, LaTeX ファイルを書く [#n90d69d7]
ここでは page0000.tex というファイル名にしておきます。
\documentclass[a5paper]{jsarticle}
\usepackage[dvipdfm]{graphicx}
\setlength{\hoffset}{1in}
\setlength{\voffset}{1in}
\setlength{\oddsidemargin}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\textheight}{597pt}
\setlength{\textwidth}{423pt}
\setlength{\marginparsep}{0pt}
\setlength{\marginparwidth}{0pt}
\setlength{\footskip}{0pt}
\setlength{\marginparpush}{0pt}
\setlength{\hoffset}{0pt}
\setlength{\voffset}{0pt}
\setlength{\paperwidth}{423pt}
\setlength{\paperheight}{597pt}
\begin{document}
\begin{center}
\includegraphics[width=148mm,bb=93 252 529 842]{pg_0000....
%\includegraphics[width=148mm,bb=x1 y1 x2 y2]{pg_0000.pdf}
\end{center}
\end{document}
**5, latex -> dvipdfmx で処理する [#g54afde5]
$ platex page0001 && dvipdfmx page0001
各ページに対して行うのは面倒なので、自動化するのが簡単で...
***シェルスクリプト [#ga78f4dc]
#!/bin/sh
i=1
while [ $i -le 9 ]
do
cat page0000.tex | sed s/pg_0000/pg_000$i/g >page000$...
platex page000$i && dvipdfmx -p a5 page000$i
i=`expr $i + 1`
done
**6, でき上がった PDF を結合する [#v23141d5]
上のシェルスクリプトに書き込んでおくとよいでしょう。
$ pdftk page000?.pdf cat output output.pdf
終了行:
[[Computer/PDF/crop]]
*PDF の余白の切り取り(LaTeX) [#tb8e66e1]
LaTeX で元の PDF を切り出して画像として張り付けることで余...
+PDF を1ページごとにバラバラにする
+PDF の Bounding Box を求める
+切り取るサイズを決める
+LaTeX ファイルを書く
+latex -> dvipdfmx で処理する
+でき上がった PDF を結合する
の手順でできます。ここでは次のソフトを使うことにします(...
-pdftk(PDF の分割、結合)
-ImageMagick(Bounding Box の計算)
-LaTeX
-dvipdfmx
-シェルスクリプトなど
**1, PDF を1ページごとにバラバラにする [#q1f478f5]
下の方のシェルスクリプトに書き込んでおくとよいでしょう。
$ pdftk input.pdf burst
pg_0001.pdf といったファイルができます。
**2, PDF の Bounding Box を求める [#h85b010e]
$ identify pg_0001.pdf
pg_0001.pdf PDF 622x842 622x842+0+0 PseudoClass 256c 16-...
622x842 だということがわかります。
**3, 切り取るサイズを決める [#w0cc1f36]
最終的に LaTeX ファイルには
bb=x1 y1 x2 y2
の形で座標を書き込むので、それぞれの値を決めておきます。
***座標 [#xa821f65]
|~記号|~意味|
|x1|左下のx座標|
|y1|左下のy座標|
|x2|右上のx座標|
|y2|右上のy座標|
**4, LaTeX ファイルを書く [#n90d69d7]
ここでは page0000.tex というファイル名にしておきます。
\documentclass[a5paper]{jsarticle}
\usepackage[dvipdfm]{graphicx}
\setlength{\hoffset}{1in}
\setlength{\voffset}{1in}
\setlength{\oddsidemargin}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\textheight}{597pt}
\setlength{\textwidth}{423pt}
\setlength{\marginparsep}{0pt}
\setlength{\marginparwidth}{0pt}
\setlength{\footskip}{0pt}
\setlength{\marginparpush}{0pt}
\setlength{\hoffset}{0pt}
\setlength{\voffset}{0pt}
\setlength{\paperwidth}{423pt}
\setlength{\paperheight}{597pt}
\begin{document}
\begin{center}
\includegraphics[width=148mm,bb=93 252 529 842]{pg_0000....
%\includegraphics[width=148mm,bb=x1 y1 x2 y2]{pg_0000.pdf}
\end{center}
\end{document}
**5, latex -> dvipdfmx で処理する [#g54afde5]
$ platex page0001 && dvipdfmx page0001
各ページに対して行うのは面倒なので、自動化するのが簡単で...
***シェルスクリプト [#ga78f4dc]
#!/bin/sh
i=1
while [ $i -le 9 ]
do
cat page0000.tex | sed s/pg_0000/pg_000$i/g >page000$...
platex page000$i && dvipdfmx -p a5 page000$i
i=`expr $i + 1`
done
**6, でき上がった PDF を結合する [#v23141d5]
上のシェルスクリプトに書き込んでおくとよいでしょう。
$ pdftk page000?.pdf cat output output.pdf
ページ名: