2013-04-26 3 views
2

Я использую Docsplit разделить pdf на страницы с помощьюRuby + как разделить PDF на отдельные страницы?

Docsplit.extract_pages("my.pdf"). 

Но я хочу, чтобы ограничить страниц 4. Я попытался

Docsplit.extract_pages("my.pdf", :pages => 1..4) 

, который не работает ..

Can кто-нибудь предложит мне, что делать

+0

Параметр ': pages' просто игнорируется, или есть ошибки? –

+0

нет ошибок. Его проигнорируют. Можете ли вы предложить мне любой другой способ, пожалуйста, – Srinivasan

+0

Можете ли вы вставить ссылку gem здесь? – fotanus

ответ

0
  1. установить pdftk в вас машины, если это еще не сделано, и установить свой путь соответственно
  2. удалить сбегает из Lib/docscript/page_extractor.rb: 18 файл следующим образом:

    Pdftk # {ESCAPE [PDF]} взрыв выход # {Выход [page_path]} 2> 1" &

изменение:

pdftk #{pdf} burst output #{page_path} 2>&1" 
  1. по четкости ault, gem игнорирует диапазон страниц, который вы даете, и он создаст один файл PDF на странице. Если вы довольны этим, выходные страницы создаются в той же папке, что и ваш входной файл.

Однако, проще ИМХО решение было бы просто использовать для Pdftk двоичная напрямую, это довольно просто: для извлечения страниц 1-4, вы могли бы использовать этот фрагмент кода:

in_file = 'IN.pdf' 
range = 1..4 
range_s = range.to_s.gsub('..', '-') 
cmd = "pdftk.exe #{in_file} cat #{range_s} output pages#{range_s}.pdf" 
res = `cmd`.chomp 

Это работает, при условии что исполняемый файл pdftk находится в вашем PATH

Смежные вопросы