追記: こっちを使いましょうJPdfBookmarksを使ってPDFに目次をつけまくろう!!! - 屋根さえあれば
https://github.com/pokutuna/muplin
muplin(むぷりん)とは、"MUりやり Pdf に outLIN をつけるやつ"の略で、
pdfでよくあるなんか目次みたいなのをクリックしたらそのページに飛ぶ系のアレをつけることができる。
細かいことはpokutuna/muplin · GitHubをみてくれたらよいです。
install
$ gem install muplin
usage
$ muplin sample.pdf outline.yaml
outlineファイルの書式
yamlとjsonに対応、{ 'label' => 'section 1', 'page' => 1} みたいなのの配列。
ネストしたらsubsectionになる。
--- - label : a page : 1 - label : b page : 2 - label : c page : 3 - - label : d page : 4 - label : e page : 5 - label : f page : 6 - label : g page : 7 - - label : h page : 8 - - - label : i page : 9
どこが無理やりなのか
- 画像があると壊れたpdfが出るっぽい
gemにしたあと僕のしたかったことが実際全然できない欠陥に気づいた
- 元からついてる目次が内部的には消えてなさそう
同じファイルに上書きでつければつけるほど微妙にサイズがでかくなっていってるのが分かる
prue-rubyでPDFをいじるprawnっていうナイスな感じのやつを使ってるんだけど、なんかイチからPDFを作るためのものっぽい。
templateといってpdfを読み込んで追記する機能があるんだけど画像まみれのpdfを編集するとうまく行かない雰囲気がある。
あと元からあるoutlineを操作するインタフェースがない。無理やりnilをつっこんで消してるのが悪いのかもしれない。
PDFのフォーマットとか勉強する気がなくなったし、今でも画像が無いPDFに目次つけたりするのには使えるのでまあいいかなあと思って公開しました。
知りたい
- prawnでちゃんとした目次の消し方
- PDFを使うのにイカしたgem、hpdfはなんか動かなかった