From 1622f9adee7b0441fb3bcc757fdc653bad0b1272 Mon Sep 17 00:00:00 2001 From: Kenshi Muto Date: Mon, 19 Feb 2018 22:44:01 +0900 Subject: [PATCH] add parameter to modify boundingbox value --- doc/config.yml.sample | 7 ++++++- lib/review/pdfmaker.rb | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/config.yml.sample b/doc/config.yml.sample index 44b2ea763..a43afaf80 100644 --- a/doc/config.yml.sample +++ b/doc/config.yml.sample @@ -314,9 +314,14 @@ pdfmaker: # 渡される引数1=作業用展開ディレクトリ、引数2=呼び出しを実行したディレクトリ # hook_afterdvipdf: null # - # 画像のscale=X.Xという指定を画像拡大縮小率からページ最大幅の相対倍率に変換します。 + # 画像のscale=X.Xという指定を画像拡大縮小率からページ最大幅の相対倍率に変換する # image_scale2width: true # + # PDFやIllustratorファイル(.ai)の画像のBoudingBoxの抽出に指定のボックスを採用する + # cropbox(デフォルト), mediabox, artbox, trimbox, bleedboxから選択する。 + # Illustrator CC以降のIllustratorファイルに対してはmediaboxを指定する必要がある + # bbox: mediabox + # # 奥付を作成するか。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる colophon: true # pdfmaker:階層を使うものはここまで diff --git a/lib/review/pdfmaker.rb b/lib/review/pdfmaker.rb index 0992843c4..f26c4dfbb 100644 --- a/lib/review/pdfmaker.rb +++ b/lib/review/pdfmaker.rb @@ -252,8 +252,13 @@ def copy_images(from, to) Dir.chdir(to) do images = Dir.glob('**/*').find_all { |f| File.file?(f) and f =~ /\.(jpg|jpeg|png|pdf|ai|eps|tif)\z/ } break if images.empty? - system('extractbb', *images) - system_or_raise('ebb', *images) unless system('extractbb', '-m', *images) + if @config['pdfmaker']['bbox'] + system('extractbb', '-B', @config['pdfmaker']['bbox'], *images) + system_or_raise('ebb', '-B', @config['pdfmaker']['bbox'], *images) unless system('extractbb', '-B', @config['pdfmaker']['bbox'], '-m', *images) + else + system('extractbb', *images) + system_or_raise('ebb', *images) unless system('extractbb', '-m', *images) + end end end