Skip to content

Instantly share code, notes, and snippets.

@eclosson
Created January 11, 2013 18:29
Show Gist options
  • Save eclosson/4512859 to your computer and use it in GitHub Desktop.
Save eclosson/4512859 to your computer and use it in GitHub Desktop.
Merging PDFs with Prawn
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
@belgoros
Copy link

belgoros commented Aug 5, 2014

Officially, Prawn dropped template support, so it will not work.
See more about that: prawnpdf/prawn#376

PS. Sorry, didn't see @bhh post :)

@wakproductions
Copy link

👎🏽

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment