Skip to content

Instantly share code, notes, and snippets.

@huydx
Forked from eclosson/pdf_merger.rb
Created September 25, 2013 14:38
Show Gist options
  • Save huydx/6700590 to your computer and use it in GitHub Desktop.
Save huydx/6700590 to your computer and use it in GitHub Desktop.
class PdfMerger
def merge(pdf_paths, destination)
first_pdf_path = pdf_paths.delete_at(0)
Prawn::Document.generate(destination, :template => first_pdf_path) do |pdf|
pdf_paths.each do |pdf_path|
pdf.go_to_page(pdf.page_count)
template_page_count = count_pdf_pages(pdf_path)
(1..template_page_count).each do |template_page_number|
pdf.start_new_page(:template => pdf_path, :template_page => template_page_number)
end
end
end
end
private
def count_pdf_pages(pdf_file_path)
pdf = Prawn::Document.new(:template => pdf_file_path)
pdf.page_count
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment