Class: BrandEins::Utils::Merger

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/brandeins/utils/merger.rb

Overview

Testing Prawn for merging pdfs

Instance Method Summary collapse

Instance Method Details

#cliObject



36
37
38
# File 'lib/brandeins/utils/merger.rb', line 36

def cli
  @cli ||= BrandEins::Utils::CliOutput.instance
end

#merge_pdf_files(pdf_file_paths, target_pdf) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/brandeins/utils/merger.rb', line 14

def merge_pdf_files(pdf_file_paths, target_pdf)
  cli.info "Merging pdf files to: #{target_pdf}" do
    Prawn::Document.generate(target_pdf, pdf_options) do |pdf|
      pdf_file_paths.each do |pdf_file|
        if File.exists?(pdf_file)
          pdf_temp_nb_pages = Prawn::Document.new(template: pdf_file).page_count
          (1..pdf_temp_nb_pages).each do |i|
            pdf.start_new_page(template: pdf_file, template_page: i)
          end
        end
      end
    end
  end
end

#pdf_optionsObject



29
30
31
32
33
34
# File 'lib/brandeins/utils/merger.rb', line 29

def pdf_options
  {
    page_size: 'A4',
    skip_page_creation: true
  }
end