綾小路龍之介の素人思考

[pdf] pdfから図を引用、編集。要はぶっこ抜き

論文を書いていると、引用したい場合があるわけだけど、printscreen的な引用だと荒くなるし、情報落ちるし、ファイルサイズ大きくなるし、いいこと無い。

まずはラスタ画像を抜き出す。注意したいのはベクタ画像は出力されないこと。また、ラスタの上に描かれたベクタ情報例えば矢印や、目盛などの情報は落ちるということ。ただし、逆を考えれば余分なベクタ情報を排除して取り出すことができるってこと。

$ pdfimages ../hoge.pdf hoge
$ ls
hoge-000.ppm  hoge-001.ppm  hoge-002.ppm  hoge-003.ppm

-fと-lで抽出するページの開始位置と終了位置を指定する出来る。ただし、同じファイル名がある場合は強制的に上書き。

$ pdfimages -f 95 -l 96 ../hoge.pdf hoge

このままだとファイルサイズが大きいのでpngに変換。

$ mogrify -format png hoge-00*
$ ls
hoge-000.ppm  hoge-001.ppm  hoge-002.ppm  hoge-003.ppm
hoge-000.png  hoge-001.png  hoge-002.png  hoge-003.png

出力された画像をチェックする。欲しい画像が無ければ、今度はベクタ画像を取り出しにかかる。ベクタ画像は例えばグラフとか。pdfはinkscapeで編集できる。inkscapeで本文やキャプションなどのいらない部分を削除していく。例えば、figureの(a)等引用するときには不要な記号はfigureと一緒にグループ化されている場合があるので、その場合はグループ化を解除する。また、不透明度の設定はEPSにしたときに上手く働かないようなのでそのような指定になってしまった場合は表現を変える。保存前に「ページ選択をオブジェクトにフィット」して、epsで保存する。

$ inkscape ../hoge.pdf

pdfファイルが大きい場合はpdftk の burst オプションで1つのpdfファイルを1ページごとに分割したほうがいいかもしれない。できたファイルは同様にinkscapeで編集できる。

$ pdftk ../hoge.pdf burst
$ ls
hoge-000.ppm  hoge-001.ppm  hoge-002.ppm  hoge-003.ppm
hoge-000.png  hoge-001.png  hoge-002.png  hoge-003.png
pg_0001.pdf  pg_0002.pdf  pg_0003.pdf  pg_0004.pdf  pg_0005.pdf

分割されたpdfファイルの欲しいページをpdftopsでpsに変換することもできる。pdfからpsに変換するプログラムはpdftopsのほかにpdf2psもある。しかし、pdf2psを使うと色々と余分な処理を行っているようだ。時間がかかる上に、できたファイルサイズが大きくなるし、編集がしにくい。

$ pdftops pg_0002.pdf pg_0002.ps

リファレンス

  1. EPS形式ファイルとその変換 - かってにインパクトファクター
  2. Inkscape で eps をきれいに出力する方法 - akihiko’s tech note
  3. inkscape xml 検索 - Google 検索
  4. inkscape eps 編集 - Google 検索
  5. Inkscape@JP - リファレンス (はじめに >> 外部プログラム)
  6. Inkscape 自由に描く。
  7. pdftk 分割 - Google 検索
  8. pdf(複数ページ) から jpg(単一ページ)を抽出・分割
  9. burst pdftk - Google 検索
  10. pdftk - the pdf toolkit
  11. pdftops|pdf2ps - Google 検索
  12. @IT:PDFファイルをPostScriptファイルに変換するには
  13. pdf2ps - MyTeXpert
  14. eps プレビュー 削除 - Google 検索
  15. epstool プレビュー - Google 検索
  16. eps2jpg
  17. pdf2ps
  18. PostScriptファイルをPDFファイルに変換するには
  19. ps pdf 変換 - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-03-24T15:03:30+09:00
  2. Modified: 2009-03-24T15:03:30+09:00
  3. Generated: 2017-11-16T23:10:19+09:00