lib/docsplit/page_extractor.rb in burisu-docsplit-0.7.8 vs lib/docsplit/page_extractor.rb in burisu-docsplit-0.7.9

- old
+ new

@@ -1,36 +1,31 @@ module Docsplit - # Delegates to **pdftk** in order to create bursted single pages from # a PDF document. class PageExtractor - # Burst a list of pdfs into single pages, as `pdfname_pagenumber.pdf`. def extract(pdfs, opts) extract_options opts [pdfs].flatten.each do |pdf| pdf_name = File.basename(pdf, File.extname(pdf)) - page_path = ESCAPE[File.join(@output, "#{pdf_name}")] + "_%d.pdf" - FileUtils.mkdir_p @output unless File.exists?(@output) - + page_path = ESCAPE[File.join(@output, pdf_name.to_s)] + '_%d.pdf' + FileUtils.mkdir_p @output unless File.exist?(@output) + cmd = if DEPENDENCIES[:pdftailor] # prefer pdftailor, but keep pdftk for backwards compatability - "pdftailor unstitch --output #{page_path} #{ESCAPE[pdf]} 2>&1" - else - "pdftk #{ESCAPE[pdf]} burst output #{page_path} 2>&1" + "pdftailor unstitch --output #{page_path} #{ESCAPE[pdf]} 2>&1" + else + "pdftk #{ESCAPE[pdf]} burst output #{page_path} 2>&1" end result = `#{cmd}`.chomp - FileUtils.rm('doc_data.txt') if File.exists?('doc_data.txt') - raise ExtractionFailed, result if $? != 0 + FileUtils.rm('doc_data.txt') if File.exist?('doc_data.txt') + raise ExtractionFailed, result if $?.exitstatus.nonzero? result end end - private def extract_options(options) @output = options[:output] || '.' end - end - end