Hai dato un'occhiata alla libreria CombinePDF?
È una soluzione puramente ruby che consente alcune manipolazioni di PDF, come l'estrazione di pagine, la sovrapposizione di una pagina PDF rispetto ad un'altra, la numerazione delle pagine, la scrittura di testo e tabelle di base, ecc.
Ecco un esempio per stumping un file PDF esistente con un logo. L'esempio legge un file PDF, estrae una pagina da utilizzare come timbro e timbra un altro file PDF.
require 'combine_pdf'
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each {|page| page << company_logo}
pdf.save "content_with_logo.pdf"
È inoltre possibile stampare il testo, pagine numero o l'uso:
require 'combine_pdf'
pdf = CombinePDF.load "content_file.pdf"
pdf.number_pages #adds page numbers. you can add formatting and placement options.
pdf.pages.each {|page| page.textbox "One Way To Stamp"}
#you can a shortcut method to stamp pages
pdf.stamp_pages "Another way to stamp"
#you can use the shortcut method for both text and PDF stamps
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
pdf.stamp_pages company_logo
# you can use write simple tables
pdf.pages[0].write_table headers: ['first name', 'surname'], table_data: [['John', 'Doe'], ['Mr.', 'Smith']]
pdf.save "content_with_logo.pdf"
Non è pensato per operazioni complesse, ma integra la maggior parte delle librerie PDF di authoring e consente di utilizzare modelli PDF invece di scrivere il tutto da zero.
possibile duplicato di [Gemma/libreria di parodia di Ruby PDF (http://stackoverflow.com/questions/320621/ruby-pdf-parsing-gem-library) –